[
{
    "branch": "master",
    "index": "0",
    "phase": "pre",
    "playbook": "review.rdoproject.org/config/playbooks/base-minimal/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-10T10:40:38.666628Z",
                    "start": "2026-06-10T10:40:35.800023Z"
                },
                "id": "0a580a2a-0021-dea6-4490-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-10",
                                    "day": "10",
                                    "epoch": "1781088036",
                                    "epoch_int": "1781088036",
                                    "hour": "10",
                                    "iso8601": "2026-06-10T10:40:36Z",
                                    "iso8601_basic": "20260610T104036457980",
                                    "iso8601_basic_short": "20260610T104036",
                                    "iso8601_micro": "2026-06-10T10:40:36.457980Z",
                                    "minute": "40",
                                    "month": "06",
                                    "second": "36",
                                    "time": "10:40:36",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Wednesday",
                                    "weekday_number": "3",
                                    "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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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": "3064867",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-XXXXXXP6TaR2/agent.3064866",
                                    "TERM": "xterm",
                                    "TMP": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/tmp",
                                    "XDG_CACHE_HOME": "/var/cache/dhall",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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.21,
                                    "1m": 1.84,
                                    "5m": 1.36
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 618,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 4914,
                                        "used": 10822
                                    },
                                    "real": {
                                        "free": 618,
                                        "total": 15736,
                                        "used": 15118
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 15736,
                                "ansible_mounts": [
                                    {
                                        "block_available": 16218832,
                                        "block_size": 4096,
                                        "block_total": 25884155,
                                        "block_used": 9665323,
                                        "device": "/dev/vda4",
                                        "fstype": "xfs",
                                        "inode_available": 50354170,
                                        "inode_total": 51801024,
                                        "inode_used": 1446854,
                                        "mount": "/etc/hosts",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 66432335872,
                                        "size_total": 106021498880,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5322840,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2525096,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15271281,
                                        "inode_total": 15728640,
                                        "inode_used": 457359,
                                        "mount": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work",
                                        "options": "rw,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 21802352640,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 16218832,
                                        "block_size": 4096,
                                        "block_total": 25884155,
                                        "block_used": 9665323,
                                        "device": "/dev/vda4",
                                        "fstype": "xfs",
                                        "inode_available": 50354170,
                                        "inode_total": 51801024,
                                        "inode_used": 1446854,
                                        "mount": "/etc/pki/ca-trust/extracted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 66432335872,
                                        "size_total": 106021498880,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5322840,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2525096,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15271281,
                                        "inode_total": 15728640,
                                        "inode_used": 457359,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 21802352640,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5322840,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2525096,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15271281,
                                        "inode_total": 15728640,
                                        "inode_used": 457359,
                                        "mount": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/ansible",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 21802352640,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5322840,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2525096,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15271281,
                                        "inode_total": 15728640,
                                        "inode_used": 457359,
                                        "mount": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/kube",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 21802352640,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5322840,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2525096,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15271281,
                                        "inode_total": 15728640,
                                        "inode_used": 457359,
                                        "mount": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 21802352640,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5322840,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2525096,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15271281,
                                        "inode_total": 15728640,
                                        "inode_used": 457359,
                                        "mount": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/untrusted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 21802352640,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5322840,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2525096,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15271281,
                                        "inode_total": 15728640,
                                        "inode_used": 457359,
                                        "mount": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/ansible/pre_playbook_0",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 21802352640,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5322840,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2525096,
                                        "device": "/dev/topolvm/3df36a9b-6a3e-4b0d-80e7-27b873aae277",
                                        "fstype": "xfs",
                                        "inode_available": 15271281,
                                        "inode_total": 15728640,
                                        "inode_used": 457359,
                                        "mount": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/.ansible",
                                        "options": "rw,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 21802352640,
                                        "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": 34977551,
                                "ansible_user_dir": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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-10T10:40:36.795110Z",
                            "start": "2026-06-10T10:40:35.807551Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-000000000032",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "mode": "0755",
                                    "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "mode": "02755",
                                    "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/logs/zuul-info",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-000000000006",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:37.279388Z",
                            "start": "2026-06-10T10:40:36.804178Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-000000000008",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "715132f1b0acdc2dc8bc85d7274126622f31a5a9",
                            "dest": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "715132f1b0acdc2dc8bc85d7274126622f31a5a9",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/.ansible/tmp/ansible-tmp-1781088037.3364487-53-7565832195521/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "20ffe272d007d851995f4ccacb5e4c17",
                            "mode": "0644",
                            "owner": "1000",
                            "size": 42693,
                            "src": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/.ansible/tmp/ansible-tmp-1781088037.3364487-53-7565832195521/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-000000000006",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:38.359731Z",
                            "start": "2026-06-10T10:40:37.285095Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-00000000000b",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:38.400352Z",
                            "start": "2026-06-10T10:40:38.377328Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-00000000000d",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "0fd/rdoproject.org/0fdf8d81e670451a8fb81f0291b4002f"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-000000000060",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:38.451167Z",
                            "start": "2026-06-10T10:40:38.412988Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-nova05epsilon\nPipeline: github-check\nExecutor: 38.129.56.84\nTriggered by: https://github.com/openstack-k8s-operators/architecture/pull/764\nLog URL (when completed): https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/logs/0fd/rdoproject.org/0fdf8d81e670451a8fb81f0291b4002f/\nEvent ID: a652a470-64b8-11f1-977f-fafbc978e904\n"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-00000000000b",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:38.509352Z",
                            "start": "2026-06-10T10:40:38.458313Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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: np0000069611\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.50\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-00000000000b",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:38.666628Z",
                            "start": "2026-06-10T10:40:38.516149Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-00000000000f",
                        "name": "Print node information"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-10T10:40:49.217477Z",
                    "start": "2026-06-10T10:40:38.677890Z"
                },
                "id": "0a580a2a-0021-dea6-4490-000000000011",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "38.102.83.50"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "fe80::f816:3eff:fe4d:e7a3"
                                ],
                                "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=2b7d3b0e-f5c7-4b13-98bc-96267c9c5cc6"
                                },
                                "ansible_date_time": {
                                    "date": "2026-06-10",
                                    "day": "10",
                                    "epoch": "1781088039",
                                    "epoch_int": "1781088039",
                                    "hour": "06",
                                    "iso8601": "2026-06-10T10:40:39Z",
                                    "iso8601_basic": "20260610T064039008497",
                                    "iso8601_basic_short": "20260610T064039",
                                    "iso8601_micro": "2026-06-10T10:40:39.008497Z",
                                    "minute": "40",
                                    "month": "06",
                                    "second": "39",
                                    "time": "06:40:39",
                                    "tz": "EDT",
                                    "tz_dst": "EDT",
                                    "tz_offset": "-0400",
                                    "weekday": "Wednesday",
                                    "weekday_number": "3",
                                    "weeknumber": "23",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "38.102.83.50",
                                    "alias": "eth0",
                                    "broadcast": "38.102.83.255",
                                    "gateway": "38.102.83.1",
                                    "interface": "eth0",
                                    "macaddress": "fa:16:3e:4d:e7:a3",
                                    "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 54538 22",
                                    "SSH_CONNECTION": "38.129.56.84 54538 38.102.83.50 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.50",
                                        "broadcast": "38.102.83.255",
                                        "netmask": "255.255.255.0",
                                        "network": "38.102.83.0",
                                        "prefix": "24"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "fe80::f816:3eff:fe4d:e7a3",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:4d:e7:a3",
                                    "module": "virtio_net",
                                    "mtu": 1500,
                                    "pciid": "virtio1",
                                    "promisc": false,
                                    "speed": -1,
                                    "timestamping": [],
                                    "type": "ether"
                                },
                                "ansible_fips": false,
                                "ansible_fqdn": "np0000069611.novalocal",
                                "ansible_hostname": "np0000069611",
                                "ansible_interfaces": [
                                    "lo",
                                    "eth0"
                                ],
                                "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.50",
                                        "127.0.0.0/8",
                                        "127.0.0.1"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "fe80::f816:3eff:fe4d:e7a3"
                                    ]
                                },
                                "ansible_lsb": {},
                                "ansible_machine": "x86_64",
                                "ansible_machine_id": "1b9b1cdb27be1dbf151fa8bcfcd97dde",
                                "ansible_nodename": "np0000069611.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=2b7d3b0e-f5c7-4b13-98bc-96267c9c5cc6"
                                },
                                "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": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNO98RyKcfpKnLdbcYQWjjr8dAro8d2Www9Gu5qAHwncbVGH8EdEqmZDe+EEGfg/j6fteGMGZxp1XmX3Zc5d3xg=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAILLXLhamWD9iwZTi2WWCw4Os+RvLTBMjfIPSdagz6tGM",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQCm1x0HGwjcbwHJt2Gwapf2LFezot2uCXbgwySsAgeg/saH8HhqDwk37GRVAK8f1VTWsnacWiwDibDhdNSE+apepm4u5szFKZ1cY5S0JPr1DozHNvRRKTayvg4FAZfiv8wpJUkcVUfoHc/1k65QX0vigtfOaUZJaoT4GHHlDcBEZklrfSGSBsmLb4lEdTHgJMlBerObFoJVHkEM0Lf2qFG5c4IKH4ioJ++veQRpAu31/0ZHULDCwCHG2CL95coaQJl0yuP5FtvUpKEOsu4hlcam/fAbYLKFmS0mvE8/XiKt/jPWxnZE2T2YqQVNZUFCdy68UGs4vHGWEIGt9NdQE6yMNEGfE7Qx5KTAkSkd3+/DjV2BHN/+sX6MvkcIaMAsEsizocS4bbv8qjZI6kXGy5u+1Bi74RvFDn+dvWzZHf8NiMue0rA6bSpPxSQ2+/9o2cJl1tugGKpTxP/Cj5OhmilopzotjYDzA+jsEh3V5aQKVNPzUT5JjrwCMhrCLUPHX1E=",
                                "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-10T10:40:39.133520Z",
                            "start": "2026-06-10T10:40:38.692798Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-000000000013",
                        "name": "Gather network facts"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "start-zuul-console"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:39.166296Z",
                            "start": "2026-06-10T10:40:39.142552Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-000000000095",
                        "name": "start-zuul-console",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/start-zuul-console"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:39.595985Z",
                            "start": "2026-06-10T10:40:39.186042Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-000000000097",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "add-build-sshkey"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:39.642272Z",
                            "start": "2026-06-10T10:40:39.609106Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:39.974699Z",
                            "start": "2026-06-10T10:40:39.664203Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:40.020926Z",
                            "start": "2026-06-10T10:40:39.985099Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.335313",
                            "end": "2026-06-10 10:40:40.835227",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_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-dea6-4490-0000000000c7-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:40:40.499914",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_id_rsa.pub\nThe key fingerprint is:\nSHA256:VStFTaPwU/dZV+qu4hRuUI+faGzRSm+kWQbgI934nk0 zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|        . ..+o+ *|\n|       o + = +.+=|\n|      . = * = ...|\n|       . = * o   |\n|        S * E .  |\n|         * ^ o   |\n|          # * .  |\n|         =.. .   |\n|         ....    |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:VStFTaPwU/dZV+qu4hRuUI+faGzRSm+kWQbgI934nk0 zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|        . ..+o+ *|",
                                "|       o + = +.+=|",
                                "|      . = * = ...|",
                                "|       . = * o   |",
                                "|        S * E .  |",
                                "|         * ^ o   |",
                                "|          # * .  |",
                                "|         =.. .   |",
                                "|         ....    |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0a580a2a-0021-dea6-4490-0000000000c7-0-controller"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:40.899065Z",
                            "start": "2026-06-10T10:40:40.059102Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-0000000000c7",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:40.943190Z",
                            "start": "2026-06-10T10:40:40.903693Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:40.998005Z",
                            "start": "2026-06-10T10:40:40.963008Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCiuJo548telK7jKbs38m/UHCVt1MaHMC2B3zKA4W+Iws490TnH9Gun0bzp+zQUQrqXZ/M01yh4yr12Df12j4Hp46WfAGNtmpTV9Liei6DELnCzzOh+7wljnUmqDd9qzK9e7RXaXbeWow+Ek7gtgXgsGx00fppw+m+Pl46eu+PqUkkcX3Yd1zm567ixvDyaKyg1ywqXXbmSskYDaGM2+8xhUdW5ADvY1wzyx9Q3xECHGXFEUzbx7nc2nGFm8ClPVC3H07jCcFYpaDYYB9RaN3FB4iBINkjyyFXyrh25gXZsBX8n3E27l3ocXEv6GZDwzdrCbZnXUKwO3ojANt0oNax073aVWm75xodVmfIbr0jxBrcUKxW3KxEp96nGkPUvL0t6ISLQxhrWULQOn3+r+XJ+UJb0RJeqXhuC3CCv9AfqhpL6seIKi8JK886I8Of89064D1VKBAcK69GYIIuOqZr4gRnE0eLX7mcJbowouMM3JbkIQMLi9yA+jqDsWGCGtH0= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCiuJo548telK7jKbs38m/UHCVt1MaHMC2B3zKA4W+Iws490TnH9Gun0bzp+zQUQrqXZ/M01yh4yr12Df12j4Hp46WfAGNtmpTV9Liei6DELnCzzOh+7wljnUmqDd9qzK9e7RXaXbeWow+Ek7gtgXgsGx00fppw+m+Pl46eu+PqUkkcX3Yd1zm567ixvDyaKyg1ywqXXbmSskYDaGM2+8xhUdW5ADvY1wzyx9Q3xECHGXFEUzbx7nc2nGFm8ClPVC3H07jCcFYpaDYYB9RaN3FB4iBINkjyyFXyrh25gXZsBX8n3E27l3ocXEv6GZDwzdrCbZnXUKwO3ojANt0oNax073aVWm75xodVmfIbr0jxBrcUKxW3KxEp96nGkPUvL0t6ISLQxhrWULQOn3+r+XJ+UJb0RJeqXhuC3CCv9AfqhpL6seIKi8JK886I8Of89064D1VKBAcK69GYIIuOqZr4gRnE0eLX7mcJbowouMM3JbkIQMLi9yA+jqDsWGCGtH0= 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-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:41.472011Z",
                            "start": "2026-06-10T10:40:41.003384Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:41.750032Z",
                            "start": "2026-06-10T10:40:41.479171Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-0000000000ef",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "0374252fab42257d7ed8489adae8297877a03add",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "0fdf8d81e670451a8fb81f0291b4002f_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "0374252fab42257d7ed8489adae8297877a03add",
                                    "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-1781088041.8525465-128-48750982449461/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "900354d06336ad0355925dca9a3c7389",
                            "mode": "0600",
                            "owner": "zuul",
                            "secontext": "unconfined_u:object_r:ssh_home_t:s0",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781088041.8525465-128-48750982449461/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:42.532291Z",
                            "start": "2026-06-10T10:40:41.756511Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-0000000000f0",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "8e8d8418f11ae4f1660c068c7b49b2df55e7918f",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "0fdf8d81e670451a8fb81f0291b4002f_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "8e8d8418f11ae4f1660c068c7b49b2df55e7918f",
                                    "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-1781088042.6303596-138-89751594078046/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4d53f22af0edb0c15992d58e811066b4",
                            "mode": "0644",
                            "owner": "zuul",
                            "secontext": "unconfined_u:object_r:ssh_home_t:s0",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781088042.6303596-138-89751594078046/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:43.306591Z",
                            "start": "2026-06-10T10:40:42.541047Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:43.350519Z",
                            "start": "2026-06-10T10:40:43.313688Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-0000000000ce",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_0/review.rdoproject.org/config/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:43.822441Z",
                            "start": "2026-06-10T10:40:43.359588Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-0000000000d0",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_id_rsa"
                            ],
                            "delta": "0:00:00.017238",
                            "end": "2026-06-10 10:40:44.177957",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_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-dea6-4490-0000000000d6-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:40:44.160719",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/0fdf8d81e670451a8fb81f0291b4002f_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0a580a2a-0021-dea6-4490-0000000000d6-0-controller"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:44.235186Z",
                            "start": "2026-06-10T10:40:43.836807Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-0000000000d6",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:44.642843Z",
                            "start": "2026-06-10T10:40:44.242128Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-0000000000af",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:44.697350Z",
                            "start": "2026-06-10T10:40:44.649616Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-10T10:40:44.748394Z",
                            "start": "2026-06-10T10:40:44.714381Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-000000000018",
                        "name": ""
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_info_dir": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs/zuul-info"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:44.825274Z",
                            "start": "2026-06-10T10:40:44.784730Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-00000000016d",
                        "name": "Define zuul_info_dir fact"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs/zuul-info"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/logs/zuul-info",
                            "size": 28,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:45.121331Z",
                            "start": "2026-06-10T10:40:44.829649Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-00000000016e",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "38.102.83.50"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "fe80::f816:3eff:fe4d:e7a3"
                                ],
                                "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=2b7d3b0e-f5c7-4b13-98bc-96267c9c5cc6"
                                },
                                "ansible_date_time": {
                                    "date": "2026-06-10",
                                    "day": "10",
                                    "epoch": "1781088045",
                                    "epoch_int": "1781088045",
                                    "hour": "06",
                                    "iso8601": "2026-06-10T10:40:45Z",
                                    "iso8601_basic": "20260610T064045811722",
                                    "iso8601_basic_short": "20260610T064045",
                                    "iso8601_micro": "2026-06-10T10:40:45.811722Z",
                                    "minute": "40",
                                    "month": "06",
                                    "second": "45",
                                    "time": "06:40:45",
                                    "tz": "EDT",
                                    "tz_dst": "EDT",
                                    "tz_offset": "-0400",
                                    "weekday": "Wednesday",
                                    "weekday_number": "3",
                                    "weeknumber": "23",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "38.102.83.50",
                                    "alias": "eth0",
                                    "broadcast": "38.102.83.255",
                                    "gateway": "38.102.83.1",
                                    "interface": "eth0",
                                    "macaddress": "fa:16:3e:4d:e7:a3",
                                    "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-10-10-39-57-00"
                                        ],
                                        "vda1": [
                                            "2b7d3b0e-f5c7-4b13-98bc-96267c9c5cc6"
                                        ]
                                    }
                                },
                                "ansible_devices": {
                                    "sr0": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [
                                                "ata-QEMU_DVD-ROM_QM00001"
                                            ],
                                            "labels": [
                                                "config-2"
                                            ],
                                            "masters": [],
                                            "uuids": [
                                                "2026-06-10-10-39-57-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": [
                                                        "2b7d3b0e-f5c7-4b13-98bc-96267c9c5cc6"
                                                    ]
                                                },
                                                "sectors": "167770079",
                                                "sectorsize": 512,
                                                "size": "80.00 GB",
                                                "start": "2048",
                                                "uuid": "2b7d3b0e-f5c7-4b13-98bc-96267c9c5cc6"
                                            }
                                        },
                                        "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 54538 22",
                                    "SSH_CONNECTION": "38.129.56.84 54538 38.102.83.50 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.50",
                                        "broadcast": "38.102.83.255",
                                        "netmask": "255.255.255.0",
                                        "network": "38.102.83.0",
                                        "prefix": "24"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "fe80::f816:3eff:fe4d:e7a3",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:4d:e7:a3",
                                    "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": "np0000069611.novalocal",
                                "ansible_hostname": "np0000069611",
                                "ansible_hostnqn": "nqn.2014-08.org.nvmexpress:uuid:d5ca8177-6508-4eba-83e3-4c1e44e5f522",
                                "ansible_interfaces": [
                                    "lo",
                                    "eth0"
                                ],
                                "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.05,
                                    "1m": 0.51,
                                    "5m": 0.15
                                },
                                "ansible_local": {},
                                "ansible_locally_reachable_ips": {
                                    "ipv4": [
                                        "38.102.83.50",
                                        "127.0.0.0/8",
                                        "127.0.0.1"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "fe80::f816:3eff:fe4d:e7a3"
                                    ]
                                },
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_machine_id": "1b9b1cdb27be1dbf151fa8bcfcd97dde",
                                "ansible_memfree_mb": 7103,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 7316,
                                        "used": 363
                                    },
                                    "real": {
                                        "free": 7103,
                                        "total": 7679,
                                        "used": 576
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 7679,
                                "ansible_mounts": [
                                    {
                                        "block_available": 20293472,
                                        "block_size": 4096,
                                        "block_total": 20954875,
                                        "block_used": 661403,
                                        "device": "/dev/vda1",
                                        "fstype": "xfs",
                                        "inode_available": 41888145,
                                        "inode_total": 41942512,
                                        "inode_used": 54367,
                                        "mount": "/",
                                        "options": "rw,seclabel,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota",
                                        "size_available": 83122061312,
                                        "size_total": 85831168000,
                                        "uuid": "2b7d3b0e-f5c7-4b13-98bc-96267c9c5cc6"
                                    }
                                ],
                                "ansible_nodename": "np0000069611.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=2b7d3b0e-f5c7-4b13-98bc-96267c9c5cc6"
                                },
                                "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": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNO98RyKcfpKnLdbcYQWjjr8dAro8d2Www9Gu5qAHwncbVGH8EdEqmZDe+EEGfg/j6fteGMGZxp1XmX3Zc5d3xg=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAILLXLhamWD9iwZTi2WWCw4Os+RvLTBMjfIPSdagz6tGM",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQCm1x0HGwjcbwHJt2Gwapf2LFezot2uCXbgwySsAgeg/saH8HhqDwk37GRVAK8f1VTWsnacWiwDibDhdNSE+apepm4u5szFKZ1cY5S0JPr1DozHNvRRKTayvg4FAZfiv8wpJUkcVUfoHc/1k65QX0vigtfOaUZJaoT4GHHlDcBEZklrfSGSBsmLb4lEdTHgJMlBerObFoJVHkEM0Lf2qFG5c4IKH4ioJ++veQRpAu31/0ZHULDCwCHG2CL95coaQJl0yuP5FtvUpKEOsu4hlcam/fAbYLKFmS0mvE8/XiKt/jPWxnZE2T2YqQVNZUFCdy68UGs4vHGWEIGt9NdQE6yMNEGfE7Qx5KTAkSkd3+/DjV2BHN/+sX6MvkcIaMAsEsizocS4bbv8qjZI6kXGy5u+1Bi74RvFDn+dvWzZHf8NiMue0rA6bSpPxSQ2+/9o2cJl1tugGKpTxP/Cj5OhmilopzotjYDzA+jsEh3V5aQKVNPzUT5JjrwCMhrCLUPHX1E=",
                                "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": 40,
                                "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-dea6-4490-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:45.890054Z",
                            "start": "2026-06-10T10:40:45.131116Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:45.994014Z",
                            "start": "2026-06-10T10:40:45.898610Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-000000000170",
                        "name": "Sanitize hostname"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "template",
                            "changed": true,
                            "checksum": "ec6386728aa882e4062612a7998e1ef4a915312e",
                            "dest": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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": "ec6386728aa882e4062612a7998e1ef4a915312e",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/.ansible/tmp/ansible-tmp-1781088046.0509686-204-85052457930585/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "9fea7c459ec2a6441e532c175df7bc61",
                            "mode": "0644",
                            "owner": "1000",
                            "size": 14847,
                            "src": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/.ansible/tmp/ansible-tmp-1781088046.0509686-204-85052457930585/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:46.610605Z",
                            "start": "2026-06-10T10:40:46.004589Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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         953323   398   952925    1% /dev\ntmpfs            983030     2   983028    1% /dev/shm\ntmpfs            819200   594   818606    1% /run\n/dev/vda1      41942512 54367 41888145    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  2584     79272   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:4d:e7:a3 brd ff:ff:ff:ff:ff:ff\n    altname enp0s3\n    altname ens3\n    inet 38.102.83.50/24 brd 38.102.83.255 scope global dynamic noprefixroute eth0\n       valid_lft 43167sec preferred_lft 43167sec\n    inet6 fe80::f816:3eff:fe4d:e7a3/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.50 metric 100 \n38.102.83.0/24 dev eth0 proto kernel scope link src 38.102.83.50 metric 100 \n169.254.169.254 via 38.102.83.126 dev eth0 proto dhcp src 38.102.83.50 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: 2800.000\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: 5600.00\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: 2800.000\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: 5600.00\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: 2800.000\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: 5600.00\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: 2800.000\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: 5600.00\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: 2800.000\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: 5600.00\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: 2800.000\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: 5600.00\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: 2800.000\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: 5600.00\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: 2800.000\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: 5600.00\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 np0000069611.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-dea6-4490-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:47.073451Z",
                            "start": "2026-06-10T10:40:46.619477Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-000000000173",
                        "name": "Collect information about zuul worker"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "template",
                            "changed": true,
                            "checksum": "d5ec0f8af51c5184b4aa6789591a900e4cc51ca7",
                            "dest": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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": "d5ec0f8af51c5184b4aa6789591a900e4cc51ca7",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/.ansible/tmp/ansible-tmp-1781088047.1274512-227-73812796681429/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "2a4d08f7147a92120aa580bbd9e5c5fd",
                            "mode": "0644",
                            "owner": "1000",
                            "size": 2244,
                            "src": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/.ansible/tmp/ansible-tmp-1781088047.1274512-227-73812796681429/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-dea6-4490-00000000016b",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:47.616835Z",
                            "start": "2026-06-10T10:40:47.080512Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-10T10:40:47.651184Z",
                            "start": "2026-06-10T10:40:47.625902Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-10T10:40:47.682641Z",
                            "start": "2026-06-10T10:40:47.656804Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-000000000021",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:48.416636Z",
                            "start": "2026-06-10T10:40:47.688008Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-dea6-4490-000000000021",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:49.217477Z",
                            "start": "2026-06-10T10:40:48.424053Z"
                        },
                        "id": "0a580a2a-0021-dea6-4490-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-10T10:41:05.800590Z",
                    "start": "2026-06-10T10:40:50.155512Z"
                },
                "id": "0a580a2a-0021-611b-6d66-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-611b-6d66-000000000006",
                        "name": "mirror-info-fork",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_2/review.rdoproject.org/rdo-jobs/roles/mirror-info-fork"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:50.246337Z",
                            "start": "2026-06-10T10:40:50.166475Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-611b-6d66-000000000006",
                        "name": "mirror-info-fork",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_2/review.rdoproject.org/rdo-jobs/roles/mirror-info-fork"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:50.730570Z",
                            "start": "2026-06-10T10:40:50.250594Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-1781088050.8215578-8-36512565588906/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-1781088050.8215578-8-36512565588906/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-611b-6d66-000000000006",
                        "name": "mirror-info-fork",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_2/review.rdoproject.org/rdo-jobs/roles/mirror-info-fork"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:51.888656Z",
                            "start": "2026-06-10T10:40:50.754734Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-611b-6d66-00000000000c",
                        "name": "add-authorized-keys",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-authorized-keys"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:40:58.951508Z",
                            "start": "2026-06-10T10:40:51.898021Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-10T10:40:59.533734Z",
                            "start": "2026-06-10T10:40:58.970793Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-10T10:40:59.852016Z",
                            "start": "2026-06-10T10:40:59.540922Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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": "tmpckh77g44",
                                    "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-1781088059.9430258-48-55044982977952/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-1781088059.9430258-48-55044982977952/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:00.616441Z",
                            "start": "2026-06-10T10:40:59.862487Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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": "tmp5c7e8dj1",
                                    "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-1781088060.6994586-57-98928291441340/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-1781088060.6994586-57-98928291441340/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:01.398212Z",
                            "start": "2026-06-10T10:41:00.621057Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-10T10:41:01.479373Z",
                            "start": "2026-06-10T10:41:01.437482Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-10T10:41:01.525406Z",
                            "start": "2026-06-10T10:41:01.488762Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-10T10:41:01.564510Z",
                            "start": "2026-06-10T10:41:01.535967Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-000000000017",
                        "name": "Create nodepool primary file"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "9dc2039529c0f35ddba9b5f747501467f5135778",
                            "dest": "/etc/nodepool/node_private",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "tmp2hncag35",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "9dc2039529c0f35ddba9b5f747501467f5135778",
                                    "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-1781088061.650887-69-159805292791534/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "7c8008a1892959972c8a435f9838187f",
                            "mode": "0644",
                            "owner": "root",
                            "secontext": "system_u:object_r:etc_t:s0",
                            "size": 12,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781088061.650887-69-159805292791534/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:02.389317Z",
                            "start": "2026-06-10T10:41:01.577100Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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.004084",
                                    "end": "2026-06-10 10:41:02.827962",
                                    "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-10 10:41:02.823878",
                                    "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.006719",
                                    "end": "2026-06-10 10:41:03.034753",
                                    "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-10 10:41:03.028034",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:03.075235Z",
                            "start": "2026-06-10T10:41:02.398078Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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": "tmpo7u8ryfi",
                                    "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-1781088063.16611-81-189226729702107/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-1781088063.16611-81-189226729702107/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:03.870278Z",
                            "start": "2026-06-10T10:41:03.082574Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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.009744",
                            "end": "2026-06-10 10:41:04.212484",
                            "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-611b-6d66-00000000001b-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:41:04.202740",
                            "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-611b-6d66-00000000001b-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:04.419869Z",
                            "start": "2026-06-10T10:41:03.906391Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-00000000001b",
                        "name": "Validate sudoers config after edits"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": false,
                            "cmd": "env\n",
                            "delta": "0:00:00.008297",
                            "end": "2026-06-10 10:41:04.711761",
                            "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-611b-6d66-00000000001c-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:41:04.703464",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "SHELL=/bin/bash\nZUUL_PROJECT=openstack-k8s-operators/architecture\nZUUL_SHORT_PROJECT_NAME=architecture\nZUUL_CHANGES=openstack-k8s-operators/ci-framework:main:refs/changes/73/3773/b078db7b2836cd7c168de9d1a4db38983af17642^openstack-k8s-operators/architecture:main:refs/changes/64/764/0b0dfbbb809e5b00d179fed9d86e24f00ac11c13\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 54538 38.102.83.50 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=3773,b078db7b2836cd7c168de9d1a4db38983af17642 764,0b0dfbbb809e5b00d179fed9d86e24f00ac11c13\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=0b0dfbbb809e5b00d179fed9d86e24f00ac11c13\nXDG_SESSION_ID=1\nZUUL_BRANCH=main\nXDG_RUNTIME_DIR=/run/user/1000\nSSH_CLIENT=38.129.56.84 54538 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=764\nDBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus\nZUUL_UUID=0fdf8d81e670451a8fb81f0291b4002f\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/ci-framework:main:refs/changes/73/3773/b078db7b2836cd7c168de9d1a4db38983af17642^openstack-k8s-operators/architecture:main:refs/changes/64/764/0b0dfbbb809e5b00d179fed9d86e24f00ac11c13",
                                "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 54538 38.102.83.50 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=3773,b078db7b2836cd7c168de9d1a4db38983af17642 764,0b0dfbbb809e5b00d179fed9d86e24f00ac11c13",
                                "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=0b0dfbbb809e5b00d179fed9d86e24f00ac11c13",
                                "XDG_SESSION_ID=1",
                                "ZUUL_BRANCH=main",
                                "XDG_RUNTIME_DIR=/run/user/1000",
                                "SSH_CLIENT=38.129.56.84 54538 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=764",
                                "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus",
                                "ZUUL_UUID=0fdf8d81e670451a8fb81f0291b4002f",
                                "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-611b-6d66-00000000001c-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:04.954388Z",
                            "start": "2026-06-10T10:41:04.436232Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-10T10:41:04.988508Z",
                            "start": "2026-06-10T10:41:04.961752Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-10T10:41:05.536409Z",
                            "start": "2026-06-10T10:41:05.027448Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-10T10:41:05.800590Z",
                            "start": "2026-06-10T10:41:05.545249Z"
                        },
                        "id": "0a580a2a-0021-611b-6d66-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-10T10:43:01.444064Z",
                    "start": "2026-06-10T10:41:06.624474Z"
                },
                "id": "0a580a2a-0021-c2fe-26bf-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-10T10:41:06.657803Z",
                            "start": "2026-06-10T10:41:06.637969Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-c2fe-26bf-000000000035",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:07.124124Z",
                            "start": "2026-06-10T10:41:06.674557Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-c2fe-26bf-000000000035",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:09.267941Z",
                            "start": "2026-06-10T10:41:07.133445Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-10T10:41:09.658408Z",
                            "start": "2026-06-10T10:41:09.276773Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-3.19-5.el9.x86_64",
                                "Installed: fuse3-libs-3.10.2-9.el9.x86_64",
                                "Installed: criu-libs-3.19-5.el9.x86_64",
                                "Installed: crun-1.27-2.el9.x86_64",
                                "Installed: netavark-2:1.17.2-1.el9.x86_64",
                                "Installed: podman-6:5.8.2-1.el9.x86_64",
                                "Installed: conmon-3:2.2.1-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: slirp4netns-1.3.3-1.el9.x86_64",
                                "Installed: libnet-1.2-7.el9.x86_64",
                                "Installed: nftables-1:1.0.9-7.el9.x86_64",
                                "Installed: passt-0^20251210.gd04c480-3.el9.x86_64",
                                "Installed: fuse-overlayfs-1.16-2.el9.x86_64",
                                "Installed: passt-selinux-0^20251210.gd04c480-3.el9.noarch",
                                "Installed: fuse3-3.10.2-9.el9.x86_64",
                                "Installed: aardvark-dns-2:1.17.0-1.el9.x86_64"
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:53.692191Z",
                            "start": "2026-06-10T10:41:09.666565Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-000000000006",
                        "name": "Install required packages"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "pip",
                                "--version"
                            ],
                            "delta": "0:00:00.385159",
                            "end": "2026-06-10 10:41:54.484216",
                            "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-c2fe-26bf-000000000007-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:41:54.099057",
                            "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-c2fe-26bf-000000000007-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:41:54.756919Z",
                            "start": "2026-06-10T10:41:53.736241Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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:51 ago on Wed 10 Jun 2026 10:41:12 AM 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 263 kB/s |  27 kB     00:00    \n(2/6): python3-jmespath-1.0.1-1.el9.noarch.rpm  445 kB/s |  48 kB     00:00    \n(3/6): python3-libvirt-11.10.0-2.el9.x86_64.rpm 7.7 MB/s | 347 kB     00:00    \n(4/6): python3-lxml-4.6.5-3.el9.x86_64.rpm       25 MB/s | 1.2 MB     00:00    \n(5/6): libvirt-libs-11.10.0-13.el9.x86_64.rpm    25 MB/s | 5.5 MB     00:00    \n(6/6): python3-netaddr-0.10.1-3.el9.noarch.rpm   20 MB/s | 1.5 MB     00:00    \n--------------------------------------------------------------------------------\nTotal                                            15 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 resolvelib<1.1.0,>=0.5.3\n  Downloading resolvelib-1.0.1-py2.py3-none-any.whl (17 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)\nCollecting importlib-resources<5.1,>=5.0\n  Downloading importlib_resources-5.0.7-py3-none-any.whl (24 kB)\nCollecting cryptography\n  Downloading cryptography-48.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.7 MB)\nCollecting jinja2>=3.0.0\n  Downloading jinja2-3.1.6-py3-none-any.whl (134 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 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)\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)\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)\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)\nCollecting requests-oauthlib\n  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)\nCollecting durationpy>=0.7\n  Downloading durationpy-0.10-py3-none-any.whl (3.9 kB)\nCollecting typing-extensions\n  Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)\nCollecting referencing\n  Downloading referencing-0.36.2-py3-none-any.whl (26 kB)\nCollecting iso8601>=0.1.11\n  Downloading iso8601-2.1.0-py3-none-any.whl (7.5 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)\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 os-service-types>=1.7.0\n  Downloading os_service_types-1.7.0-py2.py3-none-any.whl (24 kB)\nCollecting dogpile.cache>=0.6.5\n  Downloading dogpile_cache-1.4.1-py3-none-any.whl (63 kB)\nCollecting keystoneauth1>=3.18.0\n  Downloading keystoneauth1-5.11.1-py3-none-any.whl (344 kB)\nCollecting requestsexceptions>=1.2.0\n  Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl (3.8 kB)\nCollecting decorator>=4.4.1\n  Downloading decorator-5.3.1-py3-none-any.whl (10 kB)\nCollecting platformdirs>=3\n  Downloading platformdirs-4.4.0-py3-none-any.whl (18 kB)\nCollecting pbr!=2.1.0,>=2.0.0\n  Downloading pbr-7.0.3-py2.py3-none-any.whl (131 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: 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: 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: 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-48.0.1-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.2-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.2-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 (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.0-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 93.4 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 123.1 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 104.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 80.9 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 143.4 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 109.8 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 77.6 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 49.3 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.2-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 136.1 MB/s  0:00:00\nDownloading distlib-0.4.2-py2.py3-none-any.whl (470 kB)\nDownloading filelock-3.19.1-py3-none-any.whl (15 kB)\nDownloading python_discovery-1.4.0-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-48.0.1-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 134.4 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 157.3 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-48.0.1 decorator-5.3.1 distlib-0.4.2 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.0 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.2 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=b078db7b\n+ [[ '' == \\b\\0\\7\\8\\d\\b\\7\\b ]]\n+ sed -ri 's/^(version: [0-9.]+).*/\\1+b078db7b/' /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-2906084i8mg1l/tmp5ojez1_v/ansible-podman-collectionsynm0esec'...\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-2906084i8mg1l/tmp5ojez1_v/community.generalomnvntle'...\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-2906084i8mg1l/tmp5ojez1_v/ansible.posixphdrpzv8'...\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-2906084i8mg1l/tmp5ojez1_v/ansible.utils_zstueu6'...\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-2906084i8mg1l/tmp5ojez1_v/community.libvirt_9cn56cw'...\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-2906084i8mg1l/tmp5ojez1_v/community.cryptof__gmfcz'...\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-2906084i8mg1l/tmp5ojez1_v/kubernetes.core7gd9eq6r'...\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-2906084i8mg1l/tmp5ojez1_v/ansible.netcommonhz3mzmqr'...\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-2906084i8mg1l/tmp5ojez1_v/ansible-config_templatekv0b_wry'...\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-2906084i8mg1l/tmp5ojez1_v/junipernetworks.junosn5lmtfto'...\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-2906084i8mg1l/tmp5ojez1_v/cisco.ioswre21xq4'...\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-2906084i8mg1l/tmp5ojez1_v/mellanox.onyx6e587dq5'...\nAlready on 'master'\nYour branch is up to date with 'origin/master'.\nCloning into '/home/zuul/.ansible/tmp/ansible-local-2906084i8mg1l/tmp5ojez1_v/community.okds7t_1n8u'...\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-2906084i8mg1l/tmp5ojez1_v/ovirt-ansible-collection6ti3avcc'...\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+b078db7b' to '/home/zuul/.ansible/collections/ansible_collections/cifmw/general'\nCreated collection for cifmw.general:1.0.0+b078db7b at /home/zuul/.ansible/collections/ansible_collections/cifmw/general\ncifmw.general:1.0.0+b078db7b 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+ [[ '' == \\b\\0\\7\\8\\d\\b\\7\\b ]]\n+ sed -ri 's/^(version: [0-9.]+)+b078db7b/\\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:51 ago on Wed 10 Jun 2026 10:41:12 AM 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 263 kB/s |  27 kB     00:00    ",
                                "(2/6): python3-jmespath-1.0.1-1.el9.noarch.rpm  445 kB/s |  48 kB     00:00    ",
                                "(3/6): python3-libvirt-11.10.0-2.el9.x86_64.rpm 7.7 MB/s | 347 kB     00:00    ",
                                "(4/6): python3-lxml-4.6.5-3.el9.x86_64.rpm       25 MB/s | 1.2 MB     00:00    ",
                                "(5/6): libvirt-libs-11.10.0-13.el9.x86_64.rpm    25 MB/s | 5.5 MB     00:00    ",
                                "(6/6): python3-netaddr-0.10.1-3.el9.noarch.rpm   20 MB/s | 1.5 MB     00:00    ",
                                "--------------------------------------------------------------------------------",
                                "Total                                            15 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 resolvelib<1.1.0,>=0.5.3",
                                "  Downloading resolvelib-1.0.1-py2.py3-none-any.whl (17 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)",
                                "Collecting importlib-resources<5.1,>=5.0",
                                "  Downloading importlib_resources-5.0.7-py3-none-any.whl (24 kB)",
                                "Collecting cryptography",
                                "  Downloading cryptography-48.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.7 MB)",
                                "Collecting jinja2>=3.0.0",
                                "  Downloading jinja2-3.1.6-py3-none-any.whl (134 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 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)",
                                "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)",
                                "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)",
                                "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)",
                                "Collecting requests-oauthlib",
                                "  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)",
                                "Collecting durationpy>=0.7",
                                "  Downloading durationpy-0.10-py3-none-any.whl (3.9 kB)",
                                "Collecting typing-extensions",
                                "  Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)",
                                "Collecting referencing",
                                "  Downloading referencing-0.36.2-py3-none-any.whl (26 kB)",
                                "Collecting iso8601>=0.1.11",
                                "  Downloading iso8601-2.1.0-py3-none-any.whl (7.5 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)",
                                "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 os-service-types>=1.7.0",
                                "  Downloading os_service_types-1.7.0-py2.py3-none-any.whl (24 kB)",
                                "Collecting dogpile.cache>=0.6.5",
                                "  Downloading dogpile_cache-1.4.1-py3-none-any.whl (63 kB)",
                                "Collecting keystoneauth1>=3.18.0",
                                "  Downloading keystoneauth1-5.11.1-py3-none-any.whl (344 kB)",
                                "Collecting requestsexceptions>=1.2.0",
                                "  Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl (3.8 kB)",
                                "Collecting decorator>=4.4.1",
                                "  Downloading decorator-5.3.1-py3-none-any.whl (10 kB)",
                                "Collecting platformdirs>=3",
                                "  Downloading platformdirs-4.4.0-py3-none-any.whl (18 kB)",
                                "Collecting pbr!=2.1.0,>=2.0.0",
                                "  Downloading pbr-7.0.3-py2.py3-none-any.whl (131 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: 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: 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: 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-48.0.1-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.2-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.2-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 (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.0-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 93.4 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 123.1 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 104.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 80.9 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 143.4 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 109.8 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 77.6 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 49.3 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.2-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 136.1 MB/s  0:00:00",
                                "Downloading distlib-0.4.2-py2.py3-none-any.whl (470 kB)",
                                "Downloading filelock-3.19.1-py3-none-any.whl (15 kB)",
                                "Downloading python_discovery-1.4.0-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-48.0.1-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 134.4 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 157.3 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-48.0.1 decorator-5.3.1 distlib-0.4.2 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.0 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.2 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=b078db7b",
                                "+ [[ '' == \\b\\0\\7\\8\\d\\b\\7\\b ]]",
                                "+ sed -ri 's/^(version: [0-9.]+).*/\\1+b078db7b/' /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-2906084i8mg1l/tmp5ojez1_v/ansible-podman-collectionsynm0esec'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/community.generalomnvntle'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/ansible.posixphdrpzv8'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/ansible.utils_zstueu6'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/community.libvirt_9cn56cw'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/community.cryptof__gmfcz'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/kubernetes.core7gd9eq6r'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/ansible.netcommonhz3mzmqr'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/ansible-config_templatekv0b_wry'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/junipernetworks.junosn5lmtfto'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/cisco.ioswre21xq4'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/mellanox.onyx6e587dq5'...",
                                "Already on 'master'",
                                "Your branch is up to date with 'origin/master'.",
                                "Cloning into '/home/zuul/.ansible/tmp/ansible-local-2906084i8mg1l/tmp5ojez1_v/community.okds7t_1n8u'...",
                                "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-2906084i8mg1l/tmp5ojez1_v/ovirt-ansible-collection6ti3avcc'...",
                                "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+b078db7b' to '/home/zuul/.ansible/collections/ansible_collections/cifmw/general'",
                                "Created collection for cifmw.general:1.0.0+b078db7b at /home/zuul/.ansible/collections/ansible_collections/cifmw/general",
                                "cifmw.general:1.0.0+b078db7b 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",
                                "+ [[ '' == \\b\\0\\7\\8\\d\\b\\7\\b ]]",
                                "+ sed -ri 's/^(version: [0-9.]+)+b078db7b/\\1/' /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/galaxy.yml"
                            ],
                            "target": "setup_molecule",
                            "targets": null
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:43:01.283827Z",
                            "start": "2026-06-10T10:41:54.764237Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-10T10:43:01.338362Z",
                            "start": "2026-06-10T10:43:01.300459Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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": [
                                            "ci-framework"
                                        ]
                                    },
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "branch": "main",
                                        "change": "3773",
                                        "change_message": "[multiple] nova05epsilon: adjust Ceph for BM SNO DCN cases\n\n1.  Adjust ceph.yml post_stage_run hook for DCN conventions\r\n\r\n    The ceph.yml post_stage_run hook (via cifmw_ceph_client role) writes Ceph config files to  \r\n    cifmw_ceph_client_fetch_dir (default /tmp/). This template reads those files and provides them as base64-\r\n    encoded values under data.ceph_conf (DCN convention).\r\n\r\n2.  Allow overriding ssh and storage_mgmt\r\n    \r\n    To allow BM SNO with ceph using custom ceph CIDR values,\r\n    make ssh_network_range and storage_mgmt_network_range overridable via\r\n    cifmw_ceph_ssh_network_range and cifmw_ceph_storage_mgmt_network_range.\r\n    Both are set in set_fact which clobbers extra vars, so we use the\r\n    cifmw_ indirection with default() to preserve original defaults.\r\n    \r\n    NOTE: storage_network_range also needs this treatment.\r\n    It use to be commented out in set_fact, and this change needs\r\n    extra testing with Ceph ci jobs perhaps.\r\n\r\n    Also gather network facts for IP-to-host mapping. \r\n\r\n3. Add a hook for Swift and Ceph RWG on SNO                                                                                                                                                                  \r\n\r\n    On SNO with a single EDPM compute (single-host CephHCI), the Ceph\r\n    ingress service (haproxy/keepalived) is not deployed because the\r\n    ceph_rgw.yml.j2 spec template only creates it for multi-host clusters.\r\n\r\n    Add a hook to correct the Keystone Swift endpoint for this case.\r\n\r\n    The proper fix belongs in cifmw_cephadm/tasks/configure_object.yml\r\n    which should detect whether ingress is deployed and choose VIP:8080\r\n    vs host_ip:8082 accordingly.\r\n\r\nJira: [OSPRH-27641](https://redhat.atlassian.net/browse/OSPRH-27641)\r\nGenerated-by: claude-4.6-opus-high",
                                        "change_url": "https://github.com/openstack-k8s-operators/ci-framework/pull/3773",
                                        "commit_id": "b078db7b2836cd7c168de9d1a4db38983af17642",
                                        "patchset": "b078db7b2836cd7c168de9d1a4db38983af17642",
                                        "project": {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/openstack-k8s-operators/ci-framework",
                                            "name": "openstack-k8s-operators/ci-framework",
                                            "short_name": "ci-framework",
                                            "src_dir": "src/github.com/openstack-k8s-operators/ci-framework"
                                        },
                                        "topic": null
                                    }
                                },
                                {
                                    "ansible_facts": {
                                        "zuul_change_list": [
                                            "ci-framework",
                                            "architecture"
                                        ]
                                    },
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "branch": "main",
                                        "change": "764",
                                        "change_message": "nova05: follow up changes\n\n* Add cross-site routes/GWs\r\n\r\n   For all nova05epsilon's NADs, NetConfig subnets, host-level NNCP routes add missing cross-site DCN routes, \r\n   and gateways.\r\n\r\n   Previsourely those were tested in ci-framework jobs overlays but the base DT example was missing those   \r\n   CHANGEME templates.\r\n\r\n* Add SNO Swift fix hook for Ceph RGW\r\n\r\n* Ext net for tests accessing VMs via FIP\r\n\r\n   Add external NAD definition with VLAN to DT nncp/values.yaml.\r\n   Update scenario-vars.yaml with external NAD for Tempest access to FIP.\r\n    \r\n* Add automation mocks for CI\r\n\r\n* Fix telemetry spec and kustomize chain for SNO                                                                                                                                                          \r\n\r\n    The DT-level kustomization was missing service-values replacements\r\n    (telemetry, nova, glance, ovn, extraMounts), so the examples kustomize\r\n    build produced base defaults instead of DT-specific config. This caused\r\n    metricStorage.enabled=false and missing alertmanagerConfig on the\r\n    deployed OSCP.\r\n\r\n    Additionally, pvcStorageClass was hardcoded to \"local-storage\" but SNO\r\n    uses LVMS (\"lvms-local-storage\"), and alertmanager defaulted to 2\r\n    replicas which cannot schedule on a single node due to required\r\n    pod anti-affinity.\r\n\r\n    Align the kustomization layers with nova04delta:\r\n    - dt/nova/nova05epsilon/kustomization.yaml: add service-values\r\n      replacements matching nova04delta pattern\r\n    - Remove deplicated replacements for\r\n      dt/nova/nova05epsilon/control-plane/kustomization.yaml\r\n    - examples/.../control-plane/service-values.yaml: add full DT-specific\r\n      data (telemetry, nova, glance, ovn, extraMounts)\r\n    - Set pvcStorageClass to lvms-local-storage and alertmanagerConfig\r\n      replicas to 1 for SNO compatibility\r\n    - update control-plane.md\r\n\r\n* Separate pre and post ceph OSCP configs                                                                                                                                                                 \r\n\r\n    HCI uses edpm post ceph to also patch the OSCP which looks suboptimal.\r\n\r\n    Separate this into a two steps:\r\n    - make post-ceph nodeset layer handling EDPM resources only (NodeSet,\r\n      Services, Secrets, ConfigMap) - remove OSCP layer resources\r\n    - add control-plane-post-ceph layer for OSCP with Glance RBD + Ceph\r\n      extraMounts config. Use lib/control-plane/base instead of\r\n      lib/control-plane which required network-values duplication\r\n      otherwise. Since we're only patching glance config and extraMounts\r\n      into an existing OSCP, that's all we need.\r\n    - update README.md stages list from 4 to 6 steps, automation step\r\n      count from 9 to 10\r\n    - add note for defferred Ceph config for control-plane.md\r\n    - add control-plane post-ceph doc for the dedicated Ceph\r\n      control-plane update stage\r\n    - remove control-plane update references for\r\n      dataplane-post-ceph.md, add prerequisite for\r\n      control-plane-post-ceph\r\n    - add control-plane-post-ceph stage between pre-ceph deployment and\r\n      post-ceph nodeset ini automation vars\r\n\r\nDepends-on: https://github.com/openstack-k8s-operators/ci-framework/pull/3773\r\nRelated: [OSPRH-30706](https://redhat.atlassian.net/browse/OSPRH-30706)",
                                        "change_url": "https://github.com/openstack-k8s-operators/architecture/pull/764",
                                        "commit_id": "0b0dfbbb809e5b00d179fed9d86e24f00ac11c13",
                                        "patchset": "0b0dfbbb809e5b00d179fed9d86e24f00ac11c13",
                                        "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-10T10:43:01.444064Z",
                            "start": "2026-06-10T10:43:01.343656Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-00000000000a",
                        "name": "Construct project change list"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-10T10:43:02.266987Z",
                    "start": "2026-06-10T10:43:01.474161Z"
                },
                "id": "0a580a2a-0021-c2fe-26bf-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-10T10:43:01.493827Z",
                            "start": "2026-06-10T10:43:01.481013Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-10T10:43:02.025115Z",
                            "start": "2026-06-10T10:43:01.514828Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-10T10:43:02.072212Z",
                            "start": "2026-06-10T10:43:02.035055Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-10T10:43:02.118574Z",
                            "start": "2026-06-10T10:43:02.081272Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-10T10:43:02.166179Z",
                            "start": "2026-06-10T10:43:02.127738Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-10T10:43:02.218316Z",
                            "start": "2026-06-10T10:43:02.178117Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-10T10:43:02.266987Z",
                            "start": "2026-06-10T10:43:02.229791Z"
                        },
                        "id": "0a580a2a-0021-c2fe-26bf-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-10T10:43:06.105833Z",
                    "start": "2026-06-10T10:43:03.094977Z"
                },
                "id": "0a580a2a-0021-4c45-ac63-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-10T10:43:03.546029Z",
                            "start": "2026-06-10T10:43:03.106613Z"
                        },
                        "id": "0a580a2a-0021-4c45-ac63-000000000004",
                        "name": "Create zuul-output directory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.slurp",
                            "changed": false,
                            "content": "YWxsOgogIGNoaWxkcmVuOgogICAgcGVlcnM6CiAgICAgIGhvc3RzOiB7fQogICAgc3dpdGNoOgogICAgICBob3N0czoKICAgICAgICBjb250cm9sbGVyOiBudWxsCiAgICB6dXVsX3VucmVhY2hhYmxlOgogICAgICBob3N0czoge30KICBob3N0czoKICAgIGNvbnRyb2xsZXI6CiAgICAgIGFuc2libGVfY29ubmVjdGlvbjogc3NoCiAgICAgIGFuc2libGVfaG9zdDogMzguMTAyLjgzLjUwCiAgICAgIGFuc2libGVfcG9ydDogMjIKICAgICAgYW5zaWJsZV9weXRob25faW50ZXJwcmV0ZXI6IGF1dG8KICAgICAgYW5zaWJsZV91c2VyOiB6dXVsCiAgICAgIGNpZm13X2FyY2hpdGVjdHVyZV9yZXBvOiAie3tcbiAgW2Fuc2libGVfdXNlcl9kaXIsXG4gICB6dXVsLnByb2plY3RzWydnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZSddLnNyY19kaXJdXG4KICAgICAgICBcICB8IHBhdGhfam9pblxufX0iCiAgICAgIGNpZm13X2FyY2hpdGVjdHVyZV9zY2VuYXJpbzogbm92YTA1ZXBzaWxvbgogICAgICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZTogYXV0b21hdGlvbi9uZXQtZW52L25vdmEwNWVwc2lsb24ueWFtbAogICAgICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZV9sb2NhbDogInt7XG4gIFwiXCIgaWYgbm90IGNpZm13X25ldHdvcmtpbmdfZW52X2RlZl9maWxlCiAgICAgICAgZWxzZVxuICAoWyBjaWZtd19hcmNoaXRlY3R1cmVfcmVwbyxcbiAgICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZSBdIHwKICAgICAgICBwYXRoX2pvaW4pXG59fSIKICAgICAgY2lmbXdfbmV0d29ya2luZ19tYXBwZXJfbmV0d29ya2luZ19lbnZfZGVmX3BhdGg6ICJ7e1xuICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZV9sb2NhbAogICAgICAgIHxcbiAgZGVmYXVsdChbYW5zaWJsZV91c2VyX2RpcixcbiAgenV1bC5wcm9qZWN0c1snZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsnXS5zcmNfZGlyLFxuCiAgICAgICAgXCAnY2kvcGxheWJvb2tzL2ZpbGVzL25ldHdvcmtpbmctZW52LWRlZmluaXRpb24ueW1sJ10gfCBwYXRoX2pvaW4sIHRydWUpXG59fSIKICAgICAgbm9kZXBvb2w6CiAgICAgICAgYXo6IG5vdmEKICAgICAgICBjbG91ZDogdmV4eGhvc3Qtbm9kZXBvb2wtdHJpcGxlbwogICAgICAgIGV4dGVybmFsX2lkOiA5Y2QxNzk0ZS0xZTk4LTQzNjMtYTUxMC02ZTMzYThkMmZkZTEKICAgICAgICBob3N0X2lkOiA1MTE2MjU4NjdiMTU4OTlmMzQ0YjQ5ZjUwZTc5MDg4MmIzNWFlZGRhODgzOTQxY2YxNDcyYWUyYgogICAgICAgIGludGVyZmFjZV9pcDogMzguMTAyLjgzLjUwCiAgICAgICAgbGFiZWw6IGNsb3VkLWNlbnRvcy05LXN0cmVhbS10cmlwbGVvCiAgICAgICAgbm9kZV9wcm9wZXJ0aWVzOiB7fQogICAgICAgIHByaXZhdGVfaXB2NDogMzguMTAyLjgzLjUwCiAgICAgICAgcHJpdmF0ZV9pcHY2OiBudWxsCiAgICAgICAgcHJvdmlkZXI6IHZleHhob3N0LW5vZGVwb29sLXRyaXBsZW8KICAgICAgICBwdWJsaWNfaXB2NDogMzguMTAyLjgzLjUwCiAgICAgICAgcHVibGljX2lwdjY6ICcnCiAgICAgICAgcmVnaW9uOiBSZWdpb25PbmUKICAgICAgICBzbG90OiBudWxsCiAgICAgIHp1dWxfbm9kZToKICAgICAgICBhejogbm92YQogICAgICAgIGNsb3VkOiB2ZXh4aG9zdC1ub2RlcG9vbC10cmlwbGVvCiAgICAgICAgZXh0ZXJuYWxfaWQ6IDljZDE3OTRlLTFlOTgtNDM2My1hNTEwLTZlMzNhOGQyZmRlMQogICAgICAgIGhvc3RfaWQ6IDUxMTYyNTg2N2IxNTg5OWYzNDRiNDlmNTBlNzkwODgyYjM1YWVkZGE4ODM5NDFjZjE0NzJhZTJiCiAgICAgICAgaW50ZXJmYWNlX2lwOiAzOC4xMDIuODMuNTAKICAgICAgICBsYWJlbDogY2xvdWQtY2VudG9zLTktc3RyZWFtLXRyaXBsZW8KICAgICAgICBub2RlX3Byb3BlcnRpZXM6IHt9CiAgICAgICAgcHJpdmF0ZV9pcHY0OiAzOC4xMDIuODMuNTAKICAgICAgICBwcml2YXRlX2lwdjY6IG51bGwKICAgICAgICBwcm92aWRlcjogdmV4eGhvc3Qtbm9kZXBvb2wtdHJpcGxlbwogICAgICAgIHB1YmxpY19pcHY0OiAzOC4xMDIuODMuNTAKICAgICAgICBwdWJsaWNfaXB2NjogJycKICAgICAgICByZWdpb246IFJlZ2lvbk9uZQogICAgICAgIHNsb3Q6IG51bGwKICAgICAgICB1dWlkOiBudWxsCiAgdmFyczoKICAgIGNpZm13X2FyY2hpdGVjdHVyZV9yZXBvOiAie3tcbiAgW2Fuc2libGVfdXNlcl9kaXIsXG4gICB6dXVsLnByb2plY3RzWydnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZSddLnNyY19kaXJdXG4KICAgICAgXCAgfCBwYXRoX2pvaW5cbn19IgogICAgY2lmbXdfYXJjaGl0ZWN0dXJlX3NjZW5hcmlvOiBub3ZhMDVlcHNpbG9uCiAgICBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZTogYXV0b21hdGlvbi9uZXQtZW52L25vdmEwNWVwc2lsb24ueWFtbAogICAgY2lmbXdfbmV0d29ya2luZ19lbnZfZGVmX2ZpbGVfbG9jYWw6ICJ7e1xuICBcIlwiIGlmIG5vdCBjaWZtd19uZXR3b3JraW5nX2Vudl9kZWZfZmlsZQogICAgICBlbHNlXG4gIChbIGNpZm13X2FyY2hpdGVjdHVyZV9yZXBvLFxuICAgIGNpZm13X25ldHdvcmtpbmdfZW52X2RlZl9maWxlIF0gfCBwYXRoX2pvaW4pXG59fSIKICAgIGNpZm13X25ldHdvcmtpbmdfbWFwcGVyX25ldHdvcmtpbmdfZW52X2RlZl9wYXRoOiAie3tcbiAgY2lmbXdfbmV0d29ya2luZ19lbnZfZGVmX2ZpbGVfbG9jYWwKICAgICAgfFxuICBkZWZhdWx0KFthbnNpYmxlX3VzZXJfZGlyLFxuICB6dXVsLnByb2plY3RzWydnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yayddLnNyY19kaXIsXG4KICAgICAgXCAnY2kvcGxheWJvb2tzL2ZpbGVzL25ldHdvcmtpbmctZW52LWRlZmluaXRpb24ueW1sJ10gfCBwYXRoX2pvaW4sIHRydWUpXG59fSIKICAgIHp1dWw6CiAgICAgIF9pbmhlcml0YW5jZV9wYXRoOgogICAgICAtICc8Sm9iIGJhc2UtbWluaW1hbCBleHBsaWNpdDogTm9uZSBpbXBsaWVkOiB7TWF0Y2hBbnk6e0ltcGxpZWRCcmFuY2hNYXRjaGVyOm1hc3Rlcn19CiAgICAgICAgc291cmNlOiBjb25maWcvenV1bC5kL2pvYnMueWFtbEBtYXN0ZXIjMjQ+JwogICAgICAtICc8Sm9iIGJhc2UtY2ktZnJhbWV3b3JrIGV4cGxpY2l0OiBOb25lIGltcGxpZWQ6IHtNYXRjaEFueTp7SW1wbGllZEJyYW5jaE1hdGNoZXI6bWFzdGVyfX0KICAgICAgICBzb3VyY2U6IGNvbmZpZy96dXVsLmQvb3BlbnN0YWNrLWNpLWJhc2UueWFtbEBtYXN0ZXIjMTEwPicKICAgICAgLSAnPEpvYiBjaWZtdy1iYXNlLW1pbmltYWwgZXhwbGljaXQ6IE5vbmUgaW1wbGllZDoge01hdGNoQW55OntJbXBsaWVkQnJhbmNoTWF0Y2hlcjptYWlufX0KICAgICAgICBzb3VyY2U6IG9wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yay96dXVsLmQvYmFzZS55YW1sQG1haW4jNz4nCiAgICAgIC0gJzxKb2IgY2lmbXctYXJjaGl0ZWN0dXJlLXZhbGlkYXRlLWJhc2UgZXhwbGljaXQ6IE5vbmUgaW1wbGllZDoge01hdGNoQW55OntJbXBsaWVkQnJhbmNoTWF0Y2hlcjptYWlufX0KICAgICAgICBzb3VyY2U6IG9wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yay96dXVsLmQvYXJjaGl0ZWN0dXJlLWpvYnMueWFtbEBtYWluIzg+JwogICAgICAtICc8Sm9iIHJob3NvLWFyY2hpdGVjdHVyZS1iYXNlLWpvYiBleHBsaWNpdDogTm9uZSBpbXBsaWVkOiB7TWF0Y2hBbnk6e0ltcGxpZWRCcmFuY2hNYXRjaGVyOm1haW59fQogICAgICAgIHNvdXJjZTogb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlL3p1dWwuZC9iYXNlLWpvYnMueWFtbEBtYWluIzg+JwogICAgICAtICc8Sm9iIHJob3NvLWFyY2hpdGVjdHVyZS12YWxpZGF0ZS1ub3ZhMDVlcHNpbG9uIGV4cGxpY2l0OiBOb25lIGltcGxpZWQ6IHtNYXRjaEFueTp7SW1wbGllZEJyYW5jaE1hdGNoZXI6bWFpbn19CiAgICAgICAgc291cmNlOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUvenV1bC5kL3ZhbGlkYXRpb25zLnlhbWxAbWFpbiMzMDg+JwogICAgICAtICc8Sm9iIHJob3NvLWFyY2hpdGVjdHVyZS12YWxpZGF0ZS1ub3ZhMDVlcHNpbG9uIGV4cGxpY2l0OiBOb25lIGltcGxpZWQ6IE5vbmUKICAgICAgICBzb3VyY2U6IG9wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZS96dXVsLmQvcHJvamVjdHMueWFtbEBtYWluIzE+JwogICAgICBhbnNpYmxlX3ZlcnNpb246ICc5JwogICAgICBhdHRlbXB0czogMQogICAgICBicmFuY2g6IG1haW4KICAgICAgYnVpbGQ6IDBmZGY4ZDgxZTY3MDQ1MWE4ZmI4MWYwMjkxYjQwMDJmCiAgICAgIGJ1aWxkX3JlZnM6CiAgICAgIC0gYnJhbmNoOiBtYWluCiAgICAgICAgY2hhbmdlOiAnNzY0JwogICAgICAgIGNoYW5nZV9tZXNzYWdlOiAibm92YTA1OiBmb2xsb3cgdXAgY2hhbmdlc1xuXG4qIEFkZCBjcm9zcy1zaXRlIHJvdXRlcy9HV3NcclxuXHJcbgogICAgICAgICAgXCAgRm9yIGFsbCBub3ZhMDVlcHNpbG9uJ3MgTkFEcywgTmV0Q29uZmlnIHN1Ym5ldHMsIGhvc3QtbGV2ZWwgTk5DUCByb3V0ZXMKICAgICAgICAgIGFkZCBtaXNzaW5nIGNyb3NzLXNpdGUgRENOIHJvdXRlcywgXHJcbiAgIGFuZCBnYXRld2F5cy5cclxuXHJcbiAgIFByZXZpc291cmVseQogICAgICAgICAgdGhvc2Ugd2VyZSB0ZXN0ZWQgaW4gY2ktZnJhbWV3b3JrIGpvYnMgb3ZlcmxheXMgYnV0IHRoZSBiYXNlIERUIGV4YW1wbGUKICAgICAgICAgIHdhcyBtaXNzaW5nIHRob3NlICAgXHJcbiAgIENIQU5HRU1FIHRlbXBsYXRlcy5cclxuXHJcbiogQWRkIFNOTyBTd2lmdCBmaXgKICAgICAgICAgIGhvb2sgZm9yIENlcGggUkdXXHJcblxyXG4qIEV4dCBuZXQgZm9yIHRlc3RzIGFjY2Vzc2luZyBWTXMgdmlhIEZJUFxyXG5cclxuCiAgICAgICAgICBcICBBZGQgZXh0ZXJuYWwgTkFEIGRlZmluaXRpb24gd2l0aCBWTEFOIHRvIERUIG5uY3AvdmFsdWVzLnlhbWwuXHJcbiAgIFVwZGF0ZQogICAgICAgICAgc2NlbmFyaW8tdmFycy55YW1sIHdpdGggZXh0ZXJuYWwgTkFEIGZvciBUZW1wZXN0IGFjY2VzcyB0byBGSVAuXHJcbiAgICBcclxuKgogICAgICAgICAgQWRkIGF1dG9tYXRpb24gbW9ja3MgZm9yIENJXHJcblxyXG4qIEZpeCB0ZWxlbWV0cnkgc3BlYyBhbmQga3VzdG9taXplIGNoYWluCiAgICAgICAgICBmb3IgU05PICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG5cclxuCiAgICAgICAgICBcICAgVGhlIERULWxldmVsIGt1c3RvbWl6YXRpb24gd2FzIG1pc3Npbmcgc2VydmljZS12YWx1ZXMgcmVwbGFjZW1lbnRzXHJcbgogICAgICAgICAgXCAgICh0ZWxlbWV0cnksIG5vdmEsIGdsYW5jZSwgb3ZuLCBleHRyYU1vdW50cyksIHNvIHRoZSBleGFtcGxlcyBrdXN0b21pemVcclxuCiAgICAgICAgICBcICAgYnVpbGQgcHJvZHVjZWQgYmFzZSBkZWZhdWx0cyBpbnN0ZWFkIG9mIERULXNwZWNpZmljIGNvbmZpZy4gVGhpcyBjYXVzZWRcclxuCiAgICAgICAgICBcICAgbWV0cmljU3RvcmFnZS5lbmFibGVkPWZhbHNlIGFuZCBtaXNzaW5nIGFsZXJ0bWFuYWdlckNvbmZpZyBvbiB0aGVcclxuCiAgICAgICAgICBcICAgZGVwbG95ZWQgT1NDUC5cclxuXHJcbiAgICBBZGRpdGlvbmFsbHksIHB2Y1N0b3JhZ2VDbGFzcyB3YXMgaGFyZGNvZGVkCiAgICAgICAgICB0byBcImxvY2FsLXN0b3JhZ2VcIiBidXQgU05PXHJcbiAgICB1c2VzIExWTVMgKFwibHZtcy1sb2NhbC1zdG9yYWdlXCIpLAogICAgICAgICAgYW5kIGFsZXJ0bWFuYWdlciBkZWZhdWx0ZWQgdG8gMlxyXG4gICAgcmVwbGljYXMgd2hpY2ggY2Fubm90IHNjaGVkdWxlIG9uCiAgICAgICAgICBhIHNpbmdsZSBub2RlIGR1ZSB0byByZXF1aXJlZFxyXG4gICAgcG9kIGFudGktYWZmaW5pdHkuXHJcblxyXG4gICAgQWxpZ24KICAgICAgICAgIHRoZSBrdXN0b21pemF0aW9uIGxheWVycyB3aXRoIG5vdmEwNGRlbHRhOlxyXG4gICAgLSBkdC9ub3ZhL25vdmEwNWVwc2lsb24va3VzdG9taXphdGlvbi55YW1sOgogICAgICAgICAgYWRkIHNlcnZpY2UtdmFsdWVzXHJcbiAgICAgIHJlcGxhY2VtZW50cyBtYXRjaGluZyBub3ZhMDRkZWx0YSBwYXR0ZXJuXHJcbgogICAgICAgICAgXCAgIC0gUmVtb3ZlIGRlcGxpY2F0ZWQgcmVwbGFjZW1lbnRzIGZvclxyXG4gICAgICBkdC9ub3ZhL25vdmEwNWVwc2lsb24vY29udHJvbC1wbGFuZS9rdXN0b21pemF0aW9uLnlhbWxcclxuCiAgICAgICAgICBcICAgLSBleGFtcGxlcy8uLi4vY29udHJvbC1wbGFuZS9zZXJ2aWNlLXZhbHVlcy55YW1sOiBhZGQgZnVsbCBEVC1zcGVjaWZpY1xyXG4KICAgICAgICAgIFwgICAgIGRhdGEgKHRlbGVtZXRyeSwgbm92YSwgZ2xhbmNlLCBvdm4sIGV4dHJhTW91bnRzKVxyXG4gICAgLSBTZXQgcHZjU3RvcmFnZUNsYXNzCiAgICAgICAgICB0byBsdm1zLWxvY2FsLXN0b3JhZ2UgYW5kIGFsZXJ0bWFuYWdlckNvbmZpZ1xyXG4gICAgICByZXBsaWNhcyB0byAxIGZvcgogICAgICAgICAgU05PIGNvbXBhdGliaWxpdHlcclxuICAgIC0gdXBkYXRlIGNvbnRyb2wtcGxhbmUubWRcclxuXHJcbiogU2VwYXJhdGUgcHJlCiAgICAgICAgICBhbmQgcG9zdCBjZXBoIE9TQ1AgY29uZmlncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4KICAgICAgICAgIFwgICBIQ0kgdXNlcyBlZHBtIHBvc3QgY2VwaCB0byBhbHNvIHBhdGNoIHRoZSBPU0NQIHdoaWNoIGxvb2tzIHN1Ym9wdGltYWwuXHJcblxyXG4KICAgICAgICAgIFwgICBTZXBhcmF0ZSB0aGlzIGludG8gYSB0d28gc3RlcHM6XHJcbiAgICAtIG1ha2UgcG9zdC1jZXBoIG5vZGVzZXQgbGF5ZXIKICAgICAgICAgIGhhbmRsaW5nIEVEUE0gcmVzb3VyY2VzIG9ubHkgKE5vZGVTZXQsXHJcbiAgICAgIFNlcnZpY2VzLCBTZWNyZXRzLCBDb25maWdNYXApCiAgICAgICAgICAtIHJlbW92ZSBPU0NQIGxheWVyIHJlc291cmNlc1xyXG4gICAgLSBhZGQgY29udHJvbC1wbGFuZS1wb3N0LWNlcGggbGF5ZXIKICAgICAgICAgIGZvciBPU0NQIHdpdGggR2xhbmNlIFJCRCArIENlcGhcclxuICAgICAgZXh0cmFNb3VudHMgY29uZmlnLiBVc2UgbGliL2NvbnRyb2wtcGxhbmUvYmFzZQogICAgICAgICAgaW5zdGVhZCBvZlxyXG4gICAgICBsaWIvY29udHJvbC1wbGFuZSB3aGljaCByZXF1aXJlZCBuZXR3b3JrLXZhbHVlcyBkdXBsaWNhdGlvblxyXG4KICAgICAgICAgIFwgICAgIG90aGVyd2lzZS4gU2luY2Ugd2UncmUgb25seSBwYXRjaGluZyBnbGFuY2UgY29uZmlnIGFuZCBleHRyYU1vdW50c1xyXG4KICAgICAgICAgIFwgICAgIGludG8gYW4gZXhpc3RpbmcgT1NDUCwgdGhhdCdzIGFsbCB3ZSBuZWVkLlxyXG4gICAgLSB1cGRhdGUgUkVBRE1FLm1kCiAgICAgICAgICBzdGFnZXMgbGlzdCBmcm9tIDQgdG8gNiBzdGVwcywgYXV0b21hdGlvbiBzdGVwXHJcbiAgICAgIGNvdW50IGZyb20gOSB0bwogICAgICAgICAgMTBcclxuICAgIC0gYWRkIG5vdGUgZm9yIGRlZmZlcnJlZCBDZXBoIGNvbmZpZyBmb3IgY29udHJvbC1wbGFuZS5tZFxyXG4KICAgICAgICAgIFwgICAtIGFkZCBjb250cm9sLXBsYW5lIHBvc3QtY2VwaCBkb2MgZm9yIHRoZSBkZWRpY2F0ZWQgQ2VwaFxyXG4gICAgICBjb250cm9sLXBsYW5lCiAgICAgICAgICB1cGRhdGUgc3RhZ2VcclxuICAgIC0gcmVtb3ZlIGNvbnRyb2wtcGxhbmUgdXBkYXRlIHJlZmVyZW5jZXMgZm9yXHJcbiAgICAgIGRhdGFwbGFuZS1wb3N0LWNlcGgubWQsCiAgICAgICAgICBhZGQgcHJlcmVxdWlzaXRlIGZvclxyXG4gICAgICBjb250cm9sLXBsYW5lLXBvc3QtY2VwaFxyXG4gICAgLSBhZGQgY29udHJvbC1wbGFuZS1wb3N0LWNlcGgKICAgICAgICAgIHN0YWdlIGJldHdlZW4gcHJlLWNlcGggZGVwbG95bWVudCBhbmRcclxuICAgICAgcG9zdC1jZXBoIG5vZGVzZXQgaW5pIGF1dG9tYXRpb24KICAgICAgICAgIHZhcnNcclxuXHJcbkRlcGVuZHMtb246IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsvcHVsbC8zNzczXHJcblJlbGF0ZWQ6CiAgICAgICAgICBbT1NQUkgtMzA3MDZdKGh0dHBzOi8vcmVkaGF0LmF0bGFzc2lhbi5uZXQvYnJvd3NlL09TUFJILTMwNzA2KSIKICAgICAgICBjaGFuZ2VfdXJsOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlL3B1bGwvNzY0CiAgICAgICAgY29tbWl0X2lkOiAwYjBkZmJiYjgwOWU1YjAwZDE3OWZlZDlkODZlMjRmMDBhYzExYzEzCiAgICAgICAgcGF0Y2hzZXQ6IDBiMGRmYmJiODA5ZTViMDBkMTc5ZmVkOWQ4NmUyNGYwMGFjMTFjMTMKICAgICAgICBwcm9qZWN0OgogICAgICAgICAgY2Fub25pY2FsX2hvc3RuYW1lOiBnaXRodWIuY29tCiAgICAgICAgICBjYW5vbmljYWxfbmFtZTogZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICAgIG5hbWU6IG9wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgICAgc2hvcnRfbmFtZTogYXJjaGl0ZWN0dXJlCiAgICAgICAgICBzcmNfZGlyOiBzcmMvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICBzcmNfZGlyOiBzcmMvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICB0b3BpYzogbnVsbAogICAgICBidWlsZHNldDogM2ZkMGFiMzkzNTc5NGM0ZGI4OTgyNTA4ZDlhNDgxNDgKICAgICAgYnVpbGRzZXRfcmVmczoKICAgICAgLSBicmFuY2g6IG1haW4KICAgICAgICBjaGFuZ2U6ICc3NjQnCiAgICAgICAgY2hhbmdlX21lc3NhZ2U6ICJub3ZhMDU6IGZvbGxvdyB1cCBjaGFuZ2VzXG5cbiogQWRkIGNyb3NzLXNpdGUgcm91dGVzL0dXc1xyXG5cclxuCiAgICAgICAgICBcICBGb3IgYWxsIG5vdmEwNWVwc2lsb24ncyBOQURzLCBOZXRDb25maWcgc3VibmV0cywgaG9zdC1sZXZlbCBOTkNQIHJvdXRlcwogICAgICAgICAgYWRkIG1pc3NpbmcgY3Jvc3Mtc2l0ZSBEQ04gcm91dGVzLCBcclxuICAgYW5kIGdhdGV3YXlzLlxyXG5cclxuICAgUHJldmlzb3VyZWx5CiAgICAgICAgICB0aG9zZSB3ZXJlIHRlc3RlZCBpbiBjaS1mcmFtZXdvcmsgam9icyBvdmVybGF5cyBidXQgdGhlIGJhc2UgRFQgZXhhbXBsZQogICAgICAgICAgd2FzIG1pc3NpbmcgdGhvc2UgICBcclxuICAgQ0hBTkdFTUUgdGVtcGxhdGVzLlxyXG5cclxuKiBBZGQgU05PIFN3aWZ0IGZpeAogICAgICAgICAgaG9vayBmb3IgQ2VwaCBSR1dcclxuXHJcbiogRXh0IG5ldCBmb3IgdGVzdHMgYWNjZXNzaW5nIFZNcyB2aWEgRklQXHJcblxyXG4KICAgICAgICAgIFwgIEFkZCBleHRlcm5hbCBOQUQgZGVmaW5pdGlvbiB3aXRoIFZMQU4gdG8gRFQgbm5jcC92YWx1ZXMueWFtbC5cclxuICAgVXBkYXRlCiAgICAgICAgICBzY2VuYXJpby12YXJzLnlhbWwgd2l0aCBleHRlcm5hbCBOQUQgZm9yIFRlbXBlc3QgYWNjZXNzIHRvIEZJUC5cclxuICAgIFxyXG4qCiAgICAgICAgICBBZGQgYXV0b21hdGlvbiBtb2NrcyBmb3IgQ0lcclxuXHJcbiogRml4IHRlbGVtZXRyeSBzcGVjIGFuZCBrdXN0b21pemUgY2hhaW4KICAgICAgICAgIGZvciBTTk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4KICAgICAgICAgIFwgICBUaGUgRFQtbGV2ZWwga3VzdG9taXphdGlvbiB3YXMgbWlzc2luZyBzZXJ2aWNlLXZhbHVlcyByZXBsYWNlbWVudHNcclxuCiAgICAgICAgICBcICAgKHRlbGVtZXRyeSwgbm92YSwgZ2xhbmNlLCBvdm4sIGV4dHJhTW91bnRzKSwgc28gdGhlIGV4YW1wbGVzIGt1c3RvbWl6ZVxyXG4KICAgICAgICAgIFwgICBidWlsZCBwcm9kdWNlZCBiYXNlIGRlZmF1bHRzIGluc3RlYWQgb2YgRFQtc3BlY2lmaWMgY29uZmlnLiBUaGlzIGNhdXNlZFxyXG4KICAgICAgICAgIFwgICBtZXRyaWNTdG9yYWdlLmVuYWJsZWQ9ZmFsc2UgYW5kIG1pc3NpbmcgYWxlcnRtYW5hZ2VyQ29uZmlnIG9uIHRoZVxyXG4KICAgICAgICAgIFwgICBkZXBsb3llZCBPU0NQLlxyXG5cclxuICAgIEFkZGl0aW9uYWxseSwgcHZjU3RvcmFnZUNsYXNzIHdhcyBoYXJkY29kZWQKICAgICAgICAgIHRvIFwibG9jYWwtc3RvcmFnZVwiIGJ1dCBTTk9cclxuICAgIHVzZXMgTFZNUyAoXCJsdm1zLWxvY2FsLXN0b3JhZ2VcIiksCiAgICAgICAgICBhbmQgYWxlcnRtYW5hZ2VyIGRlZmF1bHRlZCB0byAyXHJcbiAgICByZXBsaWNhcyB3aGljaCBjYW5ub3Qgc2NoZWR1bGUgb24KICAgICAgICAgIGEgc2luZ2xlIG5vZGUgZHVlIHRvIHJlcXVpcmVkXHJcbiAgICBwb2QgYW50aS1hZmZpbml0eS5cclxuXHJcbiAgICBBbGlnbgogICAgICAgICAgdGhlIGt1c3RvbWl6YXRpb24gbGF5ZXJzIHdpdGggbm92YTA0ZGVsdGE6XHJcbiAgICAtIGR0L25vdmEvbm92YTA1ZXBzaWxvbi9rdXN0b21pemF0aW9uLnlhbWw6CiAgICAgICAgICBhZGQgc2VydmljZS12YWx1ZXNcclxuICAgICAgcmVwbGFjZW1lbnRzIG1hdGNoaW5nIG5vdmEwNGRlbHRhIHBhdHRlcm5cclxuCiAgICAgICAgICBcICAgLSBSZW1vdmUgZGVwbGljYXRlZCByZXBsYWNlbWVudHMgZm9yXHJcbiAgICAgIGR0L25vdmEvbm92YTA1ZXBzaWxvbi9jb250cm9sLXBsYW5lL2t1c3RvbWl6YXRpb24ueWFtbFxyXG4KICAgICAgICAgIFwgICAtIGV4YW1wbGVzLy4uLi9jb250cm9sLXBsYW5lL3NlcnZpY2UtdmFsdWVzLnlhbWw6IGFkZCBmdWxsIERULXNwZWNpZmljXHJcbgogICAgICAgICAgXCAgICAgZGF0YSAodGVsZW1ldHJ5LCBub3ZhLCBnbGFuY2UsIG92biwgZXh0cmFNb3VudHMpXHJcbiAgICAtIFNldCBwdmNTdG9yYWdlQ2xhc3MKICAgICAgICAgIHRvIGx2bXMtbG9jYWwtc3RvcmFnZSBhbmQgYWxlcnRtYW5hZ2VyQ29uZmlnXHJcbiAgICAgIHJlcGxpY2FzIHRvIDEgZm9yCiAgICAgICAgICBTTk8gY29tcGF0aWJpbGl0eVxyXG4gICAgLSB1cGRhdGUgY29udHJvbC1wbGFuZS5tZFxyXG5cclxuKiBTZXBhcmF0ZSBwcmUKICAgICAgICAgIGFuZCBwb3N0IGNlcGggT1NDUCBjb25maWdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbgogICAgICAgICAgXCAgIEhDSSB1c2VzIGVkcG0gcG9zdCBjZXBoIHRvIGFsc28gcGF0Y2ggdGhlIE9TQ1Agd2hpY2ggbG9va3Mgc3Vib3B0aW1hbC5cclxuXHJcbgogICAgICAgICAgXCAgIFNlcGFyYXRlIHRoaXMgaW50byBhIHR3byBzdGVwczpcclxuICAgIC0gbWFrZSBwb3N0LWNlcGggbm9kZXNldCBsYXllcgogICAgICAgICAgaGFuZGxpbmcgRURQTSByZXNvdXJjZXMgb25seSAoTm9kZVNldCxcclxuICAgICAgU2VydmljZXMsIFNlY3JldHMsIENvbmZpZ01hcCkKICAgICAgICAgIC0gcmVtb3ZlIE9TQ1AgbGF5ZXIgcmVzb3VyY2VzXHJcbiAgICAtIGFkZCBjb250cm9sLXBsYW5lLXBvc3QtY2VwaCBsYXllcgogICAgICAgICAgZm9yIE9TQ1Agd2l0aCBHbGFuY2UgUkJEICsgQ2VwaFxyXG4gICAgICBleHRyYU1vdW50cyBjb25maWcuIFVzZSBsaWIvY29udHJvbC1wbGFuZS9iYXNlCiAgICAgICAgICBpbnN0ZWFkIG9mXHJcbiAgICAgIGxpYi9jb250cm9sLXBsYW5lIHdoaWNoIHJlcXVpcmVkIG5ldHdvcmstdmFsdWVzIGR1cGxpY2F0aW9uXHJcbgogICAgICAgICAgXCAgICAgb3RoZXJ3aXNlLiBTaW5jZSB3ZSdyZSBvbmx5IHBhdGNoaW5nIGdsYW5jZSBjb25maWcgYW5kIGV4dHJhTW91bnRzXHJcbgogICAgICAgICAgXCAgICAgaW50byBhbiBleGlzdGluZyBPU0NQLCB0aGF0J3MgYWxsIHdlIG5lZWQuXHJcbiAgICAtIHVwZGF0ZSBSRUFETUUubWQKICAgICAgICAgIHN0YWdlcyBsaXN0IGZyb20gNCB0byA2IHN0ZXBzLCBhdXRvbWF0aW9uIHN0ZXBcclxuICAgICAgY291bnQgZnJvbSA5IHRvCiAgICAgICAgICAxMFxyXG4gICAgLSBhZGQgbm90ZSBmb3IgZGVmZmVycmVkIENlcGggY29uZmlnIGZvciBjb250cm9sLXBsYW5lLm1kXHJcbgogICAgICAgICAgXCAgIC0gYWRkIGNvbnRyb2wtcGxhbmUgcG9zdC1jZXBoIGRvYyBmb3IgdGhlIGRlZGljYXRlZCBDZXBoXHJcbiAgICAgIGNvbnRyb2wtcGxhbmUKICAgICAgICAgIHVwZGF0ZSBzdGFnZVxyXG4gICAgLSByZW1vdmUgY29udHJvbC1wbGFuZSB1cGRhdGUgcmVmZXJlbmNlcyBmb3JcclxuICAgICAgZGF0YXBsYW5lLXBvc3QtY2VwaC5tZCwKICAgICAgICAgIGFkZCBwcmVyZXF1aXNpdGUgZm9yXHJcbiAgICAgIGNvbnRyb2wtcGxhbmUtcG9zdC1jZXBoXHJcbiAgICAtIGFkZCBjb250cm9sLXBsYW5lLXBvc3QtY2VwaAogICAgICAgICAgc3RhZ2UgYmV0d2VlbiBwcmUtY2VwaCBkZXBsb3ltZW50IGFuZFxyXG4gICAgICBwb3N0LWNlcGggbm9kZXNldCBpbmkgYXV0b21hdGlvbgogICAgICAgICAgdmFyc1xyXG5cclxuRGVwZW5kcy1vbjogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yay9wdWxsLzM3NzNcclxuUmVsYXRlZDoKICAgICAgICAgIFtPU1BSSC0zMDcwNl0oaHR0cHM6Ly9yZWRoYXQuYXRsYXNzaWFuLm5ldC9icm93c2UvT1NQUkgtMzA3MDYpIgogICAgICAgIGNoYW5nZV91cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUvcHVsbC83NjQKICAgICAgICBjb21taXRfaWQ6IDBiMGRmYmJiODA5ZTViMDBkMTc5ZmVkOWQ4NmUyNGYwMGFjMTFjMTMKICAgICAgICBwYXRjaHNldDogMGIwZGZiYmI4MDllNWIwMGQxNzlmZWQ5ZDg2ZTI0ZjAwYWMxMWMxMwogICAgICAgIHByb2plY3Q6CiAgICAgICAgICBjYW5vbmljYWxfaG9zdG5hbWU6IGdpdGh1Yi5jb20KICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgICAgbmFtZTogb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlCiAgICAgICAgICBzaG9ydF9uYW1lOiBhcmNoaXRlY3R1cmUKICAgICAgICAgIHNyY19kaXI6IHNyYy9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgIHNyY19kaXI6IHNyYy9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgIHRvcGljOiBudWxsCiAgICAgIGNoYW5nZTogJzc2NCcKICAgICAgY2hhbmdlX21lc3NhZ2U6ICJub3ZhMDU6IGZvbGxvdyB1cCBjaGFuZ2VzXG5cbiogQWRkIGNyb3NzLXNpdGUgcm91dGVzL0dXc1xyXG5cclxuCiAgICAgICAgXCAgRm9yIGFsbCBub3ZhMDVlcHNpbG9uJ3MgTkFEcywgTmV0Q29uZmlnIHN1Ym5ldHMsIGhvc3QtbGV2ZWwgTk5DUCByb3V0ZXMKICAgICAgICBhZGQgbWlzc2luZyBjcm9zcy1zaXRlIERDTiByb3V0ZXMsIFxyXG4gICBhbmQgZ2F0ZXdheXMuXHJcblxyXG4gICBQcmV2aXNvdXJlbHkKICAgICAgICB0aG9zZSB3ZXJlIHRlc3RlZCBpbiBjaS1mcmFtZXdvcmsgam9icyBvdmVybGF5cyBidXQgdGhlIGJhc2UgRFQgZXhhbXBsZSB3YXMKICAgICAgICBtaXNzaW5nIHRob3NlICAgXHJcbiAgIENIQU5HRU1FIHRlbXBsYXRlcy5cclxuXHJcbiogQWRkIFNOTyBTd2lmdCBmaXggaG9vawogICAgICAgIGZvciBDZXBoIFJHV1xyXG5cclxuKiBFeHQgbmV0IGZvciB0ZXN0cyBhY2Nlc3NpbmcgVk1zIHZpYSBGSVBcclxuXHJcbiAgIEFkZAogICAgICAgIGV4dGVybmFsIE5BRCBkZWZpbml0aW9uIHdpdGggVkxBTiB0byBEVCBubmNwL3ZhbHVlcy55YW1sLlxyXG4gICBVcGRhdGUgc2NlbmFyaW8tdmFycy55YW1sCiAgICAgICAgd2l0aCBleHRlcm5hbCBOQUQgZm9yIFRlbXBlc3QgYWNjZXNzIHRvIEZJUC5cclxuICAgIFxyXG4qIEFkZCBhdXRvbWF0aW9uIG1vY2tzCiAgICAgICAgZm9yIENJXHJcblxyXG4qIEZpeCB0ZWxlbWV0cnkgc3BlYyBhbmQga3VzdG9taXplIGNoYWluIGZvciBTTk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4KICAgICAgICBcICAgVGhlIERULWxldmVsIGt1c3RvbWl6YXRpb24gd2FzIG1pc3Npbmcgc2VydmljZS12YWx1ZXMgcmVwbGFjZW1lbnRzXHJcbgogICAgICAgIFwgICAodGVsZW1ldHJ5LCBub3ZhLCBnbGFuY2UsIG92biwgZXh0cmFNb3VudHMpLCBzbyB0aGUgZXhhbXBsZXMga3VzdG9taXplXHJcbgogICAgICAgIFwgICBidWlsZCBwcm9kdWNlZCBiYXNlIGRlZmF1bHRzIGluc3RlYWQgb2YgRFQtc3BlY2lmaWMgY29uZmlnLiBUaGlzIGNhdXNlZFxyXG4KICAgICAgICBcICAgbWV0cmljU3RvcmFnZS5lbmFibGVkPWZhbHNlIGFuZCBtaXNzaW5nIGFsZXJ0bWFuYWdlckNvbmZpZyBvbiB0aGVcclxuCiAgICAgICAgXCAgIGRlcGxveWVkIE9TQ1AuXHJcblxyXG4gICAgQWRkaXRpb25hbGx5LCBwdmNTdG9yYWdlQ2xhc3Mgd2FzIGhhcmRjb2RlZAogICAgICAgIHRvIFwibG9jYWwtc3RvcmFnZVwiIGJ1dCBTTk9cclxuICAgIHVzZXMgTFZNUyAoXCJsdm1zLWxvY2FsLXN0b3JhZ2VcIiksIGFuZAogICAgICAgIGFsZXJ0bWFuYWdlciBkZWZhdWx0ZWQgdG8gMlxyXG4gICAgcmVwbGljYXMgd2hpY2ggY2Fubm90IHNjaGVkdWxlIG9uIGEgc2luZ2xlCiAgICAgICAgbm9kZSBkdWUgdG8gcmVxdWlyZWRcclxuICAgIHBvZCBhbnRpLWFmZmluaXR5LlxyXG5cclxuICAgIEFsaWduIHRoZSBrdXN0b21pemF0aW9uCiAgICAgICAgbGF5ZXJzIHdpdGggbm92YTA0ZGVsdGE6XHJcbiAgICAtIGR0L25vdmEvbm92YTA1ZXBzaWxvbi9rdXN0b21pemF0aW9uLnlhbWw6CiAgICAgICAgYWRkIHNlcnZpY2UtdmFsdWVzXHJcbiAgICAgIHJlcGxhY2VtZW50cyBtYXRjaGluZyBub3ZhMDRkZWx0YSBwYXR0ZXJuXHJcbgogICAgICAgIFwgICAtIFJlbW92ZSBkZXBsaWNhdGVkIHJlcGxhY2VtZW50cyBmb3JcclxuICAgICAgZHQvbm92YS9ub3ZhMDVlcHNpbG9uL2NvbnRyb2wtcGxhbmUva3VzdG9taXphdGlvbi55YW1sXHJcbgogICAgICAgIFwgICAtIGV4YW1wbGVzLy4uLi9jb250cm9sLXBsYW5lL3NlcnZpY2UtdmFsdWVzLnlhbWw6IGFkZCBmdWxsIERULXNwZWNpZmljXHJcbgogICAgICAgIFwgICAgIGRhdGEgKHRlbGVtZXRyeSwgbm92YSwgZ2xhbmNlLCBvdm4sIGV4dHJhTW91bnRzKVxyXG4gICAgLSBTZXQgcHZjU3RvcmFnZUNsYXNzCiAgICAgICAgdG8gbHZtcy1sb2NhbC1zdG9yYWdlIGFuZCBhbGVydG1hbmFnZXJDb25maWdcclxuICAgICAgcmVwbGljYXMgdG8gMSBmb3IgU05PCiAgICAgICAgY29tcGF0aWJpbGl0eVxyXG4gICAgLSB1cGRhdGUgY29udHJvbC1wbGFuZS5tZFxyXG5cclxuKiBTZXBhcmF0ZSBwcmUgYW5kIHBvc3QKICAgICAgICBjZXBoIE9TQ1AgY29uZmlncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4KICAgICAgICBcICAgSENJIHVzZXMgZWRwbSBwb3N0IGNlcGggdG8gYWxzbyBwYXRjaCB0aGUgT1NDUCB3aGljaCBsb29rcyBzdWJvcHRpbWFsLlxyXG5cclxuCiAgICAgICAgXCAgIFNlcGFyYXRlIHRoaXMgaW50byBhIHR3byBzdGVwczpcclxuICAgIC0gbWFrZSBwb3N0LWNlcGggbm9kZXNldCBsYXllcgogICAgICAgIGhhbmRsaW5nIEVEUE0gcmVzb3VyY2VzIG9ubHkgKE5vZGVTZXQsXHJcbiAgICAgIFNlcnZpY2VzLCBTZWNyZXRzLCBDb25maWdNYXApCiAgICAgICAgLSByZW1vdmUgT1NDUCBsYXllciByZXNvdXJjZXNcclxuICAgIC0gYWRkIGNvbnRyb2wtcGxhbmUtcG9zdC1jZXBoIGxheWVyIGZvcgogICAgICAgIE9TQ1Agd2l0aCBHbGFuY2UgUkJEICsgQ2VwaFxyXG4gICAgICBleHRyYU1vdW50cyBjb25maWcuIFVzZSBsaWIvY29udHJvbC1wbGFuZS9iYXNlCiAgICAgICAgaW5zdGVhZCBvZlxyXG4gICAgICBsaWIvY29udHJvbC1wbGFuZSB3aGljaCByZXF1aXJlZCBuZXR3b3JrLXZhbHVlcyBkdXBsaWNhdGlvblxyXG4KICAgICAgICBcICAgICBvdGhlcndpc2UuIFNpbmNlIHdlJ3JlIG9ubHkgcGF0Y2hpbmcgZ2xhbmNlIGNvbmZpZyBhbmQgZXh0cmFNb3VudHNcclxuCiAgICAgICAgXCAgICAgaW50byBhbiBleGlzdGluZyBPU0NQLCB0aGF0J3MgYWxsIHdlIG5lZWQuXHJcbiAgICAtIHVwZGF0ZSBSRUFETUUubWQKICAgICAgICBzdGFnZXMgbGlzdCBmcm9tIDQgdG8gNiBzdGVwcywgYXV0b21hdGlvbiBzdGVwXHJcbiAgICAgIGNvdW50IGZyb20gOSB0byAxMFxyXG4KICAgICAgICBcICAgLSBhZGQgbm90ZSBmb3IgZGVmZmVycmVkIENlcGggY29uZmlnIGZvciBjb250cm9sLXBsYW5lLm1kXHJcbiAgICAtIGFkZAogICAgICAgIGNvbnRyb2wtcGxhbmUgcG9zdC1jZXBoIGRvYyBmb3IgdGhlIGRlZGljYXRlZCBDZXBoXHJcbiAgICAgIGNvbnRyb2wtcGxhbmUKICAgICAgICB1cGRhdGUgc3RhZ2VcclxuICAgIC0gcmVtb3ZlIGNvbnRyb2wtcGxhbmUgdXBkYXRlIHJlZmVyZW5jZXMgZm9yXHJcbiAgICAgIGRhdGFwbGFuZS1wb3N0LWNlcGgubWQsCiAgICAgICAgYWRkIHByZXJlcXVpc2l0ZSBmb3JcclxuICAgICAgY29udHJvbC1wbGFuZS1wb3N0LWNlcGhcclxuICAgIC0gYWRkIGNvbnRyb2wtcGxhbmUtcG9zdC1jZXBoCiAgICAgICAgc3RhZ2UgYmV0d2VlbiBwcmUtY2VwaCBkZXBsb3ltZW50IGFuZFxyXG4gICAgICBwb3N0LWNlcGggbm9kZXNldCBpbmkgYXV0b21hdGlvbgogICAgICAgIHZhcnNcclxuXHJcbkRlcGVuZHMtb246IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsvcHVsbC8zNzczXHJcblJlbGF0ZWQ6CiAgICAgICAgW09TUFJILTMwNzA2XShodHRwczovL3JlZGhhdC5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9PU1BSSC0zMDcwNikiCiAgICAgIGNoYW5nZV91cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUvcHVsbC83NjQKICAgICAgY2hpbGRfam9iczogW10KICAgICAgY29tbWl0X2lkOiAwYjBkZmJiYjgwOWU1YjAwZDE3OWZlZDlkODZlMjRmMDBhYzExYzEzCiAgICAgIGV2ZW50X2lkOiBhNjUyYTQ3MC02NGI4LTExZjEtOTc3Zi1mYWZiYzk3OGU5MDQKICAgICAgZXhlY3V0b3I6CiAgICAgICAgaG9zdG5hbWU6IDM4LjEyOS41Ni44NAogICAgICAgIGludmVudG9yeV9maWxlOiAvdmFyL2xpYi96dXVsL2J1aWxkcy8wZmRmOGQ4MWU2NzA0NTFhOGZiODFmMDI5MWI0MDAyZi9hbnNpYmxlL2ludmVudG9yeS55YW1sCiAgICAgICAgbG9nX3Jvb3Q6IC92YXIvbGliL3p1dWwvYnVpbGRzLzBmZGY4ZDgxZTY3MDQ1MWE4ZmI4MWYwMjkxYjQwMDJmL3dvcmsvbG9ncwogICAgICAgIHJlc3VsdF9kYXRhX2ZpbGU6IC92YXIvbGliL3p1dWwvYnVpbGRzLzBmZGY4ZDgxZTY3MDQ1MWE4ZmI4MWYwMjkxYjQwMDJmL3dvcmsvcmVzdWx0cy5qc29uCiAgICAgICAgc3JjX3Jvb3Q6IC92YXIvbGliL3p1dWwvYnVpbGRzLzBmZGY4ZDgxZTY3MDQ1MWE4ZmI4MWYwMjkxYjQwMDJmL3dvcmsvc3JjCiAgICAgICAgd29ya19yb290OiAvdmFyL2xpYi96dXVsL2J1aWxkcy8wZmRmOGQ4MWU2NzA0NTFhOGZiODFmMDI5MWI0MDAyZi93b3JrCiAgICAgIGluY2x1ZGVfdmFyczogW10KICAgICAgaXRlbXM6CiAgICAgIC0gYnJhbmNoOiBtYWluCiAgICAgICAgY2hhbmdlOiAnMzc3MycKICAgICAgICBjaGFuZ2VfbWVzc2FnZTogIlttdWx0aXBsZV0gbm92YTA1ZXBzaWxvbjogYWRqdXN0IENlcGggZm9yIEJNIFNOTyBEQ04gY2FzZXNcblxuMS4KICAgICAgICAgIFwgQWRqdXN0IGNlcGgueW1sIHBvc3Rfc3RhZ2VfcnVuIGhvb2sgZm9yIERDTiBjb252ZW50aW9uc1xyXG5cclxuICAgIFRoZQogICAgICAgICAgY2VwaC55bWwgcG9zdF9zdGFnZV9ydW4gaG9vayAodmlhIGNpZm13X2NlcGhfY2xpZW50IHJvbGUpIHdyaXRlcyBDZXBoIGNvbmZpZwogICAgICAgICAgZmlsZXMgdG8gIFxyXG4gICAgY2lmbXdfY2VwaF9jbGllbnRfZmV0Y2hfZGlyIChkZWZhdWx0IC90bXAvKS4gVGhpcyB0ZW1wbGF0ZQogICAgICAgICAgcmVhZHMgdGhvc2UgZmlsZXMgYW5kIHByb3ZpZGVzIHRoZW0gYXMgYmFzZTY0LVxyXG4gICAgZW5jb2RlZCB2YWx1ZXMgdW5kZXIKICAgICAgICAgIGRhdGEuY2VwaF9jb25mIChEQ04gY29udmVudGlvbikuXHJcblxyXG4yLiAgQWxsb3cgb3ZlcnJpZGluZyBzc2ggYW5kIHN0b3JhZ2VfbWdtdFxyXG4KICAgICAgICAgIFwgICBcclxuICAgIFRvIGFsbG93IEJNIFNOTyB3aXRoIGNlcGggdXNpbmcgY3VzdG9tIGNlcGggQ0lEUiB2YWx1ZXMsXHJcbgogICAgICAgICAgXCAgIG1ha2Ugc3NoX25ldHdvcmtfcmFuZ2UgYW5kIHN0b3JhZ2VfbWdtdF9uZXR3b3JrX3JhbmdlIG92ZXJyaWRhYmxlIHZpYVxyXG4KICAgICAgICAgIFwgICBjaWZtd19jZXBoX3NzaF9uZXR3b3JrX3JhbmdlIGFuZCBjaWZtd19jZXBoX3N0b3JhZ2VfbWdtdF9uZXR3b3JrX3JhbmdlLlxyXG4KICAgICAgICAgIFwgICBCb3RoIGFyZSBzZXQgaW4gc2V0X2ZhY3Qgd2hpY2ggY2xvYmJlcnMgZXh0cmEgdmFycywgc28gd2UgdXNlIHRoZVxyXG4KICAgICAgICAgIFwgICBjaWZtd18gaW5kaXJlY3Rpb24gd2l0aCBkZWZhdWx0KCkgdG8gcHJlc2VydmUgb3JpZ2luYWwgZGVmYXVsdHMuXHJcbgogICAgICAgICAgXCAgIFxyXG4gICAgTk9URTogc3RvcmFnZV9uZXR3b3JrX3JhbmdlIGFsc28gbmVlZHMgdGhpcyB0cmVhdG1lbnQuXHJcbiAgICBJdAogICAgICAgICAgdXNlIHRvIGJlIGNvbW1lbnRlZCBvdXQgaW4gc2V0X2ZhY3QsIGFuZCB0aGlzIGNoYW5nZSBuZWVkc1xyXG4gICAgZXh0cmEKICAgICAgICAgIHRlc3Rpbmcgd2l0aCBDZXBoIGNpIGpvYnMgcGVyaGFwcy5cclxuXHJcbiAgICBBbHNvIGdhdGhlciBuZXR3b3JrIGZhY3RzCiAgICAgICAgICBmb3IgSVAtdG8taG9zdCBtYXBwaW5nLiBcclxuXHJcbjMuIEFkZCBhIGhvb2sgZm9yIFN3aWZ0IGFuZCBDZXBoIFJXRyBvbgogICAgICAgICAgU05PICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4KICAgICAgICAgIFwgICBPbiBTTk8gd2l0aCBhIHNpbmdsZSBFRFBNIGNvbXB1dGUgKHNpbmdsZS1ob3N0IENlcGhIQ0kpLCB0aGUgQ2VwaFxyXG4KICAgICAgICAgIFwgICBpbmdyZXNzIHNlcnZpY2UgKGhhcHJveHkva2VlcGFsaXZlZCkgaXMgbm90IGRlcGxveWVkIGJlY2F1c2UgdGhlXHJcbgogICAgICAgICAgXCAgIGNlcGhfcmd3LnltbC5qMiBzcGVjIHRlbXBsYXRlIG9ubHkgY3JlYXRlcyBpdCBmb3IgbXVsdGktaG9zdCBjbHVzdGVycy5cclxuXHJcbgogICAgICAgICAgXCAgIEFkZCBhIGhvb2sgdG8gY29ycmVjdCB0aGUgS2V5c3RvbmUgU3dpZnQgZW5kcG9pbnQgZm9yIHRoaXMgY2FzZS5cclxuXHJcbgogICAgICAgICAgXCAgIFRoZSBwcm9wZXIgZml4IGJlbG9uZ3MgaW4gY2lmbXdfY2VwaGFkbS90YXNrcy9jb25maWd1cmVfb2JqZWN0LnltbFxyXG4KICAgICAgICAgIFwgICB3aGljaCBzaG91bGQgZGV0ZWN0IHdoZXRoZXIgaW5ncmVzcyBpcyBkZXBsb3llZCBhbmQgY2hvb3NlIFZJUDo4MDgwXHJcbgogICAgICAgICAgXCAgIHZzIGhvc3RfaXA6ODA4MiBhY2NvcmRpbmdseS5cclxuXHJcbkppcmE6IFtPU1BSSC0yNzY0MV0oaHR0cHM6Ly9yZWRoYXQuYXRsYXNzaWFuLm5ldC9icm93c2UvT1NQUkgtMjc2NDEpXHJcbkdlbmVyYXRlZC1ieToKICAgICAgICAgIGNsYXVkZS00LjYtb3B1cy1oaWdoIgogICAgICAgIGNoYW5nZV91cmw6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsvcHVsbC8zNzczCiAgICAgICAgY29tbWl0X2lkOiBiMDc4ZGI3YjI4MzZjZDdjMTY4ZGU5ZDFhNGRiMzg5ODNhZjE3NjQyCiAgICAgICAgcGF0Y2hzZXQ6IGIwNzhkYjdiMjgzNmNkN2MxNjhkZTlkMWE0ZGIzODk4M2FmMTc2NDIKICAgICAgICBwcm9qZWN0OgogICAgICAgICAgY2Fub25pY2FsX2hvc3RuYW1lOiBnaXRodWIuY29tCiAgICAgICAgICBjYW5vbmljYWxfbmFtZTogZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsKICAgICAgICAgIG5hbWU6IG9wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yawogICAgICAgICAgc2hvcnRfbmFtZTogY2ktZnJhbWV3b3JrCiAgICAgICAgICBzcmNfZGlyOiBzcmMvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsKICAgICAgICB0b3BpYzogbnVsbAogICAgICAtIGJyYW5jaDogbWFpbgogICAgICAgIGNoYW5nZTogJzc2NCcKICAgICAgICBjaGFuZ2VfbWVzc2FnZTogIm5vdmEwNTogZm9sbG93IHVwIGNoYW5nZXNcblxuKiBBZGQgY3Jvc3Mtc2l0ZSByb3V0ZXMvR1dzXHJcblxyXG4KICAgICAgICAgIFwgIEZvciBhbGwgbm92YTA1ZXBzaWxvbidzIE5BRHMsIE5ldENvbmZpZyBzdWJuZXRzLCBob3N0LWxldmVsIE5OQ1Agcm91dGVzCiAgICAgICAgICBhZGQgbWlzc2luZyBjcm9zcy1zaXRlIERDTiByb3V0ZXMsIFxyXG4gICBhbmQgZ2F0ZXdheXMuXHJcblxyXG4gICBQcmV2aXNvdXJlbHkKICAgICAgICAgIHRob3NlIHdlcmUgdGVzdGVkIGluIGNpLWZyYW1ld29yayBqb2JzIG92ZXJsYXlzIGJ1dCB0aGUgYmFzZSBEVCBleGFtcGxlCiAgICAgICAgICB3YXMgbWlzc2luZyB0aG9zZSAgIFxyXG4gICBDSEFOR0VNRSB0ZW1wbGF0ZXMuXHJcblxyXG4qIEFkZCBTTk8gU3dpZnQgZml4CiAgICAgICAgICBob29rIGZvciBDZXBoIFJHV1xyXG5cclxuKiBFeHQgbmV0IGZvciB0ZXN0cyBhY2Nlc3NpbmcgVk1zIHZpYSBGSVBcclxuXHJcbgogICAgICAgICAgXCAgQWRkIGV4dGVybmFsIE5BRCBkZWZpbml0aW9uIHdpdGggVkxBTiB0byBEVCBubmNwL3ZhbHVlcy55YW1sLlxyXG4gICBVcGRhdGUKICAgICAgICAgIHNjZW5hcmlvLXZhcnMueWFtbCB3aXRoIGV4dGVybmFsIE5BRCBmb3IgVGVtcGVzdCBhY2Nlc3MgdG8gRklQLlxyXG4gICAgXHJcbioKICAgICAgICAgIEFkZCBhdXRvbWF0aW9uIG1vY2tzIGZvciBDSVxyXG5cclxuKiBGaXggdGVsZW1ldHJ5IHNwZWMgYW5kIGt1c3RvbWl6ZSBjaGFpbgogICAgICAgICAgZm9yIFNOTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbgogICAgICAgICAgXCAgIFRoZSBEVC1sZXZlbCBrdXN0b21pemF0aW9uIHdhcyBtaXNzaW5nIHNlcnZpY2UtdmFsdWVzIHJlcGxhY2VtZW50c1xyXG4KICAgICAgICAgIFwgICAodGVsZW1ldHJ5LCBub3ZhLCBnbGFuY2UsIG92biwgZXh0cmFNb3VudHMpLCBzbyB0aGUgZXhhbXBsZXMga3VzdG9taXplXHJcbgogICAgICAgICAgXCAgIGJ1aWxkIHByb2R1Y2VkIGJhc2UgZGVmYXVsdHMgaW5zdGVhZCBvZiBEVC1zcGVjaWZpYyBjb25maWcuIFRoaXMgY2F1c2VkXHJcbgogICAgICAgICAgXCAgIG1ldHJpY1N0b3JhZ2UuZW5hYmxlZD1mYWxzZSBhbmQgbWlzc2luZyBhbGVydG1hbmFnZXJDb25maWcgb24gdGhlXHJcbgogICAgICAgICAgXCAgIGRlcGxveWVkIE9TQ1AuXHJcblxyXG4gICAgQWRkaXRpb25hbGx5LCBwdmNTdG9yYWdlQ2xhc3Mgd2FzIGhhcmRjb2RlZAogICAgICAgICAgdG8gXCJsb2NhbC1zdG9yYWdlXCIgYnV0IFNOT1xyXG4gICAgdXNlcyBMVk1TIChcImx2bXMtbG9jYWwtc3RvcmFnZVwiKSwKICAgICAgICAgIGFuZCBhbGVydG1hbmFnZXIgZGVmYXVsdGVkIHRvIDJcclxuICAgIHJlcGxpY2FzIHdoaWNoIGNhbm5vdCBzY2hlZHVsZSBvbgogICAgICAgICAgYSBzaW5nbGUgbm9kZSBkdWUgdG8gcmVxdWlyZWRcclxuICAgIHBvZCBhbnRpLWFmZmluaXR5LlxyXG5cclxuICAgIEFsaWduCiAgICAgICAgICB0aGUga3VzdG9taXphdGlvbiBsYXllcnMgd2l0aCBub3ZhMDRkZWx0YTpcclxuICAgIC0gZHQvbm92YS9ub3ZhMDVlcHNpbG9uL2t1c3RvbWl6YXRpb24ueWFtbDoKICAgICAgICAgIGFkZCBzZXJ2aWNlLXZhbHVlc1xyXG4gICAgICByZXBsYWNlbWVudHMgbWF0Y2hpbmcgbm92YTA0ZGVsdGEgcGF0dGVyblxyXG4KICAgICAgICAgIFwgICAtIFJlbW92ZSBkZXBsaWNhdGVkIHJlcGxhY2VtZW50cyBmb3JcclxuICAgICAgZHQvbm92YS9ub3ZhMDVlcHNpbG9uL2NvbnRyb2wtcGxhbmUva3VzdG9taXphdGlvbi55YW1sXHJcbgogICAgICAgICAgXCAgIC0gZXhhbXBsZXMvLi4uL2NvbnRyb2wtcGxhbmUvc2VydmljZS12YWx1ZXMueWFtbDogYWRkIGZ1bGwgRFQtc3BlY2lmaWNcclxuCiAgICAgICAgICBcICAgICBkYXRhICh0ZWxlbWV0cnksIG5vdmEsIGdsYW5jZSwgb3ZuLCBleHRyYU1vdW50cylcclxuICAgIC0gU2V0IHB2Y1N0b3JhZ2VDbGFzcwogICAgICAgICAgdG8gbHZtcy1sb2NhbC1zdG9yYWdlIGFuZCBhbGVydG1hbmFnZXJDb25maWdcclxuICAgICAgcmVwbGljYXMgdG8gMSBmb3IKICAgICAgICAgIFNOTyBjb21wYXRpYmlsaXR5XHJcbiAgICAtIHVwZGF0ZSBjb250cm9sLXBsYW5lLm1kXHJcblxyXG4qIFNlcGFyYXRlIHByZQogICAgICAgICAgYW5kIHBvc3QgY2VwaCBPU0NQIGNvbmZpZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG5cclxuCiAgICAgICAgICBcICAgSENJIHVzZXMgZWRwbSBwb3N0IGNlcGggdG8gYWxzbyBwYXRjaCB0aGUgT1NDUCB3aGljaCBsb29rcyBzdWJvcHRpbWFsLlxyXG5cclxuCiAgICAgICAgICBcICAgU2VwYXJhdGUgdGhpcyBpbnRvIGEgdHdvIHN0ZXBzOlxyXG4gICAgLSBtYWtlIHBvc3QtY2VwaCBub2Rlc2V0IGxheWVyCiAgICAgICAgICBoYW5kbGluZyBFRFBNIHJlc291cmNlcyBvbmx5IChOb2RlU2V0LFxyXG4gICAgICBTZXJ2aWNlcywgU2VjcmV0cywgQ29uZmlnTWFwKQogICAgICAgICAgLSByZW1vdmUgT1NDUCBsYXllciByZXNvdXJjZXNcclxuICAgIC0gYWRkIGNvbnRyb2wtcGxhbmUtcG9zdC1jZXBoIGxheWVyCiAgICAgICAgICBmb3IgT1NDUCB3aXRoIEdsYW5jZSBSQkQgKyBDZXBoXHJcbiAgICAgIGV4dHJhTW91bnRzIGNvbmZpZy4gVXNlIGxpYi9jb250cm9sLXBsYW5lL2Jhc2UKICAgICAgICAgIGluc3RlYWQgb2ZcclxuICAgICAgbGliL2NvbnRyb2wtcGxhbmUgd2hpY2ggcmVxdWlyZWQgbmV0d29yay12YWx1ZXMgZHVwbGljYXRpb25cclxuCiAgICAgICAgICBcICAgICBvdGhlcndpc2UuIFNpbmNlIHdlJ3JlIG9ubHkgcGF0Y2hpbmcgZ2xhbmNlIGNvbmZpZyBhbmQgZXh0cmFNb3VudHNcclxuCiAgICAgICAgICBcICAgICBpbnRvIGFuIGV4aXN0aW5nIE9TQ1AsIHRoYXQncyBhbGwgd2UgbmVlZC5cclxuICAgIC0gdXBkYXRlIFJFQURNRS5tZAogICAgICAgICAgc3RhZ2VzIGxpc3QgZnJvbSA0IHRvIDYgc3RlcHMsIGF1dG9tYXRpb24gc3RlcFxyXG4gICAgICBjb3VudCBmcm9tIDkgdG8KICAgICAgICAgIDEwXHJcbiAgICAtIGFkZCBub3RlIGZvciBkZWZmZXJyZWQgQ2VwaCBjb25maWcgZm9yIGNvbnRyb2wtcGxhbmUubWRcclxuCiAgICAgICAgICBcICAgLSBhZGQgY29udHJvbC1wbGFuZSBwb3N0LWNlcGggZG9jIGZvciB0aGUgZGVkaWNhdGVkIENlcGhcclxuICAgICAgY29udHJvbC1wbGFuZQogICAgICAgICAgdXBkYXRlIHN0YWdlXHJcbiAgICAtIHJlbW92ZSBjb250cm9sLXBsYW5lIHVwZGF0ZSByZWZlcmVuY2VzIGZvclxyXG4gICAgICBkYXRhcGxhbmUtcG9zdC1jZXBoLm1kLAogICAgICAgICAgYWRkIHByZXJlcXVpc2l0ZSBmb3JcclxuICAgICAgY29udHJvbC1wbGFuZS1wb3N0LWNlcGhcclxuICAgIC0gYWRkIGNvbnRyb2wtcGxhbmUtcG9zdC1jZXBoCiAgICAgICAgICBzdGFnZSBiZXR3ZWVuIHByZS1jZXBoIGRlcGxveW1lbnQgYW5kXHJcbiAgICAgIHBvc3QtY2VwaCBub2Rlc2V0IGluaSBhdXRvbWF0aW9uCiAgICAgICAgICB2YXJzXHJcblxyXG5EZXBlbmRzLW9uOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrL3B1bGwvMzc3M1xyXG5SZWxhdGVkOgogICAgICAgICAgW09TUFJILTMwNzA2XShodHRwczovL3JlZGhhdC5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9PU1BSSC0zMDcwNikiCiAgICAgICAgY2hhbmdlX3VybDogaHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZS9wdWxsLzc2NAogICAgICAgIGNvbW1pdF9pZDogMGIwZGZiYmI4MDllNWIwMGQxNzlmZWQ5ZDg2ZTI0ZjAwYWMxMWMxMwogICAgICAgIHBhdGNoc2V0OiAwYjBkZmJiYjgwOWU1YjAwZDE3OWZlZDlkODZlMjRmMDBhYzExYzEzCiAgICAgICAgcHJvamVjdDoKICAgICAgICAgIGNhbm9uaWNhbF9ob3N0bmFtZTogZ2l0aHViLmNvbQogICAgICAgICAgY2Fub25pY2FsX25hbWU6IGdpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlCiAgICAgICAgICBuYW1lOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICAgIHNob3J0X25hbWU6IGFyY2hpdGVjdHVyZQogICAgICAgICAgc3JjX2Rpcjogc3JjL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvYXJjaGl0ZWN0dXJlCiAgICAgICAgdG9waWM6IG51bGwKICAgICAgam9iOiByaG9zby1hcmNoaXRlY3R1cmUtdmFsaWRhdGUtbm92YTA1ZXBzaWxvbgogICAgICBqb2J0YWdzOiBbXQogICAgICBtYXhfYXR0ZW1wdHM6IDMKICAgICAgbWVzc2FnZTogYm05MllUQTFPaUJtYjJ4c2IzY2dkWEFnWTJoaGJtZGxjd29LS2lCQlpHUWdZM0p2YzNNdGMybDBaU0J5YjNWMFpYTXZSMWR6RFFvTkNpQWdJRVp2Y2lCaGJHd2dibTkyWVRBMVpYQnphV3h2YmlkeklFNUJSSE1zSUU1bGRFTnZibVpwWnlCemRXSnVaWFJ6TENCb2IzTjBMV3hsZG1Wc0lFNU9RMUFnY205MWRHVnpJR0ZrWkNCdGFYTnphVzVuSUdOeWIzTnpMWE5wZEdVZ1JFTk9JSEp2ZFhSbGN5d2dEUW9nSUNCaGJtUWdaMkYwWlhkaGVYTXVEUW9OQ2lBZ0lGQnlaWFpwYzI5MWNtVnNlU0IwYUc5elpTQjNaWEpsSUhSbGMzUmxaQ0JwYmlCamFTMW1jbUZ0WlhkdmNtc2dhbTlpY3lCdmRtVnliR0Y1Y3lCaWRYUWdkR2hsSUdKaGMyVWdSRlFnWlhoaGJYQnNaU0IzWVhNZ2JXbHpjMmx1WnlCMGFHOXpaU0FnSUEwS0lDQWdRMGhCVGtkRlRVVWdkR1Z0Y0d4aGRHVnpMZzBLRFFvcUlFRmtaQ0JUVGs4Z1UzZHBablFnWm1sNElHaHZiMnNnWm05eUlFTmxjR2dnVWtkWERRb05DaW9nUlhoMElHNWxkQ0JtYjNJZ2RHVnpkSE1nWVdOalpYTnphVzVuSUZaTmN5QjJhV0VnUmtsUURRb05DaUFnSUVGa1pDQmxlSFJsY201aGJDQk9RVVFnWkdWbWFXNXBkR2x2YmlCM2FYUm9JRlpNUVU0Z2RHOGdSRlFnYm01amNDOTJZV3gxWlhNdWVXRnRiQzROQ2lBZ0lGVndaR0YwWlNCelkyVnVZWEpwYnkxMllYSnpMbmxoYld3Z2QybDBhQ0JsZUhSbGNtNWhiQ0JPUVVRZ1ptOXlJRlJsYlhCbGMzUWdZV05qWlhOeklIUnZJRVpKVUM0TkNpQWdJQ0FOQ2lvZ1FXUmtJR0YxZEc5dFlYUnBiMjRnYlc5amEzTWdabTl5SUVOSkRRb05DaW9nUm1sNElIUmxiR1Z0WlhSeWVTQnpjR1ZqSUdGdVpDQnJkWE4wYjIxcGVtVWdZMmhoYVc0Z1ptOXlJRk5PVHlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBTkNnMEtJQ0FnSUZSb1pTQkVWQzFzWlhabGJDQnJkWE4wYjIxcGVtRjBhVzl1SUhkaGN5QnRhWE56YVc1bklITmxjblpwWTJVdGRtRnNkV1Z6SUhKbGNHeGhZMlZ0Wlc1MGN3MEtJQ0FnSUNoMFpXeGxiV1YwY25rc0lHNXZkbUVzSUdkc1lXNWpaU3dnYjNadUxDQmxlSFJ5WVUxdmRXNTBjeWtzSUhOdklIUm9aU0JsZUdGdGNHeGxjeUJyZFhOMGIyMXBlbVVOQ2lBZ0lDQmlkV2xzWkNCd2NtOWtkV05sWkNCaVlYTmxJR1JsWm1GMWJIUnpJR2x1YzNSbFlXUWdiMllnUkZRdGMzQmxZMmxtYVdNZ1kyOXVabWxuTGlCVWFHbHpJR05oZFhObFpBMEtJQ0FnSUcxbGRISnBZMU4wYjNKaFoyVXVaVzVoWW14bFpEMW1ZV3h6WlNCaGJtUWdiV2x6YzJsdVp5QmhiR1Z5ZEcxaGJtRm5aWEpEYjI1bWFXY2diMjRnZEdobERRb2dJQ0FnWkdWd2JHOTVaV1FnVDFORFVDNE5DZzBLSUNBZ0lFRmtaR2wwYVc5dVlXeHNlU3dnY0haalUzUnZjbUZuWlVOc1lYTnpJSGRoY3lCb1lYSmtZMjlrWldRZ2RHOGdJbXh2WTJGc0xYTjBiM0poWjJVaUlHSjFkQ0JUVGs4TkNpQWdJQ0IxYzJWeklFeFdUVk1nS0NKc2RtMXpMV3h2WTJGc0xYTjBiM0poWjJVaUtTd2dZVzVrSUdGc1pYSjBiV0Z1WVdkbGNpQmtaV1poZFd4MFpXUWdkRzhnTWcwS0lDQWdJSEpsY0d4cFkyRnpJSGRvYVdOb0lHTmhibTV2ZENCelkyaGxaSFZzWlNCdmJpQmhJSE5wYm1kc1pTQnViMlJsSUdSMVpTQjBieUJ5WlhGMWFYSmxaQTBLSUNBZ0lIQnZaQ0JoYm5ScExXRm1abWx1YVhSNUxnMEtEUW9nSUNBZ1FXeHBaMjRnZEdobElHdDFjM1J2YldsNllYUnBiMjRnYkdGNVpYSnpJSGRwZEdnZ2JtOTJZVEEwWkdWc2RHRTZEUW9nSUNBZ0xTQmtkQzl1YjNaaEwyNXZkbUV3TldWd2MybHNiMjR2YTNWemRHOXRhWHBoZEdsdmJpNTVZVzFzT2lCaFpHUWdjMlZ5ZG1salpTMTJZV3gxWlhNTkNpQWdJQ0FnSUhKbGNHeGhZMlZ0Wlc1MGN5QnRZWFJqYUdsdVp5QnViM1poTURSa1pXeDBZU0J3WVhSMFpYSnVEUW9nSUNBZ0xTQlNaVzF2ZG1VZ1pHVndiR2xqWVhSbFpDQnlaWEJzWVdObGJXVnVkSE1nWm05eURRb2dJQ0FnSUNCa2RDOXViM1poTDI1dmRtRXdOV1Z3YzJsc2IyNHZZMjl1ZEhKdmJDMXdiR0Z1WlM5cmRYTjBiMjFwZW1GMGFXOXVMbmxoYld3TkNpQWdJQ0F0SUdWNFlXMXdiR1Z6THk0dUxpOWpiMjUwY205c0xYQnNZVzVsTDNObGNuWnBZMlV0ZG1Gc2RXVnpMbmxoYld3NklHRmtaQ0JtZFd4c0lFUlVMWE53WldOcFptbGpEUW9nSUNBZ0lDQmtZWFJoSUNoMFpXeGxiV1YwY25rc0lHNXZkbUVzSUdkc1lXNWpaU3dnYjNadUxDQmxlSFJ5WVUxdmRXNTBjeWtOQ2lBZ0lDQXRJRk5sZENCd2RtTlRkRzl5WVdkbFEyeGhjM01nZEc4Z2JIWnRjeTFzYjJOaGJDMXpkRzl5WVdkbElHRnVaQ0JoYkdWeWRHMWhibUZuWlhKRGIyNW1hV2NOQ2lBZ0lDQWdJSEpsY0d4cFkyRnpJSFJ2SURFZ1ptOXlJRk5PVHlCamIyMXdZWFJwWW1sc2FYUjVEUW9nSUNBZ0xTQjFjR1JoZEdVZ1kyOXVkSEp2YkMxd2JHRnVaUzV0WkEwS0RRb3FJRk5sY0dGeVlYUmxJSEJ5WlNCaGJtUWdjRzl6ZENCalpYQm9JRTlUUTFBZ1kyOXVabWxuY3lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnRFFvTkNpQWdJQ0JJUTBrZ2RYTmxjeUJsWkhCdElIQnZjM1FnWTJWd2FDQjBieUJoYkhOdklIQmhkR05vSUhSb1pTQlBVME5RSUhkb2FXTm9JR3h2YjJ0eklITjFZbTl3ZEdsdFlXd3VEUW9OQ2lBZ0lDQlRaWEJoY21GMFpTQjBhR2x6SUdsdWRHOGdZU0IwZDI4Z2MzUmxjSE02RFFvZ0lDQWdMU0J0WVd0bElIQnZjM1F0WTJWd2FDQnViMlJsYzJWMElHeGhlV1Z5SUdoaGJtUnNhVzVuSUVWRVVFMGdjbVZ6YjNWeVkyVnpJRzl1YkhrZ0tFNXZaR1ZUWlhRc0RRb2dJQ0FnSUNCVFpYSjJhV05sY3l3Z1UyVmpjbVYwY3l3Z1EyOXVabWxuVFdGd0tTQXRJSEpsYlc5MlpTQlBVME5RSUd4aGVXVnlJSEpsYzI5MWNtTmxjdzBLSUNBZ0lDMGdZV1JrSUdOdmJuUnliMnd0Y0d4aGJtVXRjRzl6ZEMxalpYQm9JR3hoZVdWeUlHWnZjaUJQVTBOUUlIZHBkR2dnUjJ4aGJtTmxJRkpDUkNBcklFTmxjR2dOQ2lBZ0lDQWdJR1Y0ZEhKaFRXOTFiblJ6SUdOdmJtWnBaeTRnVlhObElHeHBZaTlqYjI1MGNtOXNMWEJzWVc1bEwySmhjMlVnYVc1emRHVmhaQ0J2WmcwS0lDQWdJQ0FnYkdsaUwyTnZiblJ5YjJ3dGNHeGhibVVnZDJocFkyZ2djbVZ4ZFdseVpXUWdibVYwZDI5eWF5MTJZV3gxWlhNZ1pIVndiR2xqWVhScGIyNE5DaUFnSUNBZ0lHOTBhR1Z5ZDJselpTNGdVMmx1WTJVZ2QyVW5jbVVnYjI1c2VTQndZWFJqYUdsdVp5Qm5iR0Z1WTJVZ1kyOXVabWxuSUdGdVpDQmxlSFJ5WVUxdmRXNTBjdzBLSUNBZ0lDQWdhVzUwYnlCaGJpQmxlR2x6ZEdsdVp5QlBVME5RTENCMGFHRjBKM01nWVd4c0lIZGxJRzVsWldRdURRb2dJQ0FnTFNCMWNHUmhkR1VnVWtWQlJFMUZMbTFrSUhOMFlXZGxjeUJzYVhOMElHWnliMjBnTkNCMGJ5QTJJSE4wWlhCekxDQmhkWFJ2YldGMGFXOXVJSE4wWlhBTkNpQWdJQ0FnSUdOdmRXNTBJR1p5YjIwZ09TQjBieUF4TUEwS0lDQWdJQzBnWVdSa0lHNXZkR1VnWm05eUlHUmxabVpsY25KbFpDQkRaWEJvSUdOdmJtWnBaeUJtYjNJZ1kyOXVkSEp2YkMxd2JHRnVaUzV0WkEwS0lDQWdJQzBnWVdSa0lHTnZiblJ5YjJ3dGNHeGhibVVnY0c5emRDMWpaWEJvSUdSdll5Qm1iM0lnZEdobElHUmxaR2xqWVhSbFpDQkRaWEJvRFFvZ0lDQWdJQ0JqYjI1MGNtOXNMWEJzWVc1bElIVndaR0YwWlNCemRHRm5aUTBLSUNBZ0lDMGdjbVZ0YjNabElHTnZiblJ5YjJ3dGNHeGhibVVnZFhCa1lYUmxJSEpsWm1WeVpXNWpaWE1nWm05eURRb2dJQ0FnSUNCa1lYUmhjR3hoYm1VdGNHOXpkQzFqWlhCb0xtMWtMQ0JoWkdRZ2NISmxjbVZ4ZFdsemFYUmxJR1p2Y2cwS0lDQWdJQ0FnWTI5dWRISnZiQzF3YkdGdVpTMXdiM04wTFdObGNHZ05DaUFnSUNBdElHRmtaQ0JqYjI1MGNtOXNMWEJzWVc1bExYQnZjM1F0WTJWd2FDQnpkR0ZuWlNCaVpYUjNaV1Z1SUhCeVpTMWpaWEJvSUdSbGNHeHZlVzFsYm5RZ1lXNWtEUW9nSUNBZ0lDQndiM04wTFdObGNHZ2dibTlrWlhObGRDQnBibWtnWVhWMGIyMWhkR2x2YmlCMllYSnpEUW9OQ2tSbGNHVnVaSE10YjI0NklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOXZjR1Z1YzNSaFkyc3Rhemh6TFc5d1pYSmhkRzl5Y3k5amFTMW1jbUZ0WlhkdmNtc3ZjSFZzYkM4ek56Y3pEUXBTWld4aGRHVmtPaUJiVDFOUVVrZ3RNekEzTURaZEtHaDBkSEJ6T2k4dmNtVmthR0YwTG1GMGJHRnpjMmxoYmk1dVpYUXZZbkp2ZDNObEwwOVRVRkpJTFRNd056QTJLUT09CiAgICAgIHBhdGNoc2V0OiAwYjBkZmJiYjgwOWU1YjAwZDE3OWZlZDlkODZlMjRmMDBhYzExYzEzCiAgICAgIHBpcGVsaW5lOiBnaXRodWItY2hlY2sKICAgICAgcGxheWJvb2tfY29udGV4dDoKICAgICAgICBwbGF5Ym9va19wcm9qZWN0czoKICAgICAgICAgIHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWc6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiByZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnCiAgICAgICAgICAgIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY29tbWl0OiA0NjA1ZWFmNWZhNWNkM2YzNTE5NDBhYjlkZjhmOWYwZWE2Yjk3YWQ1CiAgICAgICAgICB0cnVzdGVkL3Byb2plY3RfMS9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9iczoKICAgICAgICAgICAgY2Fub25pY2FsX25hbWU6IG9wZW5kZXYub3JnL3p1dWwvenV1bC1qb2JzCiAgICAgICAgICAgIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY29tbWl0OiA4MmUzZThiMTI5MmEyNWUzODIzNWJiOTJiMTU3OTkyZDMyNjUzMWQxCiAgICAgICAgICB0cnVzdGVkL3Byb2plY3RfMi9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnM6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiByZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjb21taXQ6IGFlM2Y4ODRjNmM4YzMyYjc3OWRjNjFmNzU4YzBmNmE0M2FkZTY4NzcKICAgICAgICAgIHVudHJ1c3RlZC9wcm9qZWN0XzAvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcms6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yawogICAgICAgICAgICBjaGVja291dDogbWFpbgogICAgICAgICAgICBjb21taXQ6IGIwNzhkYjdiMjgzNmNkN2MxNjhkZTlkMWE0ZGIzODk4M2FmMTc2NDIKICAgICAgICAgIHVudHJ1c3RlZC9wcm9qZWN0XzEvcmV2aWV3LnJkb3Byb2plY3Qub3JnL2NvbmZpZzoKICAgICAgICAgICAgY2Fub25pY2FsX25hbWU6IHJldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcKICAgICAgICAgICAgY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjb21taXQ6IDQ2MDVlYWY1ZmE1Y2QzZjM1MTk0MGFiOWRmOGY5ZjBlYTZiOTdhZDUKICAgICAgICAgIHVudHJ1c3RlZC9wcm9qZWN0XzIvb3BlbmRldi5vcmcvenV1bC96dXVsLWpvYnM6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBvcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNvbW1pdDogODJlM2U4YjEyOTJhMjVlMzgyMzViYjkyYjE1Nzk5MmQzMjY1MzFkMQogICAgICAgICAgdW50cnVzdGVkL3Byb2plY3RfMy9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnM6CiAgICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiByZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjb21taXQ6IGFlM2Y4ODRjNmM4YzMyYjc3OWRjNjFmNzU4YzBmNmE0M2FkZTY4NzcKICAgICAgICBwbGF5Ym9va3M6CiAgICAgICAgLSBwYXRoOiB1bnRydXN0ZWQvcHJvamVjdF8wL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrL2NpL3BsYXlib29rcy9hcmNoaXRlY3R1cmUvcnVuLnltbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYWluCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwbGF5Ym9vayBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3BsYXlib29rXzAvcm9sZV8wL2NpLWZyYW1ld29yawogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMC9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yawogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcGxheWJvb2tfMC9yb2xlXzAvY2ktZnJhbWV3b3JrL3JvbGVzCiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHByb2plY3QgZGVmYXVsdCBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3BsYXlib29rXzAvcm9sZV8xL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMS9yZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wbGF5Ym9va18wL3JvbGVfMS9jb25maWcvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcGxheWJvb2tfMC9yb2xlXzIvenV1bC1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB1bnRydXN0ZWQvcHJvamVjdF8yL29wZW5kZXYub3JnL3p1dWwvenV1bC1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wbGF5Ym9va18wL3JvbGVfMi96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcGxheWJvb2tfMC9yb2xlXzMvcmRvLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHVudHJ1c3RlZC9wcm9qZWN0XzMvcmV2aWV3LnJkb3Byb2plY3Qub3JnL3Jkby1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wbGF5Ym9va18wL3JvbGVfMy9yZG8tam9icy9yb2xlcwogICAgICAgIHBvc3RfcGxheWJvb2tzOgogICAgICAgIC0gcGF0aDogdW50cnVzdGVkL3Byb2plY3RfMC9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yay9jaS9wbGF5Ym9va3MvY29sbGVjdC1sb2dzLnltbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYWluCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwbGF5Ym9vayBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMC9yb2xlXzAvY2ktZnJhbWV3b3JrCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB1bnRydXN0ZWQvcHJvamVjdF8wL2dpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wb3N0X3BsYXlib29rXzAvcm9sZV8wL2NpLWZyYW1ld29yay9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wb3N0X3BsYXlib29rXzAvcm9sZV8xL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMS9yZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wb3N0X3BsYXlib29rXzAvcm9sZV8xL2NvbmZpZy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wb3N0X3BsYXlib29rXzAvcm9sZV8yL3p1dWwtam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMi9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcG9zdF9wbGF5Ym9va18wL3JvbGVfMi96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcG9zdF9wbGF5Ym9va18wL3JvbGVfMy9yZG8tam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMy9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMC9yb2xlXzMvcmRvLWpvYnMvcm9sZXMKICAgICAgICAtIHBhdGg6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcvcGxheWJvb2tzL2Jhc2UtbWluaW1hbC9wb3N0LXNzaC55YW1sCiAgICAgICAgICByb2xlczoKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcGxheWJvb2sgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wb3N0X3BsYXlib29rXzEvcm9sZV8wL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdHJ1c3RlZC9wcm9qZWN0XzAvcmV2aWV3LnJkb3Byb2plY3Qub3JnL2NvbmZpZwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcG9zdF9wbGF5Ym9va18xL3JvbGVfMC9jb25maWcvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcG9zdF9wbGF5Ym9va18xL3JvbGVfMS96dXVsLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHRydXN0ZWQvcHJvamVjdF8xL29wZW5kZXYub3JnL3p1dWwvenV1bC1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wb3N0X3BsYXlib29rXzEvcm9sZV8xL3p1dWwtam9icy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wb3N0X3BsYXlib29rXzEvcm9sZV8yL3Jkby1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB0cnVzdGVkL3Byb2plY3RfMi9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMS9yb2xlXzIvcmRvLWpvYnMvcm9sZXMKICAgICAgICAtIHBhdGg6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcvcGxheWJvb2tzL2Jhc2UtbWluaW1hbC9wb3N0LWxvZ3MueWFtbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHBsYXlib29rIGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcG9zdF9wbGF5Ym9va18yL3JvbGVfMC9jb25maWcKICAgICAgICAgICAgbGlua190YXJnZXQ6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMi9yb2xlXzAvY29uZmlnL3JvbGVzCiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHByb2plY3QgZGVmYXVsdCBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3Bvc3RfcGxheWJvb2tfMi9yb2xlXzEvenV1bC1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB0cnVzdGVkL3Byb2plY3RfMS9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcG9zdF9wbGF5Ym9va18yL3JvbGVfMS96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcG9zdF9wbGF5Ym9va18yL3JvbGVfMi9yZG8tam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdHJ1c3RlZC9wcm9qZWN0XzIvcmV2aWV3LnJkb3Byb2plY3Qub3JnL3Jkby1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wb3N0X3BsYXlib29rXzIvcm9sZV8yL3Jkby1qb2JzL3JvbGVzCiAgICAgICAgcHJlX3BsYXlib29rczoKICAgICAgICAtIHBhdGg6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcvcGxheWJvb2tzL2Jhc2UtbWluaW1hbC9wcmUueWFtbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHBsYXlib29rIGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzAvcm9sZV8wL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdHJ1c3RlZC9wcm9qZWN0XzAvcmV2aWV3LnJkb3Byb2plY3Qub3JnL2NvbmZpZwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzAvcm9sZV8wL2NvbmZpZy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wcmVfcGxheWJvb2tfMC9yb2xlXzEvenV1bC1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB0cnVzdGVkL3Byb2plY3RfMS9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzAvcm9sZV8xL3p1dWwtam9icy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wcmVfcGxheWJvb2tfMC9yb2xlXzIvcmRvLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHRydXN0ZWQvcHJvamVjdF8yL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9yZG8tam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzAvcm9sZV8yL3Jkby1qb2JzL3JvbGVzCiAgICAgICAgLSBwYXRoOiB0cnVzdGVkL3Byb2plY3RfMC9yZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnL3BsYXlib29rcy9jaS1mcmFtZXdvcmstcmRvLWJhc2UvcHJlLnlhbWwKICAgICAgICAgIHJvbGVzOgogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwbGF5Ym9vayBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18xL3JvbGVfMC9jb25maWcKICAgICAgICAgICAgbGlua190YXJnZXQ6IHRydXN0ZWQvcHJvamVjdF8wL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18xL3JvbGVfMC9jb25maWcvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzEvcm9sZV8xL3p1dWwtam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdHJ1c3RlZC9wcm9qZWN0XzEvb3BlbmRldi5vcmcvenV1bC96dXVsLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18xL3JvbGVfMS96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzEvcm9sZV8yL3Jkby1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB0cnVzdGVkL3Byb2plY3RfMi9yZXZpZXcucmRvcHJvamVjdC5vcmcvcmRvLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18xL3JvbGVfMi9yZG8tam9icy9yb2xlcwogICAgICAgIC0gcGF0aDogdW50cnVzdGVkL3Byb2plY3RfMC9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yay9jaS9wbGF5Ym9va3MvZTJlLXByZXBhcmUueW1sCiAgICAgICAgICByb2xlczoKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1haW4KICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHBsYXlib29rIGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzIvcm9sZV8wL2NpLWZyYW1ld29yawogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMC9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2NpLWZyYW1ld29yawogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzIvcm9sZV8wL2NpLWZyYW1ld29yay9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wcmVfcGxheWJvb2tfMi9yb2xlXzEvY29uZmlnCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB1bnRydXN0ZWQvcHJvamVjdF8xL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9jb25maWcKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18yL3JvbGVfMS9jb25maWcvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzIvcm9sZV8yL3p1dWwtam9icwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMi9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzIvcm9sZV8yL3p1dWwtam9icy9yb2xlcwogICAgICAgICAgLSBjaGVja291dDogbWFzdGVyCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwcm9qZWN0IGRlZmF1bHQgYnJhbmNoCiAgICAgICAgICAgIGxpbmtfbmFtZTogYW5zaWJsZS9wcmVfcGxheWJvb2tfMi9yb2xlXzMvcmRvLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHVudHJ1c3RlZC9wcm9qZWN0XzMvcmV2aWV3LnJkb3Byb2plY3Qub3JnL3Jkby1qb2JzCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wcmVfcGxheWJvb2tfMi9yb2xlXzMvcmRvLWpvYnMvcm9sZXMKICAgICAgICAtIHBhdGg6IHVudHJ1c3RlZC9wcm9qZWN0XzAvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsvY2kvcGxheWJvb2tzL2R1bXBfenV1bF9kYXRhLnltbAogICAgICAgICAgcm9sZXM6CiAgICAgICAgICAtIGNoZWNrb3V0OiBtYWluCiAgICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiBwbGF5Ym9vayBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18zL3JvbGVfMC9jaS1mcmFtZXdvcmsKICAgICAgICAgICAgbGlua190YXJnZXQ6IHVudHJ1c3RlZC9wcm9qZWN0XzAvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18zL3JvbGVfMC9jaS1mcmFtZXdvcmsvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzMvcm9sZV8xL2NvbmZpZwogICAgICAgICAgICBsaW5rX3RhcmdldDogdW50cnVzdGVkL3Byb2plY3RfMS9yZXZpZXcucmRvcHJvamVjdC5vcmcvY29uZmlnCiAgICAgICAgICAgIHJvbGVfcGF0aDogYW5zaWJsZS9wcmVfcGxheWJvb2tfMy9yb2xlXzEvY29uZmlnL3JvbGVzCiAgICAgICAgICAtIGNoZWNrb3V0OiBtYXN0ZXIKICAgICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHByb2plY3QgZGVmYXVsdCBicmFuY2gKICAgICAgICAgICAgbGlua19uYW1lOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18zL3JvbGVfMi96dXVsLWpvYnMKICAgICAgICAgICAgbGlua190YXJnZXQ6IHVudHJ1c3RlZC9wcm9qZWN0XzIvb3BlbmRldi5vcmcvenV1bC96dXVsLWpvYnMKICAgICAgICAgICAgcm9sZV9wYXRoOiBhbnNpYmxlL3ByZV9wbGF5Ym9va18zL3JvbGVfMi96dXVsLWpvYnMvcm9sZXMKICAgICAgICAgIC0gY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogcHJvamVjdCBkZWZhdWx0IGJyYW5jaAogICAgICAgICAgICBsaW5rX25hbWU6IGFuc2libGUvcHJlX3BsYXlib29rXzMvcm9sZV8zL3Jkby1qb2JzCiAgICAgICAgICAgIGxpbmtfdGFyZ2V0OiB1bnRydXN0ZWQvcHJvamVjdF8zL3Jldmlldy5yZG9wcm9qZWN0Lm9yZy9yZG8tam9icwogICAgICAgICAgICByb2xlX3BhdGg6IGFuc2libGUvcHJlX3BsYXlib29rXzMvcm9sZV8zL3Jkby1qb2JzL3JvbGVzCiAgICAgIHBvc3RfcmV2aWV3OiBmYWxzZQogICAgICBwb3N0X3RpbWVvdXQ6IDU0MDAKICAgICAgcHJlX3RpbWVvdXQ6IG51bGwKICAgICAgcHJvamVjdDoKICAgICAgICBjYW5vbmljYWxfaG9zdG5hbWU6IGdpdGh1Yi5jb20KICAgICAgICBjYW5vbmljYWxfbmFtZTogZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICBuYW1lOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICBzaG9ydF9uYW1lOiBhcmNoaXRlY3R1cmUKICAgICAgICBzcmNfZGlyOiBzcmMvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgcHJvamVjdHM6CiAgICAgICAgZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmU6CiAgICAgICAgICBjYW5vbmljYWxfaG9zdG5hbWU6IGdpdGh1Yi5jb20KICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBnaXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgICAgY2hlY2tvdXQ6IG1haW4KICAgICAgICAgIGNoZWNrb3V0X2Rlc2NyaXB0aW9uOiB6dXVsIGJyYW5jaAogICAgICAgICAgY29tbWl0OiAwYjBkZmJiYjgwOWU1YjAwZDE3OWZlZDlkODZlMjRmMDBhYzExYzEzCiAgICAgICAgICBuYW1lOiBvcGVuc3RhY2stazhzLW9wZXJhdG9ycy9hcmNoaXRlY3R1cmUKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICAgICAgICBzaG9ydF9uYW1lOiBhcmNoaXRlY3R1cmUKICAgICAgICAgIHNyY19kaXI6IHNyYy9naXRodWIuY29tL29wZW5zdGFjay1rOHMtb3BlcmF0b3JzL2FyY2hpdGVjdHVyZQogICAgICAgIGdpdGh1Yi5jb20vb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrOgogICAgICAgICAgY2Fub25pY2FsX2hvc3RuYW1lOiBnaXRodWIuY29tCiAgICAgICAgICBjYW5vbmljYWxfbmFtZTogZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsKICAgICAgICAgIGNoZWNrb3V0OiBtYWluCiAgICAgICAgICBjaGVja291dF9kZXNjcmlwdGlvbjogenV1bCBicmFuY2gKICAgICAgICAgIGNvbW1pdDogYjA3OGRiN2IyODM2Y2Q3YzE2OGRlOWQxYTRkYjM4OTgzYWYxNzY0MgogICAgICAgICAgbmFtZTogb3BlbnN0YWNrLWs4cy1vcGVyYXRvcnMvY2ktZnJhbWV3b3JrCiAgICAgICAgICByZXF1aXJlZDogdHJ1ZQogICAgICAgICAgc2hvcnRfbmFtZTogY2ktZnJhbWV3b3JrCiAgICAgICAgICBzcmNfZGlyOiBzcmMvZ2l0aHViLmNvbS9vcGVuc3RhY2stazhzLW9wZXJhdG9ycy9jaS1mcmFtZXdvcmsKICAgICAgICBvcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9iczoKICAgICAgICAgIGNhbm9uaWNhbF9ob3N0bmFtZTogb3BlbmRldi5vcmcKICAgICAgICAgIGNhbm9uaWNhbF9uYW1lOiBvcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICAgICAgY2hlY2tvdXQ6IG1hc3RlcgogICAgICAgICAgY2hlY2tvdXRfZGVzY3JpcHRpb246IHByb2plY3QgZGVmYXVsdCBicmFuY2gKICAgICAgICAgIGNvbW1pdDogODJlM2U4YjEyOTJhMjVlMzgyMzViYjkyYjE1Nzk5MmQzMjY1MzFkMQogICAgICAgICAgbmFtZTogenV1bC96dXVsLWpvYnMKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICAgICAgICBzaG9ydF9uYW1lOiB6dXVsLWpvYnMKICAgICAgICAgIHNyY19kaXI6IHNyYy9vcGVuZGV2Lm9yZy96dXVsL3p1dWwtam9icwogICAgICByZWY6IHJlZnMvcHVsbC83NjQvaGVhZAogICAgICByZXNvdXJjZXM6IHt9CiAgICAgIHRlbmFudDogcmRvcHJvamVjdC5vcmcKICAgICAgdGltZW91dDogMTgwMAogICAgICB0b3BpYzogbnVsbAogICAgICB2b3Rpbmc6IHRydWUK",
                            "encoding": "base64",
                            "invocation": {
                                "module_args": {
                                    "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs/zuul-info/inventory.yaml",
                                    "src": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs/zuul-info/inventory.yaml"
                                }
                            },
                            "source": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs/zuul-info/inventory.yaml"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:43:04.036626Z",
                            "start": "2026-06-10T10:43:03.553426Z"
                        },
                        "id": "0a580a2a-0021-4c45-ac63-000000000005",
                        "name": "Slurp Zuul inventory test"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "92e45e45affd88a87fa86dcb280af0cbfb914f87",
                            "dest": "/home/zuul/ci-framework-data/artifacts/zuul_inventory.yml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "tmpiscljiuj",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "92e45e45affd88a87fa86dcb280af0cbfb914f87",
                                    "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-1781088184.1916807-22-192088855026943/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "4cb60ffe5c182fa2410d65b5b12ca426",
                            "mode": "0644",
                            "owner": "zuul",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 48728,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781088184.1916807-22-192088855026943/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:43:05.201609Z",
                            "start": "2026-06-10T10:43:04.044118Z"
                        },
                        "id": "0a580a2a-0021-4c45-ac63-000000000006",
                        "name": "Save zuul inventory"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "checksum": "7a3e7743beed82d6ff4e1487eae1c86ab7f78fbc",
                            "dest": "/home/zuul/ci-framework-data/artifacts/parameters/zuul-params.yml",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "tmp0ry8o2_z",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "7a3e7743beed82d6ff4e1487eae1c86ab7f78fbc",
                                    "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-1781088185.371064-31-143099739490492/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "802f47fd9ba0d9437a37a45362d443a6",
                            "mode": "0644",
                            "owner": "zuul",
                            "secontext": "unconfined_u:object_r:user_home_t:s0",
                            "size": 23317,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1781088185.371064-31-143099739490492/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:43:06.105833Z",
                            "start": "2026-06-10T10:43:05.206523Z"
                        },
                        "id": "0a580a2a-0021-4c45-ac63-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-10T10:45:04.180592Z",
                    "start": "2026-06-10T10:43:06.891049Z"
                },
                "id": "0a580a2a-0021-1ccf-043e-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-10T10:43:06.910434Z",
                            "start": "2026-06-10T10:43:06.902310Z"
                        },
                        "id": "0a580a2a-0021-1ccf-043e-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:01:56.290389",
                            "end": "2026-06-10 10:45:03.628288",
                            "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-1ccf-043e-000000000005-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:43:07.337899",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "\nPLAY [Test architecture automations] *******************************************\n\nTASK [Gathering Facts ] ********************************************************\nWednesday 10 June 2026  10:43:07 +0000 (0:00:00.029)       0:00:00.029 ******** \nWednesday 10 June 2026  10:43:07 +0000 (0:00:00.028)       0:00:00.028 ******** \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']] ***\nWednesday 10 June 2026  10:43:08 +0000 (0:00:00.925)       0:00:00.954 ******** \nWednesday 10 June 2026  10:43:08 +0000 (0:00:00.925)       0:00:00.953 ******** \nok: [localhost]\n\nTASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] ***\nWednesday 10 June 2026  10:43:08 +0000 (0:00:00.070)       0:00:01.025 ******** \nWednesday 10 June 2026  10:43:08 +0000 (0:00:00.070)       0:00:01.023 ******** \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] *********\nWednesday 10 June 2026  10:43:08 +0000 (0:00:00.046)       0:00:01.071 ******** \nWednesday 10 June 2026  10:43:08 +0000 (0:00:00.046)       0:00:01.070 ******** \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] ***\nWednesday 10 June 2026  10:43:09 +0000 (0:00:00.035)       0:00:01.107 ******** \nWednesday 10 June 2026  10:43:09 +0000 (0:00:00.036)       0:00:01.106 ******** \nchanged: [localhost]\n\nTASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] ***\nWednesday 10 June 2026  10:43:11 +0000 (0:00:02.896)       0:00:04.004 ******** \nWednesday 10 June 2026  10:43:11 +0000 (0:00:02.896)       0:00:04.002 ******** \nok: [localhost]\n\nTASK [ci_setup : Ensure openshift client install path is present path={{ cifmw_ci_setup_oc_install_path }}, state=directory, mode=0755] ***\nWednesday 10 June 2026  10:43:12 +0000 (0:00:00.317)       0:00:04.322 ******** \nWednesday 10 June 2026  10:43:12 +0000 (0:00:00.317)       0:00:04.320 ******** \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] ***\nWednesday 10 June 2026  10:43:12 +0000 (0:00:00.371)       0:00:04.693 ******** \nWednesday 10 June 2026  10:43:12 +0000 (0:00:00.371)       0:00:04.691 ******** \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] ***\nWednesday 10 June 2026  10:43:16 +0000 (0:00:03.958)       0:00:08.651 ******** \nWednesday 10 June 2026  10:43:16 +0000 (0:00:03.958)       0:00:08.650 ******** \nskipping: [localhost]\n\nTASK [ci_setup : Create completion file] ***************************************\nWednesday 10 June 2026  10:43:16 +0000 (0:00:00.035)       0:00:08.687 ******** \nWednesday 10 June 2026  10:43:16 +0000 (0:00:00.035)       0:00:08.685 ******** \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] ***\nWednesday 10 June 2026  10:43:16 +0000 (0:00:00.330)       0:00:09.017 ******** \nWednesday 10 June 2026  10:43:16 +0000 (0:00:00.330)       0:00:09.016 ******** \nchanged: [localhost]\n\nTASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] ****\nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.317)       0:00:09.335 ******** \nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.317)       0:00:09.334 ******** \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}}] ***\nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.024)       0:00:09.360 ******** \nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.024)       0:00:09.358 ******** \nskipping: [localhost]\n\nTASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] ***\nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.023)       0:00:09.383 ******** \nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.023)       0:00:09.381 ******** \nskipping: [localhost]\n\nTASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] ***\nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.022)       0:00:09.405 ******** \nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.022)       0:00:09.404 ******** \nskipping: [localhost]\n\nTASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] ***\nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.020)       0:00:09.425 ******** \nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.020)       0:00:09.424 ******** \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') }}] ***\nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.022)       0:00:09.448 ******** \nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.022)       0:00:09.447 ******** \nskipping: [localhost]\n\nTASK [ci_setup : Manage directories path={{ item }}, state={{ directory_state }}, mode=0755, owner={{ ansible_user_id }}, group={{ ansible_user_id }}] ***\nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.024)       0:00:09.472 ******** \nWednesday 10 June 2026  10:43:17 +0000 (0:00:00.024)       0:00:09.471 ******** \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] ***\nWednesday 10 June 2026  10:43:18 +0000 (0:00:01.093)       0:00:10.565 ******** \nWednesday 10 June 2026  10:43:18 +0000 (0:00:01.093)       0:00:10.564 ******** \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 }}] **********************\nWednesday 10 June 2026  10:43:18 +0000 (0:00:00.408)       0:00:10.973 ******** \nWednesday 10 June 2026  10:43:18 +0000 (0:00:00.408)       0:00:10.972 ******** \nok: [localhost]\n\nTASK [Slurp file from remote src={{ _mock_file }}] *****************************\nWednesday 10 June 2026  10:43:19 +0000 (0:00:00.253)       0:00:11.227 ******** \nWednesday 10 June 2026  10:43:19 +0000 (0:00:00.253)       0:00:11.225 ******** \nok: [localhost]\n\nTASK [Copy file on localhost dest={{ lookup('env', 'HOME') ~ '/' ~ cifmw_architecture_scenario ~ '.yml' }}, mode=0644, content={{ _mock_content.content | b64decode }}] ***\nWednesday 10 June 2026  10:43:19 +0000 (0:00:00.290)       0:00:11.517 ******** \nWednesday 10 June 2026  10:43:19 +0000 (0:00:00.290)       0:00:11.516 ******** \nchanged: [localhost]\n\nTASK [Include var file file={{ lookup('env', 'HOME') ~ '/' ~ cifmw_architecture_scenario ~ '.yml' }}] ***\nWednesday 10 June 2026  10:43:19 +0000 (0:00:00.574)       0:00:12.092 ******** \nWednesday 10 June 2026  10:43:19 +0000 (0:00:00.574)       0:00:12.091 ******** \nok: [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 }}] ***\nWednesday 10 June 2026  10:43:20 +0000 (0:00:00.036)       0:00:12.128 ******** \nWednesday 10 June 2026  10:43:20 +0000 (0:00:00.036)       0:00:12.127 ******** \nok: [localhost]\n\nTASK [kustomize_deploy : Gather the list of scenario folders paths={{ _va_scenario_dir }}, patterns=kustomization.y*ml, recurse=True] ***\nWednesday 10 June 2026  10:43:20 +0000 (0:00:00.341)       0:00:12.470 ******** \nWednesday 10 June 2026  10:43:20 +0000 (0:00:00.341)       0:00:12.468 ******** \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] ***\nWednesday 10 June 2026  10:43:20 +0000 (0:00:00.437)       0:00:12.907 ******** \nWednesday 10 June 2026  10:43:20 +0000 (0:00:00.437)       0:00:12.906 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Ensure that destination directory exists path={{ cifmw_kustomize_deploy_kustomizations_dest_dir }}, mode=0755, state=directory] ***\nWednesday 10 June 2026  10:43:20 +0000 (0:00:00.030)       0:00:12.938 ******** \nWednesday 10 June 2026  10:43:20 +0000 (0:00:00.030)       0:00:12.936 ******** \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}}] ***\nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.240)       0:00:13.178 ******** \nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.240)       0:00:13.177 ******** \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}}] ***\nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.087)       0:00:13.266 ******** \nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.087)       0:00:13.265 ******** \nok: [localhost]\n\nTASK [networking_mapper : Check for Networking Environment Definition file existence path={{ cifmw_networking_mapper_networking_env_def_path }}] ***\nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.132)       0:00:13.399 ******** \nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.132)       0:00:13.398 ******** \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] ***\nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.248)       0:00:13.648 ******** \nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.248)       0:00:13.647 ******** \nok: [localhost]\n\nTASK [networking_mapper : Load the Networking Definition from file path={{ cifmw_networking_mapper_networking_env_def_path }}] ***\nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.068)       0:00:13.717 ******** \nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.068)       0:00:13.715 ******** \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] ***\nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.237)       0:00:13.954 ******** \nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.237)       0:00:13.953 ******** \nok: [localhost]\n\nTASK [Discover automation files paths={{\n  [cifmw_architecture_repo, _automation_relative] |\n  path_join\n}}, patterns=*.yaml] ***\nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.093)       0:00:14.048 ******** \nWednesday 10 June 2026  10:43:21 +0000 (0:00:00.093)       0:00:14.047 ******** \nok: [localhost]\n\nTASK [Get automation contents path={{ item.path }}] ****************************\nWednesday 10 June 2026  10:43:22 +0000 (0:00:00.311)       0:00:14.359 ******** \nWednesday 10 June 2026  10:43:22 +0000 (0:00:00.311)       0:00:14.358 ******** \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}}] ***\nWednesday 10 June 2026  10:43:30 +0000 (0:00:08.437)       0:00:22.797 ******** \nWednesday 10 June 2026  10:43:30 +0000 (0:00:08.437)       0:00:22.795 ******** \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] }}] ***\nWednesday 10 June 2026  10:43:32 +0000 (0:00:02.066)       0:00:24.863 ******** \nWednesday 10 June 2026  10:43:32 +0000 (0:00:02.066)       0:00:24.862 ******** \nok: [localhost]\n\nTASK [Create needed SSH keypairs comment={{ item.comment }}, path={{ item.path }}, type=ecdsa, size=521] ***\nWednesday 10 June 2026  10:43:32 +0000 (0:00:00.040)       0:00:24.904 ******** \nWednesday 10 June 2026  10:43:32 +0000 (0:00:00.040)       0:00:24.902 ******** \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 }}] ************************************\nWednesday 10 June 2026  10:43:33 +0000 (0:00:00.703)       0:00:25.607 ******** \nWednesday 10 June 2026  10:43:33 +0000 (0:00:00.703)       0:00:25.606 ******** \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 }}] ***********************************\nWednesday 10 June 2026  10:43:33 +0000 (0:00:00.410)       0:00:26.018 ******** \nWednesday 10 June 2026  10:43:33 +0000 (0:00:00.409)       0:00:26.016 ******** \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}}] ***\nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.358)       0:00:26.376 ******** \nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.358)       0:00:26.375 ******** \nok: [localhost]\n\nTASK [Execute deployment steps name=kustomize_deploy, tasks_from=execute_step.yml, apply={'tags': ['edpm_deploy']}] ***\nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.043)       0:00:26.420 ******** \nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.043)       0:00:26.418 ******** \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\"]] ***\nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.269)       0:00:26.689 ******** \nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.269)       0:00:26.688 ******** \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] ***\nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.063)       0:00:26.753 ******** \nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.063)       0:00:26.752 ******** \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] ***\nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.035)       0:00:26.788 ******** \nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.035)       0:00:26.787 ******** \nok: [localhost] => (item=oc -n openstack 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.] ***\nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.043)       0:00:26.832 ******** \nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.043)       0:00:26.830 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.039)       0:00:26.871 ******** \nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.039)       0:00:26.870 ******** \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}}] ***\nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.046)       0:00:26.918 ******** \nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.046)       0:00:26.917 ******** \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] ***\nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.046)       0:00:26.964 ******** \nWednesday 10 June 2026  10:43:34 +0000 (0:00:00.046)       0:00:26.963 ******** \nok: [localhost] => (item={'name': 'network-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] ***\nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.260)       0:00:27.225 ******** \nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.261)       0:00:27.224 ******** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking/nncp name=run_hook] ***\nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.062)       0:00:27.288 ******** \nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.062)       0:00:27.286 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane/networking/nncp name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.045)       0:00:27.333 ******** \nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.045)       0:00:27.332 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.101)       0:00:27.435 ******** \nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.101)       0:00:27.433 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.049)       0:00:27.484 ******** \nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.049)       0:00:27.483 ******** \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.] ***\nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.055)       0:00:27.539 ******** \nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.055)       0:00:27.538 ******** \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] ***\nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.053)       0:00:27.593 ******** \nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.053)       0:00:27.591 ******** \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.] ***\nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.275)       0:00:27.868 ******** \nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.275)       0:00:27.867 ******** \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 }}] ***\nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.092)       0:00:27.961 ******** \nWednesday 10 June 2026  10:43:35 +0000 (0:00:00.092)       0:00:27.960 ******** \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] ***\nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.218)       0:00:28.180 ******** \nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.218)       0:00:28.178 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.300)       0:00:28.480 ******** \nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.300)       0:00:28.479 ******** \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']] ***\nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.108)       0:00:28.589 ******** \nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.108)       0:00:28.587 ******** \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] ***\nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.056)       0:00:28.645 ******** \nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.056)       0:00:28.643 ******** \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] ***\nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.225)       0:00:28.870 ******** \nWednesday 10 June 2026  10:43:36 +0000 (0:00:00.225)       0:00:28.869 ******** \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] }}] ***\nWednesday 10 June 2026  10:43:37 +0000 (0:00:00.581)       0:00:29.452 ******** \nWednesday 10 June 2026  10:43:37 +0000 (0:00:00.581)       0:00:29.450 ******** \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] ***\nWednesday 10 June 2026  10:43:37 +0000 (0:00:00.082)       0:00:29.534 ******** \nWednesday 10 June 2026  10:43:37 +0000 (0:00:00.082)       0:00:29.533 ******** \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] ***\nWednesday 10 June 2026  10:43:37 +0000 (0:00:00.409)       0:00:29.944 ******** \nWednesday 10 June 2026  10:43:37 +0000 (0:00:00.409)       0:00:29.942 ******** \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] ***\nWednesday 10 June 2026  10:43:38 +0000 (0:00:00.464)       0:00:30.408 ******** \nWednesday 10 June 2026  10:43:38 +0000 (0:00:00.464)       0:00:30.407 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:43:38 +0000 (0:00:00.463)       0:00:30.872 ******** \nWednesday 10 June 2026  10:43:38 +0000 (0:00:00.463)       0:00:30.870 ******** \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!] ***\nWednesday 10 June 2026  10:43:38 +0000 (0:00:00.111)       0:00:30.983 ******** \nWednesday 10 June 2026  10:43:38 +0000 (0:00:00.110)       0:00:30.981 ******** \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] ***\nWednesday 10 June 2026  10:43:38 +0000 (0:00:00.083)       0:00:31.066 ******** \nWednesday 10 June 2026  10:43:38 +0000 (0:00:00.083)       0:00:31.065 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:43:39 +0000 (0:00:00.311)       0:00:31.378 ******** \nWednesday 10 June 2026  10:43:39 +0000 (0:00:00.311)       0:00:31.377 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:43:39 +0000 (0:00:00.074)       0:00:31.452 ******** \nWednesday 10 June 2026  10:43:39 +0000 (0:00:00.074)       0:00:31.451 ******** \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] ***\nWednesday 10 June 2026  10:43:40 +0000 (0:00:00.653)       0:00:32.106 ******** \nWednesday 10 June 2026  10:43:40 +0000 (0:00:00.653)       0:00:32.104 ******** \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] ***\nWednesday 10 June 2026  10:43:40 +0000 (0:00:00.177)       0:00:32.284 ******** \nWednesday 10 June 2026  10:43:40 +0000 (0:00:00.177)       0:00:32.282 ******** \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] ***\nWednesday 10 June 2026  10:43:40 +0000 (0:00:00.253)       0:00:32.537 ******** \nWednesday 10 June 2026  10:43:40 +0000 (0:00:00.253)       0:00:32.536 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/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 }}] ***\nWednesday 10 June 2026  10:43:40 +0000 (0:00:00.470)       0:00:33.008 ******** \nWednesday 10 June 2026  10:43:40 +0000 (0:00:00.470)       0:00:33.006 ******** \nchanged: [localhost] => (item=network-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:43:41 +0000 (0:00:00.249)       0:00:33.257 ******** \nWednesday 10 June 2026  10:43:41 +0000 (0:00:00.249)       0:00:33.256 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane/networking/nncp chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:43:41 +0000 (0:00:00.072)       0:00:33.330 ******** \nWednesday 10 June 2026  10:43:41 +0000 (0:00:00.072)       0:00:33.329 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:43:41 +0000 (0:00:00.579)       0:00:33.910 ******** \nWednesday 10 June 2026  10:43:41 +0000 (0:00:00.579)       0:00:33.908 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane/networking/nncp executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.471)       0:00:34.381 ******** \nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.471)       0:00:34.380 ******** \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}}] ***\nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.048)       0:00:34.429 ******** \nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.048)       0:00:34.428 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/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] ***\nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.082)       0:00:34.512 ******** \nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.082)       0:00:34.511 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.324)       0:00:34.837 ******** \nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.324)       0:00:34.836 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane/networking/nncp _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.071)       0:00:34.908 ******** \nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.071)       0:00:34.907 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane/networking/nncp _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.069)       0:00:34.978 ******** \nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.069)       0:00:34.977 ******** \nskipping: [localhost] => (item=oc -n openstack 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 }}] ***\nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.062)       0:00:35.041 ******** \nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.062)       0:00:35.039 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking/nncp name=run_hook] ***\nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.050)       0:00:35.091 ******** \nWednesday 10 June 2026  10:43:42 +0000 (0:00:00.050)       0:00:35.090 ******** \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\"]] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.056)       0:00:35.148 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.056)       0:00:35.147 ******** \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] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.073)       0:00:35.221 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.073)       0:00:35.220 ******** \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] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.035)       0:00:35.256 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.035)       0:00:35.255 ******** \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.] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.031)       0:00:35.287 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.031)       0:00:35.286 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.028)       0:00:35.316 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.028)       0:00:35.315 ******** \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}}] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.033)       0:00:35.350 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.033)       0:00:35.348 ******** \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] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.087)       0:00:35.437 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.087)       0:00:35.436 ******** \nok: [localhost] => (item={'name': 'network-values', 'src_file': '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] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.256)       0:00:35.694 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.256)       0:00:35.692 ******** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking name=run_hook] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.096)       0:00:35.791 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.096)       0:00:35.789 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane/networking name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.052)       0:00:35.843 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.052)       0:00:35.841 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.110)       0:00:35.953 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.110)       0:00:35.952 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.043)       0:00:35.996 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.043)       0:00:35.995 ******** \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.] ***\nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.065)       0:00:36.062 ******** \nWednesday 10 June 2026  10:43:43 +0000 (0:00:00.065)       0:00:36.060 ******** \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] ***\nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.059)       0:00:36.121 ******** \nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.059)       0:00:36.119 ******** \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.] ***\nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.216)       0:00:36.337 ******** \nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.216)       0:00:36.336 ******** \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 }}] ***\nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.054)       0:00:36.391 ******** \nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.054)       0:00:36.390 ******** \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] ***\nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.234)       0:00:36.626 ******** \nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.234)       0:00:36.625 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.238)       0:00:36.865 ******** \nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.238)       0:00:36.863 ******** \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']] ***\nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.082)       0:00:36.947 ******** \nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.082)       0:00:36.946 ******** \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] ***\nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.057)       0:00:37.004 ******** \nWednesday 10 June 2026  10:43:44 +0000 (0:00:00.057)       0:00:37.003 ******** \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] ***\nWednesday 10 June 2026  10:43:45 +0000 (0:00:00.227)       0:00:37.231 ******** \nWednesday 10 June 2026  10:43:45 +0000 (0:00:00.227)       0:00:37.230 ******** \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] }}] ***\nWednesday 10 June 2026  10:43:45 +0000 (0:00:00.550)       0:00:37.782 ******** \nWednesday 10 June 2026  10:43:45 +0000 (0:00:00.550)       0:00:37.781 ******** \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] ***\nWednesday 10 June 2026  10:43:45 +0000 (0:00:00.079)       0:00:37.862 ******** \nWednesday 10 June 2026  10:43:45 +0000 (0:00:00.080)       0:00:37.861 ******** \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] ***\nWednesday 10 June 2026  10:43:46 +0000 (0:00:00.452)       0:00:38.314 ******** \nWednesday 10 June 2026  10:43:46 +0000 (0:00:00.451)       0:00:38.313 ******** \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] ***\nWednesday 10 June 2026  10:43:46 +0000 (0:00:00.417)       0:00:38.731 ******** \nWednesday 10 June 2026  10:43:46 +0000 (0:00:00.417)       0:00:38.730 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.462)       0:00:39.194 ******** \nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.462)       0:00:39.192 ******** \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!] ***\nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.115)       0:00:39.309 ******** \nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.115)       0:00:39.307 ******** \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] ***\nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.073)       0:00:39.382 ******** \nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.073)       0:00:39.381 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.252)       0:00:39.634 ******** \nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.252)       0:00:39.633 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.079)       0:00:39.714 ******** \nWednesday 10 June 2026  10:43:47 +0000 (0:00:00.079)       0:00:39.713 ******** \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] ***\nWednesday 10 June 2026  10:43:48 +0000 (0:00:00.653)       0:00:40.368 ******** \nWednesday 10 June 2026  10:43:48 +0000 (0:00:00.653)       0:00:40.367 ******** \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] ***\nWednesday 10 June 2026  10:43:48 +0000 (0:00:00.171)       0:00:40.539 ******** \nWednesday 10 June 2026  10:43:48 +0000 (0:00:00.171)       0:00:40.538 ******** \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] ***\nWednesday 10 June 2026  10:43:48 +0000 (0:00:00.234)       0:00:40.774 ******** \nWednesday 10 June 2026  10:43:48 +0000 (0:00:00.234)       0:00:40.773 ******** \nok: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/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 }}] ***\nWednesday 10 June 2026  10:43:49 +0000 (0:00:00.515)       0:00:41.289 ******** \nWednesday 10 June 2026  10:43:49 +0000 (0:00:00.515)       0:00:41.288 ******** \nok: [localhost] => (item=network-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:43:49 +0000 (0:00:00.290)       0:00:41.580 ******** \nWednesday 10 June 2026  10:43:49 +0000 (0:00:00.290)       0:00:41.579 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane/networking chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:43:49 +0000 (0:00:00.050)       0:00:41.630 ******** \nWednesday 10 June 2026  10:43:49 +0000 (0:00:00.050)       0:00:41.629 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.472)       0:00:42.103 ******** \nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.472)       0:00:42.101 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane/networking executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.521)       0:00:42.624 ******** \nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.521)       0:00:42.623 ******** \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}}] ***\nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.058)       0:00:42.682 ******** \nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.058)       0:00:42.681 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/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] ***\nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.056)       0:00:42.739 ******** \nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.056)       0:00:42.738 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.306)       0:00:43.046 ******** \nWednesday 10 June 2026  10:43:50 +0000 (0:00:00.306)       0:00:43.044 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane/networking _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.084)       0:00:43.130 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.084)       0:00:43.129 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane/networking _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.064)       0:00:43.195 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.064)       0:00:43.194 ******** \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 }}] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.084)       0:00:43.279 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.084)       0:00:43.278 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking name=run_hook] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.048)       0:00:43.328 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.048)       0:00:43.327 ******** \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\"]] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.047)       0:00:43.376 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.047)       0:00:43.374 ******** \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] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.040)       0:00:43.416 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.040)       0:00:43.414 ******** \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] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.033)       0:00:43.449 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.033)       0:00:43.447 ******** \nok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=OpenStackControlPlaneDNSReadyCondition --timeout=20m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.031)       0:00:43.481 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.031)       0:00:43.479 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.023)       0:00:43.504 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.023)       0:00:43.503 ******** \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}}] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.035)       0:00:43.540 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.035)       0:00:43.539 ******** \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] ***\nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.110)       0:00:43.651 ******** \nWednesday 10 June 2026  10:43:51 +0000 (0:00:00.110)       0:00:43.649 ******** \nok: [localhost] => (item={'name': 'network-values', 'src_file': 'networking/nncp/values.yaml'})\nok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.476)       0:00:44.128 ******** \nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.476)       0:00:44.126 ******** \nok: [localhost] => (item=values.yaml)\nok: [localhost] => (item=service-values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane name=run_hook] ***\nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.159)       0:00:44.287 ******** \nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.159)       0:00:44.285 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.083)       0:00:44.371 ******** \nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.083)       0:00:44.369 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.168)       0:00:44.539 ******** \nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.168)       0:00:44.537 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.073)       0:00:44.612 ******** \nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.073)       0:00:44.611 ******** \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.] ***\nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.084)       0:00:44.697 ******** \nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.084)       0:00:44.696 ******** \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] ***\nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.060)       0:00:44.757 ******** \nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.060)       0:00:44.756 ******** \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.] ***\nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.262)       0:00:45.020 ******** \nWednesday 10 June 2026  10:43:52 +0000 (0:00:00.262)       0:00:45.019 ******** \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 }}] ***\nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.089)       0:00:45.110 ******** \nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.089)       0:00:45.109 ******** \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] ***\nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.260)       0:00:45.370 ******** \nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.259)       0:00:45.369 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.276)       0:00:45.647 ******** \nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.277)       0:00:45.646 ******** \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']] ***\nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.098)       0:00:45.745 ******** \nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.098)       0:00:45.744 ******** \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] ***\nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.074)       0:00:45.820 ******** \nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.074)       0:00:45.819 ******** \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] ***\nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.216)       0:00:46.036 ******** \nWednesday 10 June 2026  10:43:53 +0000 (0:00:00.216)       0:00:46.035 ******** \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] }}] ***\nWednesday 10 June 2026  10:43:54 +0000 (0:00:00.611)       0:00:46.648 ******** \nWednesday 10 June 2026  10:43:54 +0000 (0:00:00.611)       0:00:46.647 ******** \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] ***\nWednesday 10 June 2026  10:43:54 +0000 (0:00:00.098)       0:00:46.747 ******** \nWednesday 10 June 2026  10:43:54 +0000 (0:00:00.098)       0:00:46.746 ******** \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] ***\nWednesday 10 June 2026  10:43:55 +0000 (0:00:00.538)       0:00:47.286 ******** \nWednesday 10 June 2026  10:43:55 +0000 (0:00:00.538)       0:00:47.285 ******** \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] ***\nWednesday 10 June 2026  10:43:55 +0000 (0:00:00.505)       0:00:47.792 ******** \nWednesday 10 June 2026  10:43:55 +0000 (0:00:00.505)       0:00:47.790 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.543)       0:00:48.335 ******** \nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.543)       0:00:48.334 ******** \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!] ***\nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.099)       0:00:48.435 ******** \nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.099)       0:00:48.433 ******** \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] ***\nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.065)       0:00:48.500 ******** \nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.065)       0:00:48.499 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.218)       0:00:48.719 ******** \nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.218)       0:00:48.717 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.078)       0:00:48.797 ******** \nWednesday 10 June 2026  10:43:56 +0000 (0:00:00.078)       0:00:48.795 ******** \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] ***\nWednesday 10 June 2026  10:43:57 +0000 (0:00:00.708)       0:00:49.505 ******** \nWednesday 10 June 2026  10:43:57 +0000 (0:00:00.708)       0:00:49.504 ******** \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] ***\nWednesday 10 June 2026  10:43:57 +0000 (0:00:00.170)       0:00:49.676 ******** \nWednesday 10 June 2026  10:43:57 +0000 (0:00:00.170)       0:00:49.674 ******** \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] ***\nWednesday 10 June 2026  10:43:57 +0000 (0:00:00.270)       0:00:49.946 ******** \nWednesday 10 June 2026  10:43:57 +0000 (0:00:00.270)       0:00:49.945 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.522)       0:00:50.468 ******** \nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.522)       0:00:50.467 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.082)       0:00:50.550 ******** \nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.082)       0:00:50.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.] ***\nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.109)       0:00:50.659 ******** \nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.108)       0:00:50.658 ******** \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] ***\nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.080)       0:00:50.740 ******** \nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.080)       0:00:50.739 ******** \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.] ***\nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.259)       0:00:51.000 ******** \nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.260)       0:00:50.999 ******** \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 }}] ***\nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.064)       0:00:51.065 ******** \nWednesday 10 June 2026  10:43:58 +0000 (0:00:00.064)       0:00:51.063 ******** \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] ***\nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.254)       0:00:51.319 ******** \nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.254)       0:00:51.318 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.286)       0:00:51.606 ******** \nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.286)       0:00:51.604 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.048)       0:00:51.654 ******** \nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.048)       0:00: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] ***\nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.241)       0:00:51.896 ******** \nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.241)       0:00:51.895 ******** \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] }}] ***\nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.074)       0:00:51.970 ******** \nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.074)       0:00:51.969 ******** \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] ***\nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.078)       0:00:52.049 ******** \nWednesday 10 June 2026  10:43:59 +0000 (0:00:00.078)       0:00:52.048 ******** \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] ***\nWednesday 10 June 2026  10:44:00 +0000 (0:00:00.425)       0:00:52.474 ******** \nWednesday 10 June 2026  10:44:00 +0000 (0:00:00.425)       0:00:52.473 ******** \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] ***\nWednesday 10 June 2026  10:44:00 +0000 (0:00:00.424)       0:00:52.898 ******** \nWednesday 10 June 2026  10:44:00 +0000 (0:00:00.424)       0:00:52.897 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.447)       0:00:53.346 ******** \nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.447)       0:00:53.344 ******** \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!] ***\nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.091)       0:00:53.437 ******** \nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.091)       0:00:53.436 ******** \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] ***\nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.067)       0:00:53.505 ******** \nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.067)       0:00:53.503 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.260)       0:00:53.765 ******** \nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.260)       0:00:53.764 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.077)       0:00:53.843 ******** \nWednesday 10 June 2026  10:44:01 +0000 (0:00:00.078)       0:00:53.842 ******** \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] ***\nWednesday 10 June 2026  10:44:02 +0000 (0:00:00.461)       0:00:54.304 ******** \nWednesday 10 June 2026  10:44:02 +0000 (0:00:00.461)       0:00:54.303 ******** \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] ***\nWednesday 10 June 2026  10:44:02 +0000 (0:00:00.137)       0:00:54.442 ******** \nWednesday 10 June 2026  10:44:02 +0000 (0:00:00.137)       0:00:54.441 ******** \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] ***\nWednesday 10 June 2026  10:44:02 +0000 (0:00:00.203)       0:00:54.645 ******** \nWednesday 10 June 2026  10:44:02 +0000 (0:00:00.203)       0:00:54.644 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/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 }}] ***\nWednesday 10 June 2026  10:44:02 +0000 (0:00:00.402)       0:00:55.048 ******** \nWednesday 10 June 2026  10:44:02 +0000 (0:00:00.402)       0:00:55.047 ******** \nok: [localhost] => (item=network-values)\nchanged: [localhost] => (item=service-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:03 +0000 (0:00:00.567)       0:00:55.615 ******** \nWednesday 10 June 2026  10:44:03 +0000 (0:00:00.567)       0:00:55.614 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:44:03 +0000 (0:00:00.075)       0:00:55.690 ******** \nWednesday 10 June 2026  10:44:03 +0000 (0:00:00.075)       0:00:55.689 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.468)       0:00:56.159 ******** \nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.468)       0:00:56.158 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.444)       0:00:56.604 ******** \nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.444)       0:00:56.603 ******** \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}}] ***\nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.054)       0:00:56.659 ******** \nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.054)       0:00:56.657 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/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] ***\nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.049)       0:00:56.708 ******** \nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.049)       0:00:56.707 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.298)       0:00:57.007 ******** \nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.298)       0:00:57.005 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.050)       0:00:57.057 ******** \nWednesday 10 June 2026  10:44:04 +0000 (0:00:00.050)       0:00:57.056 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.053)       0:00:57.111 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.053)       0:00:57.110 ******** \nskipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=OpenStackControlPlaneDNSReadyCondition --timeout=20m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.047)       0:00:57.159 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.047)       0:00:57.158 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane name=run_hook] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.054)       0:00:57.213 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.054)       0:00:57.212 ******** \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\"]] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.088)       0:00:57.302 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.088)       0:00:57.300 ******** \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] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.046)       0:00:57.348 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.046)       0:00:57.347 ******** \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] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.028)       0:00:57.376 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.028)       0:00:57.375 ******** \nok: [localhost] => (item=oc -n openshift-dns wait dns.operator/default --for condition=Available --timeout=20m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.035)       0:00:57.412 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.035)       0:00:57.410 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.027)       0:00:57.439 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.027)       0:00:57.438 ******** \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}}] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.028)       0:00:57.468 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.028)       0:00:57.466 ******** \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] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.045)       0:00:57.514 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.045)       0:00:57.512 ******** \nok: [localhost] => (item={'name': 'dns-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] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.246)       0:00:57.760 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.246)       0:00:57.759 ******** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking/dns name=run_hook] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.071)       0:00:57.832 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.071)       0:00:57.831 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane/networking/dns name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.050)       0:00:57.883 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.050)       0:00:57.881 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.074)       0:00:57.958 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.074)       0:00:57.956 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.049)       0:00:58.007 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.049)       0:00:58.006 ******** \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.] ***\nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.072)       0:00:58.080 ******** \nWednesday 10 June 2026  10:44:05 +0000 (0:00:00.072)       0:00:58.078 ******** \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] ***\nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.050)       0:00:58.130 ******** \nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.050)       0:00:58.129 ******** \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.] ***\nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.179)       0:00:58.310 ******** \nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.179)       0:00:58.309 ******** \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 }}] ***\nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.046)       0:00:58.357 ******** \nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.046)       0:00:58.356 ******** \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] ***\nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.226)       0:00:58.583 ******** \nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.226)       0:00:58.582 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.314)       0:00:58.898 ******** \nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.314)       0:00:58.897 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.054)       0:00:58.953 ******** \nWednesday 10 June 2026  10:44:06 +0000 (0:00:00.054)       0:00:58.952 ******** \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] ***\nWednesday 10 June 2026  10:44:07 +0000 (0:00:00.247)       0:00:59.201 ******** \nWednesday 10 June 2026  10:44:07 +0000 (0:00:00.247)       0:00:59.200 ******** \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] }}] ***\nWednesday 10 June 2026  10:44:07 +0000 (0:00:00.099)       0:00:59.300 ******** \nWednesday 10 June 2026  10:44:07 +0000 (0:00:00.099)       0:00:59.299 ******** \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] ***\nWednesday 10 June 2026  10:44:07 +0000 (0:00:00.091)       0:00:59.392 ******** \nWednesday 10 June 2026  10:44:07 +0000 (0:00:00.091)       0:00:59.390 ******** \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] ***\nWednesday 10 June 2026  10:44:07 +0000 (0:00:00.493)       0:00:59.885 ******** \nWednesday 10 June 2026  10:44:07 +0000 (0:00:00.493)       0:00:59.884 ******** \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] ***\nWednesday 10 June 2026  10:44:08 +0000 (0:00:00.446)       0:01:00.331 ******** \nWednesday 10 June 2026  10:44:08 +0000 (0:00:00.446)       0:01:00.330 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:44:08 +0000 (0:00:00.472)       0:01:00.804 ******** \nWednesday 10 June 2026  10:44:08 +0000 (0:00:00.472)       0:01:00.803 ******** \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!] ***\nWednesday 10 June 2026  10:44:08 +0000 (0:00:00.054)       0:01:00.859 ******** \nWednesday 10 June 2026  10:44:08 +0000 (0:00:00.054)       0:01:00.857 ******** \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] ***\nWednesday 10 June 2026  10:44:08 +0000 (0:00:00.074)       0:01:00.933 ******** \nWednesday 10 June 2026  10:44:08 +0000 (0:00:00.074)       0:01:00.932 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.244)       0:01:01.178 ******** \nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.244)       0:01:01.177 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.070)       0:01:01.248 ******** \nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.070)       0:01:01.247 ******** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/dns-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/dns-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] ***\nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.404)       0:01:01.652 ******** \nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.404)       0:01:01.651 ******** \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] ***\nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.147)       0:01:01.800 ******** \nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.147)       0:01:01.799 ******** \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] ***\nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.215)       0:01:02.016 ******** \nWednesday 10 June 2026  10:44:09 +0000 (0:00:00.215)       0:01:02.014 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/control-plane/networking/dns 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 }}] ***\nWednesday 10 June 2026  10:44:10 +0000 (0:00:00.530)       0:01:02.546 ******** \nWednesday 10 June 2026  10:44:10 +0000 (0:00:00.530)       0:01:02.545 ******** \nchanged: [localhost] => (item=dns-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:10 +0000 (0:00:00.374)       0:01:02.921 ******** \nWednesday 10 June 2026  10:44:10 +0000 (0:00:00.374)       0:01:02.920 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane/networking/dns chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:44:10 +0000 (0:00:00.071)       0:01:02.992 ******** \nWednesday 10 June 2026  10:44:10 +0000 (0:00:00.071)       0:01:02.991 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:44:11 +0000 (0:00:00.306)       0:01:03.299 ******** \nWednesday 10 June 2026  10:44:11 +0000 (0:00:00.306)       0:01:03.297 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane/networking/dns executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:44:11 +0000 (0:00:00.404)       0:01:03.703 ******** \nWednesday 10 June 2026  10:44:11 +0000 (0:00:00.404)       0:01:03.702 ******** \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}}] ***\nWednesday 10 June 2026  10:44:11 +0000 (0:00:00.082)       0:01:03.785 ******** \nWednesday 10 June 2026  10:44:11 +0000 (0:00:00.081)       0:01:03.784 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/control-plane/networking/dns remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nWednesday 10 June 2026  10:44:11 +0000 (0:00:00.083)       0:01:03.869 ******** \nWednesday 10 June 2026  10:44:11 +0000 (0:00:00.083)       0:01:03.867 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.321)       0:01:04.191 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.321)       0:01:04.189 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane/networking/dns _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.051)       0:01:04.242 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.051)       0:01:04.241 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane/networking/dns _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.079)       0:01:04.321 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.079)       0:01:04.320 ******** \nskipping: [localhost] => (item=oc -n openshift-dns wait dns.operator/default --for condition=Available --timeout=20m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.055)       0:01:04.377 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.055)       0:01:04.376 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking/dns name=run_hook] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.072)       0:01:04.450 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.072)       0:01:04.449 ******** \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\"]] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.065)       0:01:04.516 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.065)       0:01:04.514 ******** \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] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.074)       0:01:04.591 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.074)       0:01:04.589 ******** \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] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.048)       0:01:04.639 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.048)       0:01:04.638 ******** \nok: [localhost] => (item=oc -n openstack wait baremetalhosts.metal3.io edpm-compute-0 --for=jsonpath='{.status.provisioning.state}'=available --timeout=20m)\nok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=20m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.044)       0:01:04.684 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.044)       0:01:04.683 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.032)       0:01:04.717 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.032)       0:01:04.715 ******** \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}}] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.042)       0:01:04.759 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.042)       0:01:04.758 ******** \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] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.068)       0:01:04.827 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.068)       0:01:04.826 ******** \nok: [localhost] => (item={'name': 'baremetalhost-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] ***\nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.243)       0:01:05.071 ******** \nWednesday 10 June 2026  10:44:12 +0000 (0:00:00.243)       0:01:05.070 ******** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/edpm/baremetalhosts name=run_hook] ***\nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.098)       0:01:05.170 ******** \nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.098)       0:01:05.169 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon/edpm/baremetalhosts name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.079)       0:01:05.249 ******** \nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.079)       0:01:05.248 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.128)       0:01:05.377 ******** \nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.128)       0:01:05.376 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.058)       0:01:05.436 ******** \nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.058)       0:01:05.434 ******** \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.] ***\nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.108)       0:01:05.544 ******** \nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.108)       0:01:05.543 ******** \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] ***\nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.046)       0:01:05.591 ******** \nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.046)       0:01:05.589 ******** \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.] ***\nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.244)       0:01:05.835 ******** \nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.244)       0:01:05.834 ******** \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 }}] ***\nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.065)       0:01:05.901 ******** \nWednesday 10 June 2026  10:44:13 +0000 (0:00:00.065)       0:01:05.899 ******** \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] ***\nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.258)       0:01:06.160 ******** \nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.258)       0:01:06.158 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.236)       0:01:06.396 ******** \nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.236)       0:01:06.394 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.040)       0:01:06.437 ******** \nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.040)       0:01:06.435 ******** \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] ***\nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.250)       0:01:06.687 ******** \nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.250)       0:01:06.685 ******** \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] }}] ***\nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.067)       0:01:06.754 ******** \nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.067)       0:01:06.753 ******** \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] ***\nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.069)       0:01:06.824 ******** \nWednesday 10 June 2026  10:44:14 +0000 (0:00:00.069)       0:01:06.822 ******** \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] ***\nWednesday 10 June 2026  10:44:15 +0000 (0:00:00.578)       0:01:07.402 ******** \nWednesday 10 June 2026  10:44:15 +0000 (0:00:00.578)       0:01:07.401 ******** \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] ***\nWednesday 10 June 2026  10:44:15 +0000 (0:00:00.436)       0:01:07.839 ******** \nWednesday 10 June 2026  10:44:15 +0000 (0:00:00.436)       0:01:07.837 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.440)       0:01:08.279 ******** \nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.440)       0:01:08.278 ******** \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!] ***\nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.092)       0:01:08.372 ******** \nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.092)       0:01:08.371 ******** \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] ***\nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.057)       0:01:08.429 ******** \nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.057)       0:01:08.428 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.235)       0:01:08.665 ******** \nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.235)       0:01:08.663 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.071)       0:01:08.736 ******** \nWednesday 10 June 2026  10:44:16 +0000 (0:00:00.071)       0:01:08.735 ******** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-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] ***\nWednesday 10 June 2026  10:44:17 +0000 (0:00:00.453)       0:01:09.189 ******** \nWednesday 10 June 2026  10:44:17 +0000 (0:00:00.453)       0:01:09.188 ******** \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] ***\nWednesday 10 June 2026  10:44:17 +0000 (0:00:00.088)       0:01:09.278 ******** \nWednesday 10 June 2026  10:44:17 +0000 (0:00:00.088)       0:01:09.277 ******** \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] ***\nWednesday 10 June 2026  10:44:17 +0000 (0:00:00.245)       0:01:09.524 ******** \nWednesday 10 June 2026  10:44:17 +0000 (0:00:00.245)       0:01:09.522 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/edpm/baremetalhosts 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 }}] ***\nWednesday 10 June 2026  10:44:17 +0000 (0:00:00.444)       0:01:09.968 ******** \nWednesday 10 June 2026  10:44:17 +0000 (0:00:00.444)       0:01:09.966 ******** \nchanged: [localhost] => (item=baremetalhost-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:18 +0000 (0:00:00.327)       0:01:10.295 ******** \nWednesday 10 June 2026  10:44:18 +0000 (0:00:00.327)       0:01:10.293 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/edpm/baremetalhosts chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:44:18 +0000 (0:00:00.047)       0:01:10.342 ******** \nWednesday 10 June 2026  10:44:18 +0000 (0:00:00.047)       0:01:10.341 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:44:18 +0000 (0:00:00.342)       0:01:10.685 ******** \nWednesday 10 June 2026  10:44:18 +0000 (0:00:00.342)       0:01:10.683 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/edpm/baremetalhosts executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.418)       0:01:11.103 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.418)       0:01:11.101 ******** \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}}] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.078)       0:01:11.181 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.078)       0:01:11.180 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/edpm/baremetalhosts remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.086)       0:01:11.267 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.086)       0:01:11.266 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.305)       0:01:11.573 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.305)       0:01:11.571 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/edpm/baremetalhosts _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.069)       0:01:11.643 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.069)       0:01:11.641 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/edpm/baremetalhosts _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.063)       0:01:11.706 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.063)       0:01:11.704 ******** \nskipping: [localhost] => (item=oc -n openstack wait baremetalhosts.metal3.io edpm-compute-0 --for=jsonpath='{.status.provisioning.state}'=available --timeout=20m) \nskipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=20m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.072)       0:01:11.778 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.072)       0:01:11.777 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/edpm/baremetalhosts name=run_hook] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.075)       0:01:11.853 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.075)       0:01:11.852 ******** \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\"]] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.080)       0:01:11.934 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.080)       0:01:11.932 ******** \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] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.062)       0:01:11.996 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.062)       0:01:11.994 ******** \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] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.042)       0:01:12.038 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.042)       0:01:12.037 ******** \nok: [localhost] => (item=oc -n openstack wait osdpns gpu-computes-edpm --for condition=SetupReady --timeout=90m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.043)       0:01:12.082 ******** \nWednesday 10 June 2026  10:44:19 +0000 (0:00:00.043)       0:01:12.081 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.034)       0:01:12.117 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.034)       0:01:12.116 ******** \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}}] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.067)       0:01:12.185 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.067)       0:01:12.183 ******** \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] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.075)       0:01:12.260 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.075)       0:01:12.258 ******** \nok: [localhost] => (item={'name': 'edpm-nodeset-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] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.245)       0:01:12.505 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.245)       0:01:12.504 ******** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset name=run_hook] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.101)       0:01:12.606 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.101)       0:01:12.605 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.062)       0:01:12.668 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.061)       0:01:12.667 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.110)       0:01:12.779 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.110)       0:01:12.777 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.074)       0:01:12.853 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.074)       0:01:12.851 ******** \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.] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.074)       0:01:12.927 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.074)       0:01:12.926 ******** \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] ***\nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.059)       0:01:12.987 ******** \nWednesday 10 June 2026  10:44:20 +0000 (0:00:00.059)       0:01:12.986 ******** \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.] ***\nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.250)       0:01:13.237 ******** \nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.250)       0:01:13.236 ******** \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 }}] ***\nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.089)       0:01:13.326 ******** \nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.089)       0:01:13.325 ******** \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] ***\nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.247)       0:01:13.574 ******** \nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.247)       0:01:13.572 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.305)       0:01:13.879 ******** \nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.305)       0:01:13.878 ******** \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] ***\nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.114)       0:01:13.994 ******** \nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.114)       0:01:13.992 ******** \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 != ''\"]] ***\nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.098)       0:01:14.093 ******** \nWednesday 10 June 2026  10:44:21 +0000 (0:00:00.098)       0:01:14.091 ******** \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] ***\nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.074)       0:01:14.167 ******** \nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.074)       0:01:14.166 ******** \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\"] ***\nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.087)       0:01:14.255 ******** \nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.087)       0:01:14.254 ******** \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}}] ***\nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.067)       0:01:14.323 ******** \nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.067)       0:01:14.321 ******** \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 != ''\"]] ***\nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.069)       0:01:14.392 ******** \nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.069)       0:01:14.391 ******** \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] ***\nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.051)       0:01:14.444 ******** \nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.052)       0:01:14.443 ******** \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] ***\nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.235)       0:01:14.680 ******** \nWednesday 10 June 2026  10:44:22 +0000 (0:00:00.235)       0:01:14.679 ******** \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] }}] ***\nWednesday 10 June 2026  10:44:23 +0000 (0:00:00.424)       0:01:15.105 ******** \nWednesday 10 June 2026  10:44:23 +0000 (0:00:00.424)       0:01:15.103 ******** \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] ***\nWednesday 10 June 2026  10:44:23 +0000 (0:00:00.052)       0:01:15.157 ******** \nWednesday 10 June 2026  10:44:23 +0000 (0:00:00.052)       0:01:15.156 ******** \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] ***\nWednesday 10 June 2026  10:44:23 +0000 (0:00:00.415)       0:01:15.573 ******** \nWednesday 10 June 2026  10:44:23 +0000 (0:00:00.416)       0:01:15.572 ******** \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] ***\nWednesday 10 June 2026  10:44:23 +0000 (0:00:00.483)       0:01:16.056 ******** \nWednesday 10 June 2026  10:44:23 +0000 (0:00:00.482)       0:01:16.055 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.449)       0:01:16.506 ******** \nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.449)       0:01:16.505 ******** \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!] ***\nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.059)       0:01:16.566 ******** \nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.059)       0:01:16.564 ******** \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] ***\nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.061)       0:01:16.628 ******** \nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.062)       0:01:16.626 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.237)       0:01:16.866 ******** \nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.237)       0:01:16.864 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.048)       0:01:16.914 ******** \nWednesday 10 June 2026  10:44:24 +0000 (0:00:00.048)       0:01:16.913 ******** \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] ***\nWednesday 10 June 2026  10:44:25 +0000 (0:00:00.644)       0:01:17.559 ******** \nWednesday 10 June 2026  10:44:25 +0000 (0:00:00.644)       0:01:17.557 ******** \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] ***\nWednesday 10 June 2026  10:44:25 +0000 (0:00:00.191)       0:01:17.750 ******** \nWednesday 10 June 2026  10:44:25 +0000 (0:00:00.191)       0:01:17.749 ******** \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] ***\nWednesday 10 June 2026  10:44:25 +0000 (0:00:00.262)       0:01:18.013 ******** \nWednesday 10 June 2026  10:44:25 +0000 (0:00:00.262)       0:01:18.012 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/edpm-pre-ceph/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 }}] ***\nWednesday 10 June 2026  10:44:26 +0000 (0:00:00.535)       0:01:18.549 ******** \nWednesday 10 June 2026  10:44:26 +0000 (0:00:00.535)       0:01:18.548 ******** \nchanged: [localhost] => (item=edpm-nodeset-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:26 +0000 (0:00:00.322)       0:01:18.871 ******** \nWednesday 10 June 2026  10:44:26 +0000 (0:00:00.322)       0:01:18.870 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:44:26 +0000 (0:00:00.083)       0:01:18.955 ******** \nWednesday 10 June 2026  10:44:26 +0000 (0:00:00.083)       0:01:18.954 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:44:27 +0000 (0:00:00.444)       0:01:19.399 ******** \nWednesday 10 June 2026  10:44:27 +0000 (0:00:00.444)       0:01:19.398 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:44:27 +0000 (0:00:00.445)       0:01:19.845 ******** \nWednesday 10 June 2026  10:44:27 +0000 (0:00:00.445)       0:01:19.844 ******** \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}}] ***\nWednesday 10 June 2026  10:44:27 +0000 (0:00:00.073)       0:01:19.918 ******** \nWednesday 10 June 2026  10:44:27 +0000 (0:00:00.073)       0:01:19.917 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nWednesday 10 June 2026  10:44:27 +0000 (0:00:00.073)       0:01:19.992 ******** \nWednesday 10 June 2026  10:44:27 +0000 (0:00:00.073)       0:01:19.991 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.271)       0:01:20.263 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.271)       0:01:20.262 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.323 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.321 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.064)       0:01:20.387 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.064)       0:01:20.385 ******** \nskipping: [localhost] => (item=oc -n openstack wait osdpns gpu-computes-edpm --for condition=SetupReady --timeout=90m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.064)       0:01:20.451 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.064)       0:01:20.450 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset name=run_hook] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.050)       0:01:20.501 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.050)       0:01:20.500 ******** \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\"]] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.561 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.560 ******** \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] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.081)       0:01:20.642 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.081)       0:01:20.641 ******** \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] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.042)       0:01:20.685 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.042)       0:01:20.683 ******** \nok: [localhost] => (item=oc -n openstack wait osdpd edpm-deployment-pre-ceph --for condition=Ready --timeout=90m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.057)       0:01:20.742 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.057)       0:01:20.741 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.043)       0:01:20.786 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.043)       0:01:20.785 ******** \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}}] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.845 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.844 ******** \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] ***\nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.063)       0:01:20.909 ******** \nWednesday 10 June 2026  10:44:28 +0000 (0:00:00.063)       0:01:20.908 ******** \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] ***\nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.262)       0:01:21.172 ******** \nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.262)       0:01:21.171 ******** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment name=run_hook] ***\nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.105)       0:01:21.277 ******** \nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.105)       0:01:21.276 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.052)       0:01:21.330 ******** \nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.052)       0:01:21.328 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.108)       0:01:21.439 ******** \nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.108)       0:01:21.437 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.040)       0:01:21.479 ******** \nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.040)       0:01:21.478 ******** \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.] ***\nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.063)       0:01:21.543 ******** \nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.063)       0:01:21.541 ******** \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] ***\nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.048)       0:01:21.591 ******** \nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.048)       0:01:21.590 ******** \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.] ***\nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.262)       0:01:21.854 ******** \nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.262)       0:01:21.852 ******** \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 }}] ***\nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.081)       0:01:21.936 ******** \nWednesday 10 June 2026  10:44:29 +0000 (0:00:00.081)       0:01:21.934 ******** \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] ***\nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.256)       0:01:22.192 ******** \nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.257)       0:01:22.191 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.245)       0:01:22.438 ******** \nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.245)       0:01:22.437 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.059)       0:01:22.498 ******** \nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.059)       0:01:22.496 ******** \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] ***\nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.221)       0:01:22.719 ******** \nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.220)       0:01:22.717 ******** \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] }}] ***\nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.067)       0:01:22.786 ******** \nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.067)       0:01:22.785 ******** \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] ***\nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.066)       0:01:22.853 ******** \nWednesday 10 June 2026  10:44:30 +0000 (0:00:00.066)       0:01:22.851 ******** \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] ***\nWednesday 10 June 2026  10:44:31 +0000 (0:00:00.450)       0:01:23.304 ******** \nWednesday 10 June 2026  10:44:31 +0000 (0:00:00.450)       0:01:23.302 ******** \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] ***\nWednesday 10 June 2026  10:44:31 +0000 (0:00:00.455)       0:01:23.759 ******** \nWednesday 10 June 2026  10:44:31 +0000 (0:00:00.455)       0:01:23.758 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.467)       0:01:24.227 ******** \nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.467)       0:01:24.226 ******** \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!] ***\nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.088)       0:01:24.316 ******** \nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.088)       0:01:24.315 ******** \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] ***\nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.064)       0:01:24.381 ******** \nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.064)       0:01:24.380 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.256)       0:01:24.638 ******** \nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.256)       0:01:24.636 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.071)       0:01:24.709 ******** \nWednesday 10 June 2026  10:44:32 +0000 (0:00:00.071)       0:01:24.708 ******** \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] ***\nWednesday 10 June 2026  10:44:33 +0000 (0:00:00.455)       0:01:25.165 ******** \nWednesday 10 June 2026  10:44:33 +0000 (0:00:00.455)       0:01:25.164 ******** \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] ***\nWednesday 10 June 2026  10:44:33 +0000 (0:00:00.110)       0:01:25.276 ******** \nWednesday 10 June 2026  10:44:33 +0000 (0:00:00.110)       0:01:25.275 ******** \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] ***\nWednesday 10 June 2026  10:44:33 +0000 (0:00:00.242)       0:01:25.519 ******** \nWednesday 10 June 2026  10:44:33 +0000 (0:00:00.242)       0:01:25.517 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment 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 }}] ***\nWednesday 10 June 2026  10:44:33 +0000 (0:00:00.437)       0:01:25.956 ******** \nWednesday 10 June 2026  10:44:33 +0000 (0:00:00.437)       0:01:25.955 ******** \nchanged: [localhost] => (item=edpm-deployment-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:34 +0000 (0:00:00.338)       0:01:26.294 ******** \nWednesday 10 June 2026  10:44:34 +0000 (0:00:00.338)       0:01:26.293 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:44:34 +0000 (0:00:00.050)       0:01:26.345 ******** \nWednesday 10 June 2026  10:44:34 +0000 (0:00:00.050)       0:01:26.344 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:44:34 +0000 (0:00:00.382)       0:01:26.728 ******** \nWednesday 10 June 2026  10:44:34 +0000 (0:00:00.382)       0:01:26.727 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.462)       0:01:27.190 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.461)       0:01:27.189 ******** \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}}] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.047)       0:01:27.237 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.047)       0:01:27.236 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.065)       0:01:27.303 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.065)       0:01:27.301 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.236)       0:01:27.540 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.236)       0:01:27.538 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.581 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.580 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.622 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.621 ******** \nskipping: [localhost] => (item=oc -n openstack wait osdpd edpm-deployment-pre-ceph --for condition=Ready --timeout=90m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.664 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.662 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment name=run_hook] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.705 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.703 ******** \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\"]] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.061)       0:01:27.766 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.061)       0:01:27.764 ******** \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] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.063)       0:01:27.830 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.063)       0:01:27.828 ******** \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] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.033)       0:01:27.863 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.033)       0:01:27.861 ******** \nok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=20m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.035)       0:01:27.898 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.035)       0:01:27.896 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.031)       0:01:27.929 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.031)       0:01:27.928 ******** \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}}] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.034)       0:01:27.963 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.034)       0:01:27.962 ******** \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] ***\nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.048)       0:01:28.012 ******** \nWednesday 10 June 2026  10:44:35 +0000 (0:00:00.048)       0:01:28.010 ******** \nok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})\n\nTASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***\nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.235)       0:01:28.247 ******** \nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.235)       0:01:28.246 ******** \nok: [localhost] => (item=service-values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane-post-ceph name=run_hook] ***\nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.102)       0:01:28.350 ******** \nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.102)       0:01:28.349 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane-post-ceph name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.055)       0:01:28.406 ******** \nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.055)       0:01:28.405 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.125)       0:01:28.531 ******** \nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.125)       0:01:28.530 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.048)       0:01:28.580 ******** \nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.048)       0:01:28.578 ******** \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.] ***\nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.068)       0:01:28.648 ******** \nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.068)       0:01:28.647 ******** \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] ***\nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.057)       0:01:28.705 ******** \nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.057)       0:01:28.704 ******** \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.] ***\nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.266)       0:01:28.972 ******** \nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.266)       0:01:28.970 ******** \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 }}] ***\nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.045)       0:01:29.017 ******** \nWednesday 10 June 2026  10:44:36 +0000 (0:00:00.045)       0:01:29.016 ******** \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] ***\nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.200)       0:01:29.218 ******** \nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.200)       0:01:29.216 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.271)       0:01:29.489 ******** \nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.270)       0:01:29.487 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.072)       0:01:29.562 ******** \nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.072)       0:01:29.560 ******** \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] ***\nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.233)       0:01:29.795 ******** \nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.233)       0:01:29.794 ******** \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] }}] ***\nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.056)       0:01:29.851 ******** \nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.056)       0:01:29.850 ******** \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] ***\nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.075)       0:01:29.927 ******** \nWednesday 10 June 2026  10:44:37 +0000 (0:00:00.075)       0:01:29.925 ******** \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] ***\nWednesday 10 June 2026  10:44:38 +0000 (0:00:00.413)       0:01:30.340 ******** \nWednesday 10 June 2026  10:44:38 +0000 (0:00:00.413)       0:01:30.339 ******** \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] ***\nWednesday 10 June 2026  10:44:38 +0000 (0:00:00.469)       0:01:30.810 ******** \nWednesday 10 June 2026  10:44:38 +0000 (0:00:00.470)       0:01:30.809 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.446)       0:01:31.257 ******** \nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.446)       0:01:31.256 ******** \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!] ***\nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.066)       0:01:31.324 ******** \nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.066)       0:01:31.322 ******** \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] ***\nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.059)       0:01:31.383 ******** \nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.059)       0:01:31.382 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.221)       0:01:31.605 ******** \nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.221)       0:01:31.603 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.074)       0:01:31.679 ******** \nWednesday 10 June 2026  10:44:39 +0000 (0:00:00.074)       0:01:31.678 ******** \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] ***\nWednesday 10 June 2026  10:44:40 +0000 (0:00:00.432)       0:01:32.111 ******** \nWednesday 10 June 2026  10:44:40 +0000 (0:00:00.431)       0:01:32.110 ******** \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] ***\nWednesday 10 June 2026  10:44:40 +0000 (0:00:00.125)       0:01:32.237 ******** \nWednesday 10 June 2026  10:44:40 +0000 (0:00:00.125)       0:01:32.236 ******** \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] ***\nWednesday 10 June 2026  10:44:40 +0000 (0:00:00.257)       0:01:32.495 ******** \nWednesday 10 June 2026  10:44:40 +0000 (0:00:00.257)       0:01:32.494 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/control-plane-post-ceph 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 }}] ***\nWednesday 10 June 2026  10:44:40 +0000 (0:00:00.517)       0:01:33.012 ******** \nWednesday 10 June 2026  10:44:40 +0000 (0:00:00.517)       0:01:33.011 ******** \nchanged: [localhost] => (item=service-values)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:41 +0000 (0:00:00.271)       0:01:33.283 ******** \nWednesday 10 June 2026  10:44:41 +0000 (0:00:00.271)       0:01:33.282 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane-post-ceph chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:44:41 +0000 (0:00:00.038)       0:01:33.322 ******** \nWednesday 10 June 2026  10:44:41 +0000 (0:00:00.038)       0:01:33.321 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:44:41 +0000 (0:00:00.412)       0:01:33.735 ******** \nWednesday 10 June 2026  10:44:41 +0000 (0:00:00.412)       0:01:33.734 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane-post-ceph executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.447)       0:01:34.183 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.447)       0:01:34.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}}] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.074)       0:01:34.257 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.074)       0:01:34.256 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/control-plane-post-ceph remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.072)       0:01:34.330 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.072)       0:01:34.328 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.260)       0:01:34.590 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.260)       0:01:34.589 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane-post-ceph _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.073)       0:01:34.664 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.073)       0:01:34.662 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane-post-ceph _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.069)       0:01:34.733 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.069)       0:01:34.732 ******** \nskipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=20m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.066)       0:01:34.799 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.066)       0:01:34.798 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane-post-ceph name=run_hook] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.051)       0:01:34.851 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.051)       0:01:34.850 ******** \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\"]] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.043)       0:01:34.895 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.043)       0:01:34.894 ******** \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] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.053)       0:01:34.948 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.053)       0:01:34.947 ******** \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] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.032)       0:01:34.981 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.032)       0:01:34.980 ******** \nok: [localhost] => (item=oc -n openstack wait osdpns gpu-computes-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.] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.048)       0:01:35.029 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.048)       0:01:35.028 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.029)       0:01:35.059 ******** \nWednesday 10 June 2026  10:44:42 +0000 (0:00:00.029)       0:01:35.057 ******** \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}}] ***\nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.037)       0:01:35.096 ******** \nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.037)       0:01:35.095 ******** \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] ***\nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.043)       0:01:35.140 ******** \nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.043)       0:01:35.138 ******** \nok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})\nok: [localhost] => (item={'name': 'edpm-nodeset-values-post-ceph', '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] ***\nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.438)       0:01:35.579 ******** \nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.438)       0:01:35.577 ******** \nok: [localhost] => (item=service-values.yaml)\nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon name=run_hook] ***\nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.138)       0:01:35.717 ******** \nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.138)       0:01:35.715 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.065)       0:01:35.782 ******** \nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.065)       0:01:35.781 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.141)       0:01:35.923 ******** \nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.141)       0:01:35.922 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.066)       0:01:35.990 ******** \nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.066)       0:01:35.989 ******** \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.] ***\nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.094)       0:01:36.085 ******** \nWednesday 10 June 2026  10:44:43 +0000 (0:00:00.094)       0:01:36.084 ******** \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] ***\nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.056)       0:01:36.142 ******** \nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.056)       0:01:36.141 ******** \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.] ***\nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.227)       0:01:36.369 ******** \nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.227)       0:01:36.368 ******** \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 }}] ***\nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.061)       0:01:36.431 ******** \nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.061)       0:01:36.429 ******** \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] ***\nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.234)       0:01:36.665 ******** \nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.234)       0:01:36.664 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.227)       0:01:36.892 ******** \nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.227)       0:01:36.891 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.053)       0:01:36.945 ******** \nWednesday 10 June 2026  10:44:44 +0000 (0:00:00.053)       0:01:36.944 ******** \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] ***\nWednesday 10 June 2026  10:44:45 +0000 (0:00:00.268)       0:01:37.214 ******** \nWednesday 10 June 2026  10:44:45 +0000 (0:00:00.268)       0:01:37.213 ******** \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] }}] ***\nWednesday 10 June 2026  10:44:45 +0000 (0:00:00.086)       0:01:37.301 ******** \nWednesday 10 June 2026  10:44:45 +0000 (0:00:00.086)       0:01:37.299 ******** \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] ***\nWednesday 10 June 2026  10:44:45 +0000 (0:00:00.100)       0:01:37.401 ******** \nWednesday 10 June 2026  10:44:45 +0000 (0:00:00.100)       0:01:37.400 ******** \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] ***\nWednesday 10 June 2026  10:44:45 +0000 (0:00:00.423)       0:01:37.825 ******** \nWednesday 10 June 2026  10:44:45 +0000 (0:00:00.423)       0:01:37.823 ******** \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] ***\nWednesday 10 June 2026  10:44:46 +0000 (0:00:00.490)       0:01:38.316 ******** \nWednesday 10 June 2026  10:44:46 +0000 (0:00:00.491)       0:01:38.314 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:44:46 +0000 (0:00:00.471)       0:01:38.787 ******** \nWednesday 10 June 2026  10:44:46 +0000 (0:00:00.471)       0:01:38.786 ******** \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!] ***\nWednesday 10 June 2026  10:44:46 +0000 (0:00:00.066)       0:01:38.854 ******** \nWednesday 10 June 2026  10:44:46 +0000 (0:00:00.066)       0:01:38.853 ******** \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] ***\nWednesday 10 June 2026  10:44:46 +0000 (0:00:00.062)       0:01:38.916 ******** \nWednesday 10 June 2026  10:44:46 +0000 (0:00:00.062)       0:01:38.915 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.216)       0:01:39.133 ******** \nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.216)       0:01:39.132 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.037)       0:01:39.170 ******** \nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.037)       0:01:39.169 ******** \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] ***\nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.367)       0:01:39.537 ******** \nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.367)       0:01:39.536 ******** \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] ***\nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.102)       0:01:39.640 ******** \nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.102)       0:01:39.639 ******** \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] ***\nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.251)       0:01:39.892 ******** \nWednesday 10 June 2026  10:44:47 +0000 (0:00:00.251)       0:01:39.890 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.448)       0:01:40.340 ******** \nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.448)       0:01:40.338 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.058)       0:01:40.398 ******** \nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.058)       0:01:40.397 ******** \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.] ***\nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.062)       0:01:40.461 ******** \nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.062)       0:01:40.460 ******** \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] ***\nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.052)       0:01:40.513 ******** \nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.052)       0:01:40.512 ******** \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.] ***\nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.238)       0:01:40.752 ******** \nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.238)       0:01:40.751 ******** \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 }}] ***\nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.083)       0:01:40.836 ******** \nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.083)       0:01:40.834 ******** \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] ***\nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.216)       0:01:41.052 ******** \nWednesday 10 June 2026  10:44:48 +0000 (0:00:00.216)       0:01:41.050 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:44:49 +0000 (0:00:00.263)       0:01:41.316 ******** \nWednesday 10 June 2026  10:44:49 +0000 (0:00:00.263)       0:01:41.314 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nWednesday 10 June 2026  10:44:49 +0000 (0:00:00.054)       0:01:41.370 ******** \nWednesday 10 June 2026  10:44:49 +0000 (0:00:00.054)       0:01:41.369 ******** \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] ***\nWednesday 10 June 2026  10:44:49 +0000 (0:00:00.228)       0:01:41.599 ******** \nWednesday 10 June 2026  10:44:49 +0000 (0:00:00.228)       0:01:41.597 ******** \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] }}] ***\nWednesday 10 June 2026  10:44:49 +0000 (0:00:00.456)       0:01:42.055 ******** \nWednesday 10 June 2026  10:44:49 +0000 (0:00:00.456)       0:01:42.054 ******** \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] ***\nWednesday 10 June 2026  10:44:50 +0000 (0:00:00.086)       0:01:42.142 ******** \nWednesday 10 June 2026  10:44:50 +0000 (0:00:00.086)       0:01:42.141 ******** \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] ***\nWednesday 10 June 2026  10:44:50 +0000 (0:00:00.454)       0:01:42.597 ******** \nWednesday 10 June 2026  10:44:50 +0000 (0:00:00.454)       0:01:42.596 ******** \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] ***\nWednesday 10 June 2026  10:44:50 +0000 (0:00:00.471)       0:01:43.068 ******** \nWednesday 10 June 2026  10:44:50 +0000 (0:00:00.471)       0:01:43.067 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.448)       0:01:43.517 ******** \nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.448)       0:01:43.516 ******** \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!] ***\nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.111)       0:01:43.629 ******** \nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.111)       0:01:43.627 ******** \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] ***\nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.073)       0:01:43.702 ******** \nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.073)       0:01:43.700 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.219)       0:01:43.921 ******** \nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.219)       0:01:43.920 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.084)       0:01:44.006 ******** \nWednesday 10 June 2026  10:44:51 +0000 (0:00:00.084)       0:01:44.004 ******** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/02_ci_data.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/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] ***\nWednesday 10 June 2026  10:44:52 +0000 (0:00:00.727)       0:01:44.733 ******** \nWednesday 10 June 2026  10:44:52 +0000 (0:00:00.727)       0:01:44.731 ******** \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] ***\nWednesday 10 June 2026  10:44:52 +0000 (0:00:00.168)       0:01:44.901 ******** \nWednesday 10 June 2026  10:44:52 +0000 (0:00:00.168)       0:01:44.900 ******** \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] ***\nWednesday 10 June 2026  10:44:53 +0000 (0:00:00.227)       0:01:45.129 ******** \nWednesday 10 June 2026  10:44:53 +0000 (0:00:00.227)       0:01:45.127 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon 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 }}] ***\nWednesday 10 June 2026  10:44:53 +0000 (0:00:00.405)       0:01:45.534 ******** \nWednesday 10 June 2026  10:44:53 +0000 (0:00:00.405)       0:01:45.532 ******** \nchanged: [localhost] => (item=service-values)\nchanged: [localhost] => (item=edpm-nodeset-values-post-ceph)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:54 +0000 (0:00:00.653)       0:01:46.187 ******** \nWednesday 10 June 2026  10:44:54 +0000 (0:00:00.653)       0:01:46.186 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:44:54 +0000 (0:00:00.055)       0:01:46.243 ******** \nWednesday 10 June 2026  10:44:54 +0000 (0:00:00.055)       0:01:46.241 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:44:54 +0000 (0:00:00.531)       0:01:46.775 ******** \nWednesday 10 June 2026  10:44:54 +0000 (0:00:00.531)       0:01:46.773 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.520)       0:01:47.296 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.520)       0:01:47.294 ******** \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}}] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.065)       0:01:47.361 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.065)       0:01:47.360 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.086)       0:01:47.448 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.086)       0:01:47.446 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.284)       0:01:47.732 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.284)       0:01:47.731 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.054)       0:01:47.787 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.054)       0:01:47.786 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.039)       0:01:47.827 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.039)       0:01:47.825 ******** \nskipping: [localhost] => (item=oc -n openstack wait osdpns gpu-computes-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 }}] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.064)       0:01:47.891 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.064)       0:01:47.890 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon name=run_hook] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.075)       0:01:47.966 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.075)       0:01:47.965 ******** \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\"]] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.061)       0:01:48.028 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.061)       0:01:48.027 ******** \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] ***\nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.051)       0:01:48.080 ******** \nWednesday 10 June 2026  10:44:55 +0000 (0:00:00.051)       0:01:48.079 ******** \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] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.026)       0:01:48.107 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.026)       0:01:48.105 ******** \nok: [localhost] => (item=oc -n openstack wait osdpd edpm-deployment-post-ceph --for condition=Ready --timeout=90m)\n\nTASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.035)       0:01:48.142 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.034)       0:01:48.140 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.026)       0:01:48.168 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.026)       0:01:48.167 ******** \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}}] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.033)       0:01:48.201 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.033)       0:01:48.200 ******** \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] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.039)       0:01:48.241 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.039)       0:01:48.239 ******** \nok: [localhost] => (item={'name': 'edpm-deployment-values-post-ceph', '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] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.227)       0:01:48.468 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.227)       0:01:48.467 ******** \nok: [localhost] => (item=values.yaml)\n\nTASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/deployment name=run_hook] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.095)       0:01:48.564 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.095)       0:01:48.563 ******** \nskipping: [localhost]\n\nTASK [Generate values.yaml for examples/dt/nova/nova05epsilon/deployment name=ci_gen_kustomize_values] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.061)       0:01:48.625 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.061)       0:01:48.624 ******** \n\nTASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.136)       0:01:48.761 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.135)       0:01:48.760 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.073)       0:01:48.835 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.073)       0:01:48.834 ******** \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.] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.096)       0:01:48.932 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.096)       0:01:48.931 ******** \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] ***\nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.074)       0:01:49.007 ******** \nWednesday 10 June 2026  10:44:56 +0000 (0:00:00.074)       0:01:49.006 ******** \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.] ***\nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.250)       0:01:49.257 ******** \nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.250)       0:01:49.256 ******** \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 }}] ***\nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.079)       0:01:49.337 ******** \nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.079)       0:01:49.336 ******** \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] ***\nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.249)       0:01:49.587 ******** \nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.249)       0:01:49.585 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***\nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.272)       0:01:49.859 ******** \nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.272)       0:01:49.857 ******** \nskipping: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***\nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.069)       0:01:49.929 ******** \nWednesday 10 June 2026  10:44:57 +0000 (0:00:00.069)       0:01:49.927 ******** \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] ***\nWednesday 10 June 2026  10:44:58 +0000 (0:00:00.228)       0:01:50.157 ******** \nWednesday 10 June 2026  10:44:58 +0000 (0:00:00.228)       0:01:50.156 ******** \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] }}] ***\nWednesday 10 June 2026  10:44:58 +0000 (0:00:00.097)       0:01:50.254 ******** \nWednesday 10 June 2026  10:44:58 +0000 (0:00:00.097)       0:01:50.253 ******** \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] ***\nWednesday 10 June 2026  10:44:58 +0000 (0:00:00.097)       0:01:50.352 ******** \nWednesday 10 June 2026  10:44:58 +0000 (0:00:00.097)       0:01:50.351 ******** \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] ***\nWednesday 10 June 2026  10:44:58 +0000 (0:00:00.474)       0:01:50.827 ******** \nWednesday 10 June 2026  10:44:58 +0000 (0:00:00.474)       0:01:50.825 ******** \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] ***\nWednesday 10 June 2026  10:44:59 +0000 (0:00:00.493)       0:01:51.321 ******** \nWednesday 10 June 2026  10:44:59 +0000 (0:00:00.493)       0:01:51.319 ******** \nchanged: [localhost]\n\nTASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***\nWednesday 10 June 2026  10:44:59 +0000 (0:00:00.477)       0:01:51.798 ******** \nWednesday 10 June 2026  10:44:59 +0000 (0:00:00.477)       0:01:51.797 ******** \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!] ***\nWednesday 10 June 2026  10:44:59 +0000 (0:00:00.085)       0:01:51.884 ******** \nWednesday 10 June 2026  10:44:59 +0000 (0:00:00.085)       0:01:51.883 ******** \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] ***\nWednesday 10 June 2026  10:44:59 +0000 (0:00:00.100)       0:01:51.985 ******** \nWednesday 10 June 2026  10:44:59 +0000 (0:00:00.100)       0:01:51.983 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********\nWednesday 10 June 2026  10:45:00 +0000 (0:00:00.263)       0:01:52.248 ******** \nWednesday 10 June 2026  10:45:00 +0000 (0:00:00.263)       0:01:52.246 ******** \nok: [localhost]\n\nTASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***\nWednesday 10 June 2026  10:45:00 +0000 (0:00:00.078)       0:01:52.326 ******** \nWednesday 10 June 2026  10:45:00 +0000 (0:00:00.078)       0:01:52.325 ******** \nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/03_user_data_b64.yaml)\nok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/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] ***\nWednesday 10 June 2026  10:45:00 +0000 (0:00:00.468)       0:01:52.795 ******** \nWednesday 10 June 2026  10:45:00 +0000 (0:00:00.468)       0:01:52.794 ******** \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] ***\nWednesday 10 June 2026  10:45:00 +0000 (0:00:00.142)       0:01:52.937 ******** \nWednesday 10 June 2026  10:45:00 +0000 (0:00:00.142)       0:01:52.936 ******** \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] ***\nWednesday 10 June 2026  10:45:01 +0000 (0:00:00.237)       0:01:53.175 ******** \nWednesday 10 June 2026  10:45:01 +0000 (0:00:00.237)       0:01:53.174 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/deployment 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 }}] ***\nWednesday 10 June 2026  10:45:01 +0000 (0:00:00.509)       0:01:53.684 ******** \nWednesday 10 June 2026  10:45:01 +0000 (0:00:00.509)       0:01:53.683 ******** \nchanged: [localhost] => (item=edpm-deployment-values-post-ceph)\n\nTASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:45:01 +0000 (0:00:00.300)       0:01:53.985 ******** \nWednesday 10 June 2026  10:45:01 +0000 (0:00:00.300)       0:01:53.983 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/deployment chdir={{ _chdir }}, _raw_params=oc kustomize] ***\nWednesday 10 June 2026  10:45:01 +0000 (0:00:00.051)       0:01:54.036 ******** \nWednesday 10 June 2026  10:45:01 +0000 (0:00:00.051)       0:01:54.035 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***\nWednesday 10 June 2026  10:45:02 +0000 (0:00:00.372)       0:01:54.409 ******** \nWednesday 10 June 2026  10:45:02 +0000 (0:00:00.372)       0:01:54.408 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/deployment executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***\nWednesday 10 June 2026  10:45:02 +0000 (0:00:00.452)       0:01:54.862 ******** \nWednesday 10 June 2026  10:45:02 +0000 (0:00:00.452)       0:01:54.861 ******** \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}}] ***\nWednesday 10 June 2026  10:45:02 +0000 (0:00:00.061)       0:01:54.924 ******** \nWednesday 10 June 2026  10:45:02 +0000 (0:00:00.062)       0:01:54.923 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/deployment remote_src=True, src={{ _output }}, dest={{\n  (cifmw_kustomize_deploy_kustomizations_dest_dir,\n   stage['build_output'] | basename) | path_join\n}}, mode=0644] ***\nWednesday 10 June 2026  10:45:02 +0000 (0:00:00.063)       0:01:54.988 ******** \nWednesday 10 June 2026  10:45:02 +0000 (0:00:00.063)       0:01:54.986 ******** \nchanged: [localhost]\n\nTASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.313)       0:01:55.302 ******** \nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.313)       0:01:55.300 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/deployment _raw_params=oc apply -f {{ _cr }}] ***\nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.073)       0:01:55.375 ******** \nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.073)       0:01:55.374 ******** \nskipping: [localhost]\n\nTASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/deployment _raw_params=wait_condition.yml] ***\nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.058)       0:01:55.433 ******** \nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.058)       0:01:55.432 ******** \nskipping: [localhost] => (item=oc -n openstack wait osdpd edpm-deployment-post-ceph --for condition=Ready --timeout=90m) \nskipping: [localhost]\n\nTASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***\nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.053)       0:01:55.487 ******** \nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.053)       0:01:55.485 ******** \nskipping: [localhost]\n\nTASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/deployment name=run_hook] ***\nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.053)       0:01:55.540 ******** \nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.053)       0:01:55.538 ******** \nskipping: [localhost]\n\nPLAY RECAP *********************************************************************\nlocalhost                  : ok=368  changed=104  unreachable=0    failed=0    skipped=156  rescued=0    ignored=0   \n\nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.087)       0:01:55.628 ******** \n=============================================================================== \nGet automation contents ------------------------------------------------- 8.44s\nci_setup : Install openshift client ------------------------------------- 3.96s\nci_setup : Install needed packages -------------------------------------- 2.90s\nLoad automation files as fact ------------------------------------------- 2.07s\nci_setup : Manage directories ------------------------------------------- 1.09s\nGathering Facts --------------------------------------------------------- 0.93s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.73s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.71s\nCreate needed SSH keypairs ---------------------------------------------- 0.70s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.65s\nkustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon --- 0.65s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.65s\nci_gen_kustomize_values : Load various snippet files -------------------- 0.64s\nci_gen_kustomize_values : Generate CI snippet --------------------------- 0.61s\nci_gen_kustomize_values : Generate CI snippet --------------------------- 0.58s\nkustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane/networking/nncp --- 0.58s\nci_gen_kustomize_values : Push base64 CI patches ------------------------ 0.58s\nCopy file on localhost -------------------------------------------------- 0.57s\nkustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/control-plane --- 0.57s\nci_gen_kustomize_values : Generate CI snippet --------------------------- 0.55s\nWednesday 10 June 2026  10:45:03 +0000 (0:00:00.090)       0:01:55.629 ******** \n=============================================================================== \nci_gen_kustomize_values ------------------------------------------------ 59.90s\nkustomize_deploy ------------------------------------------------------- 30.31s\nci_setup ---------------------------------------------------------------- 9.54s\nansible.builtin.slurp --------------------------------------------------- 9.50s\nansible.builtin.set_fact ------------------------------------------------ 2.15s\ngather_facts ------------------------------------------------------------ 0.93s\ncommunity.crypto.openssh_keypair ---------------------------------------- 0.70s\nnetworking_mapper ------------------------------------------------------- 0.65s\nansible.builtin.copy ---------------------------------------------------- 0.57s\nansible.builtin.file ---------------------------------------------------- 0.41s\nansible.builtin.find ---------------------------------------------------- 0.31s\nansible.builtin.include_role -------------------------------------------- 0.27s\nansible.builtin.stat ---------------------------------------------------- 0.25s\nansible.builtin.assert -------------------------------------------------- 0.07s\nansible.builtin.include_vars -------------------------------------------- 0.04s\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \ntotal ----------------------------------------------------------------- 115.59s",
                            "stdout_lines": [
                                "",
                                "PLAY [Test architecture automations] *******************************************",
                                "",
                                "TASK [Gathering Facts ] ********************************************************",
                                "Wednesday 10 June 2026  10:43:07 +0000 (0:00:00.029)       0:00:00.029 ******** ",
                                "Wednesday 10 June 2026  10:43:07 +0000 (0:00:00.028)       0:00:00.028 ******** ",
                                "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']] ***",
                                "Wednesday 10 June 2026  10:43:08 +0000 (0:00:00.925)       0:00:00.954 ******** ",
                                "Wednesday 10 June 2026  10:43:08 +0000 (0:00:00.925)       0:00:00.953 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_setup : Gather variables for each operating system _raw_params={{ item }}] ***",
                                "Wednesday 10 June 2026  10:43:08 +0000 (0:00:00.070)       0:00:01.025 ******** ",
                                "Wednesday 10 June 2026  10:43:08 +0000 (0:00:00.070)       0:00:01.023 ******** ",
                                "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] *********",
                                "Wednesday 10 June 2026  10:43:08 +0000 (0:00:00.046)       0:00:01.071 ******** ",
                                "Wednesday 10 June 2026  10:43:08 +0000 (0:00:00.046)       0:00:01.070 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:09 +0000 (0:00:00.035)       0:00:01.107 ******** ",
                                "Wednesday 10 June 2026  10:43:09 +0000 (0:00:00.036)       0:00:01.106 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_setup : Gather version of openshift client _raw_params=oc version --client -o yaml] ***",
                                "Wednesday 10 June 2026  10:43:11 +0000 (0:00:02.896)       0:00:04.004 ******** ",
                                "Wednesday 10 June 2026  10:43:11 +0000 (0:00:02.896)       0:00:04.002 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_setup : Ensure openshift client install path is present path={{ cifmw_ci_setup_oc_install_path }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:43:12 +0000 (0:00:00.317)       0:00:04.322 ******** ",
                                "Wednesday 10 June 2026  10:43:12 +0000 (0:00:00.317)       0:00:04.320 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:12 +0000 (0:00:00.371)       0:00:04.693 ******** ",
                                "Wednesday 10 June 2026  10:43:12 +0000 (0:00:00.371)       0:00:04.691 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:16 +0000 (0:00:03.958)       0:00:08.651 ******** ",
                                "Wednesday 10 June 2026  10:43:16 +0000 (0:00:03.958)       0:00:08.650 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Create completion file] ***************************************",
                                "Wednesday 10 June 2026  10:43:16 +0000 (0:00:00.035)       0:00:08.687 ******** ",
                                "Wednesday 10 June 2026  10:43:16 +0000 (0:00:00.035)       0:00:08.685 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:16 +0000 (0:00:00.330)       0:00:09.017 ******** ",
                                "Wednesday 10 June 2026  10:43:16 +0000 (0:00:00.330)       0:00:09.016 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_setup : Check rhsm status _raw_params=subscription-manager status] ****",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.317)       0:00:09.335 ******** ",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.317)       0:00:09.334 ******** ",
                                "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([]))",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.024)       0:00:09.360 ******** ",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.024)       0:00:09.358 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Enabling the required repositories. name={{ item }}, state={{ rhsm_repo_state | default('enabled') }}] ***",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.023)       0:00:09.383 ******** ",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.023)       0:00:09.381 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Get current /etc/redhat-release _raw_params=cat /etc/redhat-release] ***",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.022)       0:00:09.405 ******** ",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.022)       0:00:09.404 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Print current /etc/redhat-release msg={{ _current_rh_release.stdout }}] ***",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.020)       0:00:09.425 ******** ",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.020)       0:00:09.424 ******** ",
                                "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') }}] ***",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.022)       0:00:09.448 ******** ",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.022)       0:00:09.447 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_setup : Manage directories path={{ item }}, state={{ directory_state }}, mode=0755, owner={{ ansible_user_id }}, group={{ ansible_user_id }}] ***",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.024)       0:00:09.472 ******** ",
                                "Wednesday 10 June 2026  10:43:17 +0000 (0:00:00.024)       0:00:09.471 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:18 +0000 (0:00:01.093)       0:00:10.565 ******** ",
                                "Wednesday 10 June 2026  10:43:18 +0000 (0:00:01.093)       0:00:10.564 ******** ",
                                "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 }}] **********************",
                                "Wednesday 10 June 2026  10:43:18 +0000 (0:00:00.408)       0:00:10.973 ******** ",
                                "Wednesday 10 June 2026  10:43:18 +0000 (0:00:00.408)       0:00:10.972 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Slurp file from remote src={{ _mock_file }}] *****************************",
                                "Wednesday 10 June 2026  10:43:19 +0000 (0:00:00.253)       0:00:11.227 ******** ",
                                "Wednesday 10 June 2026  10:43:19 +0000 (0:00:00.253)       0:00:11.225 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Copy file on localhost dest={{ lookup('env', 'HOME') ~ '/' ~ cifmw_architecture_scenario ~ '.yml' }}, mode=0644, content={{ _mock_content.content | b64decode }}] ***",
                                "Wednesday 10 June 2026  10:43:19 +0000 (0:00:00.290)       0:00:11.517 ******** ",
                                "Wednesday 10 June 2026  10:43:19 +0000 (0:00:00.290)       0:00:11.516 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [Include var file file={{ lookup('env', 'HOME') ~ '/' ~ cifmw_architecture_scenario ~ '.yml' }}] ***",
                                "Wednesday 10 June 2026  10:43:19 +0000 (0:00:00.574)       0:00:12.092 ******** ",
                                "Wednesday 10 June 2026  10:43:19 +0000 (0:00:00.574)       0:00:12.091 ******** ",
                                "ok: [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 }}] ***",
                                "Wednesday 10 June 2026  10:43:20 +0000 (0:00:00.036)       0:00:12.128 ******** ",
                                "Wednesday 10 June 2026  10:43:20 +0000 (0:00:00.036)       0:00:12.127 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Gather the list of scenario folders paths={{ _va_scenario_dir }}, patterns=kustomization.y*ml, recurse=True] ***",
                                "Wednesday 10 June 2026  10:43:20 +0000 (0:00:00.341)       0:00:12.470 ******** ",
                                "Wednesday 10 June 2026  10:43:20 +0000 (0:00:00.341)       0:00:12.468 ******** ",
                                "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.",
                                "] ***",
                                "Wednesday 10 June 2026  10:43:20 +0000 (0:00:00.437)       0:00:12.907 ******** ",
                                "Wednesday 10 June 2026  10:43:20 +0000 (0:00:00.437)       0:00:12.906 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Ensure that destination directory exists path={{ cifmw_kustomize_deploy_kustomizations_dest_dir }}, mode=0755, state=directory] ***",
                                "Wednesday 10 June 2026  10:43:20 +0000 (0:00:00.030)       0:00:12.938 ******** ",
                                "Wednesday 10 June 2026  10:43:20 +0000 (0:00:00.030)       0:00:12.936 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.240)       0:00:13.178 ******** ",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.240)       0:00:13.177 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.087)       0:00:13.266 ******** ",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.087)       0:00:13.265 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [networking_mapper : Check for Networking Environment Definition file existence path={{ cifmw_networking_mapper_networking_env_def_path }}] ***",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.132)       0:00:13.399 ******** ",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.132)       0:00:13.398 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.248)       0:00:13.648 ******** ",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.248)       0:00:13.647 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [networking_mapper : Load the Networking Definition from file path={{ cifmw_networking_mapper_networking_env_def_path }}] ***",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.068)       0:00:13.717 ******** ",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.068)       0:00:13.715 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.237)       0:00:13.954 ******** ",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.237)       0:00:13.953 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Discover automation files paths={{",
                                "  [cifmw_architecture_repo, _automation_relative] |",
                                "  path_join",
                                "}}, patterns=*.yaml] ***",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.093)       0:00:14.048 ******** ",
                                "Wednesday 10 June 2026  10:43:21 +0000 (0:00:00.093)       0:00:14.047 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Get automation contents path={{ item.path }}] ****************************",
                                "Wednesday 10 June 2026  10:43:22 +0000 (0:00:00.311)       0:00:14.359 ******** ",
                                "Wednesday 10 June 2026  10:43:22 +0000 (0:00:00.311)       0:00:14.358 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:30 +0000 (0:00:08.437)       0:00:22.797 ******** ",
                                "Wednesday 10 June 2026  10:43:30 +0000 (0:00:08.437)       0:00:22.795 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:43:32 +0000 (0:00:02.066)       0:00:24.863 ******** ",
                                "Wednesday 10 June 2026  10:43:32 +0000 (0:00:02.066)       0:00:24.862 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Create needed SSH keypairs comment={{ item.comment }}, path={{ item.path }}, type=ecdsa, size=521] ***",
                                "Wednesday 10 June 2026  10:43:32 +0000 (0:00:00.040)       0:00:24.904 ******** ",
                                "Wednesday 10 June 2026  10:43:32 +0000 (0:00:00.040)       0:00:24.902 ******** ",
                                "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 }}] ************************************",
                                "Wednesday 10 June 2026  10:43:33 +0000 (0:00:00.703)       0:00:25.607 ******** ",
                                "Wednesday 10 June 2026  10:43:33 +0000 (0:00:00.703)       0:00:25.606 ******** ",
                                "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 }}] ***********************************",
                                "Wednesday 10 June 2026  10:43:33 +0000 (0:00:00.410)       0:00:26.018 ******** ",
                                "Wednesday 10 June 2026  10:43:33 +0000 (0:00:00.409)       0:00:26.016 ******** ",
                                "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()",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.358)       0:00:26.376 ******** ",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.358)       0:00:26.375 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [Execute deployment steps name=kustomize_deploy, tasks_from=execute_step.yml, apply={'tags': ['edpm_deploy']}] ***",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.043)       0:00:26.420 ******** ",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.043)       0:00:26.418 ******** ",
                                "",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.269)       0:00:26.689 ******** ",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.269)       0:00:26.688 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.063)       0:00:26.753 ******** ",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.063)       0:00:26.752 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.035)       0:00:26.788 ******** ",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.035)       0:00:26.787 ******** ",
                                "ok: [localhost] => (item=oc -n openstack 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.] ***",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.043)       0:00:26.832 ******** ",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.043)       0:00:26.830 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.039)       0:00:26.871 ******** ",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.039)       0:00:26.870 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.046)       0:00:26.918 ******** ",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.046)       0:00:26.917 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.046)       0:00:26.964 ******** ",
                                "Wednesday 10 June 2026  10:43:34 +0000 (0:00:00.046)       0:00:26.963 ******** ",
                                "ok: [localhost] => (item={'name': 'network-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] ***",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.260)       0:00:27.225 ******** ",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.261)       0:00:27.224 ******** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking/nncp name=run_hook] ***",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.062)       0:00:27.288 ******** ",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.062)       0:00:27.286 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane/networking/nncp name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.045)       0:00:27.333 ******** ",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.045)       0:00:27.332 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.101)       0:00:27.435 ******** ",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.101)       0:00:27.433 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.049)       0:00:27.484 ******** ",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.049)       0:00:27.483 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.055)       0:00:27.539 ******** ",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.055)       0:00:27.538 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.053)       0:00:27.593 ******** ",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.053)       0:00:27.591 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.275)       0:00:27.868 ******** ",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.275)       0:00:27.867 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.092)       0:00:27.961 ******** ",
                                "Wednesday 10 June 2026  10:43:35 +0000 (0:00:00.092)       0:00:27.960 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.218)       0:00:28.180 ******** ",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.218)       0:00:28.178 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.300)       0:00:28.480 ******** ",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.300)       0:00:28.479 ******** ",
                                "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']] ***",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.108)       0:00:28.589 ******** ",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.108)       0:00:28.587 ******** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.056)       0:00:28.645 ******** ",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.056)       0:00:28.643 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.225)       0:00:28.870 ******** ",
                                "Wednesday 10 June 2026  10:43:36 +0000 (0:00:00.225)       0:00:28.869 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:43:37 +0000 (0:00:00.581)       0:00:29.452 ******** ",
                                "Wednesday 10 June 2026  10:43:37 +0000 (0:00:00.581)       0:00:29.450 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:37 +0000 (0:00:00.082)       0:00:29.534 ******** ",
                                "Wednesday 10 June 2026  10:43:37 +0000 (0:00:00.082)       0:00:29.533 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:37 +0000 (0:00:00.409)       0:00:29.944 ******** ",
                                "Wednesday 10 June 2026  10:43:37 +0000 (0:00:00.409)       0:00:29.942 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:38 +0000 (0:00:00.464)       0:00:30.408 ******** ",
                                "Wednesday 10 June 2026  10:43:38 +0000 (0:00:00.464)       0:00:30.407 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:43:38 +0000 (0:00:00.463)       0:00:30.872 ******** ",
                                "Wednesday 10 June 2026  10:43:38 +0000 (0:00:00.463)       0:00:30.870 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:43:38 +0000 (0:00:00.111)       0:00:30.983 ******** ",
                                "Wednesday 10 June 2026  10:43:38 +0000 (0:00:00.110)       0:00:30.981 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:38 +0000 (0:00:00.083)       0:00:31.066 ******** ",
                                "Wednesday 10 June 2026  10:43:38 +0000 (0:00:00.083)       0:00:31.065 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:43:39 +0000 (0:00:00.311)       0:00:31.378 ******** ",
                                "Wednesday 10 June 2026  10:43:39 +0000 (0:00:00.311)       0:00:31.377 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:43:39 +0000 (0:00:00.074)       0:00:31.452 ******** ",
                                "Wednesday 10 June 2026  10:43:39 +0000 (0:00:00.074)       0:00:31.451 ******** ",
                                "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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:43:40 +0000 (0:00:00.653)       0:00:32.106 ******** ",
                                "Wednesday 10 June 2026  10:43:40 +0000 (0:00:00.653)       0:00:32.104 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:40 +0000 (0:00:00.177)       0:00:32.284 ******** ",
                                "Wednesday 10 June 2026  10:43:40 +0000 (0:00:00.177)       0:00:32.282 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:40 +0000 (0:00:00.253)       0:00:32.537 ******** ",
                                "Wednesday 10 June 2026  10:43:40 +0000 (0:00:00.253)       0:00:32.536 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:43:40 +0000 (0:00:00.470)       0:00:33.008 ******** ",
                                "Wednesday 10 June 2026  10:43:40 +0000 (0:00:00.470)       0:00:33.006 ******** ",
                                "changed: [localhost] => (item=network-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:43:41 +0000 (0:00:00.249)       0:00:33.257 ******** ",
                                "Wednesday 10 June 2026  10:43:41 +0000 (0:00:00.249)       0:00:33.256 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane/networking/nncp chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:43:41 +0000 (0:00:00.072)       0:00:33.330 ******** ",
                                "Wednesday 10 June 2026  10:43:41 +0000 (0:00:00.072)       0:00:33.329 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:43:41 +0000 (0:00:00.579)       0:00:33.910 ******** ",
                                "Wednesday 10 June 2026  10:43:41 +0000 (0:00:00.579)       0:00:33.908 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane/networking/nncp executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.471)       0:00:34.381 ******** ",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.471)       0:00:34.380 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.048)       0:00:34.429 ******** ",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.048)       0:00:34.428 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/control-plane/networking/nncp remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.082)       0:00:34.512 ******** ",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.082)       0:00:34.511 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.324)       0:00:34.837 ******** ",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.324)       0:00:34.836 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane/networking/nncp _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.071)       0:00:34.908 ******** ",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.071)       0:00:34.907 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane/networking/nncp _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.069)       0:00:34.978 ******** ",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.069)       0:00:34.977 ******** ",
                                "skipping: [localhost] => (item=oc -n openstack 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 }}] ***",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.062)       0:00:35.041 ******** ",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.062)       0:00:35.039 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking/nncp name=run_hook] ***",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.050)       0:00:35.091 ******** ",
                                "Wednesday 10 June 2026  10:43:42 +0000 (0:00:00.050)       0:00:35.090 ******** ",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.056)       0:00:35.148 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.056)       0:00:35.147 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.073)       0:00:35.221 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.073)       0:00:35.220 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.035)       0:00:35.256 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.035)       0:00:35.255 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.031)       0:00:35.287 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.031)       0:00:35.286 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.028)       0:00:35.316 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.028)       0:00:35.315 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.033)       0:00:35.350 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.033)       0:00:35.348 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.087)       0:00:35.437 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.087)       0:00:35.436 ******** ",
                                "ok: [localhost] => (item={'name': 'network-values', 'src_file': 'nncp/values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.256)       0:00:35.694 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.256)       0:00:35.692 ******** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking name=run_hook] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.096)       0:00:35.791 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.096)       0:00:35.789 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane/networking name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.052)       0:00:35.843 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.052)       0:00:35.841 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.110)       0:00:35.953 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.110)       0:00:35.952 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.043)       0:00:35.996 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.043)       0:00:35.995 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.065)       0:00:36.062 ******** ",
                                "Wednesday 10 June 2026  10:43:43 +0000 (0:00:00.065)       0:00:36.060 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.059)       0:00:36.121 ******** ",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.059)       0:00:36.119 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.216)       0:00:36.337 ******** ",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.216)       0:00:36.336 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.054)       0:00:36.391 ******** ",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.054)       0:00:36.390 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.234)       0:00:36.626 ******** ",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.234)       0:00:36.625 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.238)       0:00:36.865 ******** ",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.238)       0:00:36.863 ******** ",
                                "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']] ***",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.082)       0:00:36.947 ******** ",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.082)       0:00:36.946 ******** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.057)       0:00:37.004 ******** ",
                                "Wednesday 10 June 2026  10:43:44 +0000 (0:00:00.057)       0:00:37.003 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:45 +0000 (0:00:00.227)       0:00:37.231 ******** ",
                                "Wednesday 10 June 2026  10:43:45 +0000 (0:00:00.227)       0:00:37.230 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:43:45 +0000 (0:00:00.550)       0:00:37.782 ******** ",
                                "Wednesday 10 June 2026  10:43:45 +0000 (0:00:00.550)       0:00:37.781 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:45 +0000 (0:00:00.079)       0:00:37.862 ******** ",
                                "Wednesday 10 June 2026  10:43:45 +0000 (0:00:00.080)       0:00:37.861 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:46 +0000 (0:00:00.452)       0:00:38.314 ******** ",
                                "Wednesday 10 June 2026  10:43:46 +0000 (0:00:00.451)       0:00:38.313 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:46 +0000 (0:00:00.417)       0:00:38.731 ******** ",
                                "Wednesday 10 June 2026  10:43:46 +0000 (0:00:00.417)       0:00:38.730 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.462)       0:00:39.194 ******** ",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.462)       0:00:39.192 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.115)       0:00:39.309 ******** ",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.115)       0:00:39.307 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.073)       0:00:39.382 ******** ",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.073)       0:00:39.381 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.252)       0:00:39.634 ******** ",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.252)       0:00:39.633 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.079)       0:00:39.714 ******** ",
                                "Wednesday 10 June 2026  10:43:47 +0000 (0:00:00.079)       0:00:39.713 ******** ",
                                "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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:43:48 +0000 (0:00:00.653)       0:00:40.368 ******** ",
                                "Wednesday 10 June 2026  10:43:48 +0000 (0:00:00.653)       0:00:40.367 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:48 +0000 (0:00:00.171)       0:00:40.539 ******** ",
                                "Wednesday 10 June 2026  10:43:48 +0000 (0:00:00.171)       0:00:40.538 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:48 +0000 (0:00:00.234)       0:00:40.774 ******** ",
                                "Wednesday 10 June 2026  10:43:48 +0000 (0:00:00.234)       0:00:40.773 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:43:49 +0000 (0:00:00.515)       0:00:41.289 ******** ",
                                "Wednesday 10 June 2026  10:43:49 +0000 (0:00:00.515)       0:00:41.288 ******** ",
                                "ok: [localhost] => (item=network-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:43:49 +0000 (0:00:00.290)       0:00:41.580 ******** ",
                                "Wednesday 10 June 2026  10:43:49 +0000 (0:00:00.290)       0:00:41.579 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane/networking chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:43:49 +0000 (0:00:00.050)       0:00:41.630 ******** ",
                                "Wednesday 10 June 2026  10:43:49 +0000 (0:00:00.050)       0:00:41.629 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.472)       0:00:42.103 ******** ",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.472)       0:00:42.101 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane/networking executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.521)       0:00:42.624 ******** ",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.521)       0:00:42.623 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.058)       0:00:42.682 ******** ",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.058)       0:00:42.681 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/control-plane/networking remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.056)       0:00:42.739 ******** ",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.056)       0:00:42.738 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.306)       0:00:43.046 ******** ",
                                "Wednesday 10 June 2026  10:43:50 +0000 (0:00:00.306)       0:00:43.044 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane/networking _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.084)       0:00:43.130 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.084)       0:00:43.129 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane/networking _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.064)       0:00:43.195 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.064)       0:00:43.194 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.084)       0:00:43.279 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.084)       0:00:43.278 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking name=run_hook] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.048)       0:00:43.328 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.048)       0:00:43.327 ******** ",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.047)       0:00:43.376 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.047)       0:00:43.374 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.040)       0:00:43.416 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.040)       0:00:43.414 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.033)       0:00:43.449 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.033)       0:00:43.447 ******** ",
                                "ok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=OpenStackControlPlaneDNSReadyCondition --timeout=20m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.031)       0:00:43.481 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.031)       0:00:43.479 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.023)       0:00:43.504 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.023)       0:00:43.503 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.035)       0:00:43.540 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.035)       0:00:43.539 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.110)       0:00:43.651 ******** ",
                                "Wednesday 10 June 2026  10:43:51 +0000 (0:00:00.110)       0:00:43.649 ******** ",
                                "ok: [localhost] => (item={'name': 'network-values', 'src_file': 'networking/nncp/values.yaml'})",
                                "ok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.476)       0:00:44.128 ******** ",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.476)       0:00:44.126 ******** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "ok: [localhost] => (item=service-values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane name=run_hook] ***",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.159)       0:00:44.287 ******** ",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.159)       0:00:44.285 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.083)       0:00:44.371 ******** ",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.083)       0:00:44.369 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.168)       0:00:44.539 ******** ",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.168)       0:00:44.537 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.073)       0:00:44.612 ******** ",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.073)       0:00:44.611 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.084)       0:00:44.697 ******** ",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.084)       0:00:44.696 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.060)       0:00:44.757 ******** ",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.060)       0:00:44.756 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.262)       0:00:45.020 ******** ",
                                "Wednesday 10 June 2026  10:43:52 +0000 (0:00:00.262)       0:00:45.019 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.089)       0:00:45.110 ******** ",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.089)       0:00:45.109 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.260)       0:00:45.370 ******** ",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.259)       0:00:45.369 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.276)       0:00:45.647 ******** ",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.277)       0:00:45.646 ******** ",
                                "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']] ***",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.098)       0:00:45.745 ******** ",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.098)       0:00:45.744 ******** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.074)       0:00:45.820 ******** ",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.074)       0:00:45.819 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.216)       0:00:46.036 ******** ",
                                "Wednesday 10 June 2026  10:43:53 +0000 (0:00:00.216)       0:00:46.035 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:43:54 +0000 (0:00:00.611)       0:00:46.648 ******** ",
                                "Wednesday 10 June 2026  10:43:54 +0000 (0:00:00.611)       0:00:46.647 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:54 +0000 (0:00:00.098)       0:00:46.747 ******** ",
                                "Wednesday 10 June 2026  10:43:54 +0000 (0:00:00.098)       0:00:46.746 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:55 +0000 (0:00:00.538)       0:00:47.286 ******** ",
                                "Wednesday 10 June 2026  10:43:55 +0000 (0:00:00.538)       0:00:47.285 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:55 +0000 (0:00:00.505)       0:00:47.792 ******** ",
                                "Wednesday 10 June 2026  10:43:55 +0000 (0:00:00.505)       0:00:47.790 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.543)       0:00:48.335 ******** ",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.543)       0:00:48.334 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.099)       0:00:48.435 ******** ",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.099)       0:00:48.433 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.065)       0:00:48.500 ******** ",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.065)       0:00:48.499 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.218)       0:00:48.719 ******** ",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.218)       0:00:48.717 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.078)       0:00:48.797 ******** ",
                                "Wednesday 10 June 2026  10:43:56 +0000 (0:00:00.078)       0:00:48.795 ******** ",
                                "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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:43:57 +0000 (0:00:00.708)       0:00:49.505 ******** ",
                                "Wednesday 10 June 2026  10:43:57 +0000 (0:00:00.708)       0:00:49.504 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:57 +0000 (0:00:00.170)       0:00:49.676 ******** ",
                                "Wednesday 10 June 2026  10:43:57 +0000 (0:00:00.170)       0:00:49.674 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:57 +0000 (0:00:00.270)       0:00:49.946 ******** ",
                                "Wednesday 10 June 2026  10:43:57 +0000 (0:00:00.270)       0:00:49.945 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.522)       0:00:50.468 ******** ",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.522)       0:00:50.467 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.082)       0:00:50.550 ******** ",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.082)       0:00:50.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.] ***",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.109)       0:00:50.659 ******** ",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.108)       0:00:50.658 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.080)       0:00:50.740 ******** ",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.080)       0:00:50.739 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.259)       0:00:51.000 ******** ",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.260)       0:00:50.999 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.064)       0:00:51.065 ******** ",
                                "Wednesday 10 June 2026  10:43:58 +0000 (0:00:00.064)       0:00:51.063 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.254)       0:00:51.319 ******** ",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.254)       0:00:51.318 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.286)       0:00:51.606 ******** ",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.286)       0:00:51.604 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.048)       0:00:51.654 ******** ",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.048)       0:00: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] ***",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.241)       0:00:51.896 ******** ",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.241)       0:00:51.895 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.074)       0:00:51.970 ******** ",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.074)       0:00:51.969 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.078)       0:00:52.049 ******** ",
                                "Wednesday 10 June 2026  10:43:59 +0000 (0:00:00.078)       0:00:52.048 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:00 +0000 (0:00:00.425)       0:00:52.474 ******** ",
                                "Wednesday 10 June 2026  10:44:00 +0000 (0:00:00.425)       0:00:52.473 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:00 +0000 (0:00:00.424)       0:00:52.898 ******** ",
                                "Wednesday 10 June 2026  10:44:00 +0000 (0:00:00.424)       0:00:52.897 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.447)       0:00:53.346 ******** ",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.447)       0:00:53.344 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.091)       0:00:53.437 ******** ",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.091)       0:00:53.436 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.067)       0:00:53.505 ******** ",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.067)       0:00:53.503 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.260)       0:00:53.765 ******** ",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.260)       0:00:53.764 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.077)       0:00:53.843 ******** ",
                                "Wednesday 10 June 2026  10:44:01 +0000 (0:00:00.078)       0:00:53.842 ******** ",
                                "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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:44:02 +0000 (0:00:00.461)       0:00:54.304 ******** ",
                                "Wednesday 10 June 2026  10:44:02 +0000 (0:00:00.461)       0:00:54.303 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:02 +0000 (0:00:00.137)       0:00:54.442 ******** ",
                                "Wednesday 10 June 2026  10:44:02 +0000 (0:00:00.137)       0:00:54.441 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:02 +0000 (0:00:00.203)       0:00:54.645 ******** ",
                                "Wednesday 10 June 2026  10:44:02 +0000 (0:00:00.203)       0:00:54.644 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:44:02 +0000 (0:00:00.402)       0:00:55.048 ******** ",
                                "Wednesday 10 June 2026  10:44:02 +0000 (0:00:00.402)       0:00:55.047 ******** ",
                                "ok: [localhost] => (item=network-values)",
                                "changed: [localhost] => (item=service-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:03 +0000 (0:00:00.567)       0:00:55.615 ******** ",
                                "Wednesday 10 June 2026  10:44:03 +0000 (0:00:00.567)       0:00:55.614 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:44:03 +0000 (0:00:00.075)       0:00:55.690 ******** ",
                                "Wednesday 10 June 2026  10:44:03 +0000 (0:00:00.075)       0:00:55.689 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.468)       0:00:56.159 ******** ",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.468)       0:00:56.158 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.444)       0:00:56.604 ******** ",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.444)       0:00:56.603 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.054)       0:00:56.659 ******** ",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.054)       0:00:56.657 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/control-plane remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.049)       0:00:56.708 ******** ",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.049)       0:00:56.707 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.298)       0:00:57.007 ******** ",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.298)       0:00:57.005 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.050)       0:00:57.057 ******** ",
                                "Wednesday 10 June 2026  10:44:04 +0000 (0:00:00.050)       0:00:57.056 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.053)       0:00:57.111 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.053)       0:00:57.110 ******** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=OpenStackControlPlaneDNSReadyCondition --timeout=20m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.047)       0:00:57.159 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.047)       0:00:57.158 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.054)       0:00:57.213 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.054)       0:00:57.212 ******** ",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.088)       0:00:57.302 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.088)       0:00:57.300 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.046)       0:00:57.348 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.046)       0:00:57.347 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.028)       0:00:57.376 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.028)       0:00:57.375 ******** ",
                                "ok: [localhost] => (item=oc -n openshift-dns wait dns.operator/default --for condition=Available --timeout=20m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.035)       0:00:57.412 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.035)       0:00:57.410 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.027)       0:00:57.439 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.027)       0:00:57.438 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.028)       0:00:57.468 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.028)       0:00:57.466 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.045)       0:00:57.514 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.045)       0:00:57.512 ******** ",
                                "ok: [localhost] => (item={'name': 'dns-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] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.246)       0:00:57.760 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.246)       0:00:57.759 ******** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking/dns name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.071)       0:00:57.832 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.071)       0:00:57.831 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane/networking/dns name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.050)       0:00:57.883 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.050)       0:00:57.881 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.074)       0:00:57.958 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.074)       0:00:57.956 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.049)       0:00:58.007 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.049)       0:00:58.006 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.072)       0:00:58.080 ******** ",
                                "Wednesday 10 June 2026  10:44:05 +0000 (0:00:00.072)       0:00:58.078 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.050)       0:00:58.130 ******** ",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.050)       0:00:58.129 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.179)       0:00:58.310 ******** ",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.179)       0:00:58.309 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.046)       0:00:58.357 ******** ",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.046)       0:00:58.356 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.226)       0:00:58.583 ******** ",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.226)       0:00:58.582 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.314)       0:00:58.898 ******** ",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.314)       0:00:58.897 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.054)       0:00:58.953 ******** ",
                                "Wednesday 10 June 2026  10:44:06 +0000 (0:00:00.054)       0:00:58.952 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:07 +0000 (0:00:00.247)       0:00:59.201 ******** ",
                                "Wednesday 10 June 2026  10:44:07 +0000 (0:00:00.247)       0:00:59.200 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:44:07 +0000 (0:00:00.099)       0:00:59.300 ******** ",
                                "Wednesday 10 June 2026  10:44:07 +0000 (0:00:00.099)       0:00:59.299 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:07 +0000 (0:00:00.091)       0:00:59.392 ******** ",
                                "Wednesday 10 June 2026  10:44:07 +0000 (0:00:00.091)       0:00:59.390 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:07 +0000 (0:00:00.493)       0:00:59.885 ******** ",
                                "Wednesday 10 June 2026  10:44:07 +0000 (0:00:00.493)       0:00:59.884 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:08 +0000 (0:00:00.446)       0:01:00.331 ******** ",
                                "Wednesday 10 June 2026  10:44:08 +0000 (0:00:00.446)       0:01:00.330 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:44:08 +0000 (0:00:00.472)       0:01:00.804 ******** ",
                                "Wednesday 10 June 2026  10:44:08 +0000 (0:00:00.472)       0:01:00.803 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:44:08 +0000 (0:00:00.054)       0:01:00.859 ******** ",
                                "Wednesday 10 June 2026  10:44:08 +0000 (0:00:00.054)       0:01:00.857 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:08 +0000 (0:00:00.074)       0:01:00.933 ******** ",
                                "Wednesday 10 June 2026  10:44:08 +0000 (0:00:00.074)       0:01:00.932 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.244)       0:01:01.178 ******** ",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.244)       0:01:01.177 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.070)       0:01:01.248 ******** ",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.070)       0:01:01.247 ******** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/dns-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/dns-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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.404)       0:01:01.652 ******** ",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.404)       0:01:01.651 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.147)       0:01:01.800 ******** ",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.147)       0:01:01.799 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.215)       0:01:02.016 ******** ",
                                "Wednesday 10 June 2026  10:44:09 +0000 (0:00:00.215)       0:01:02.014 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/control-plane/networking/dns 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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:44:10 +0000 (0:00:00.530)       0:01:02.546 ******** ",
                                "Wednesday 10 June 2026  10:44:10 +0000 (0:00:00.530)       0:01:02.545 ******** ",
                                "changed: [localhost] => (item=dns-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:10 +0000 (0:00:00.374)       0:01:02.921 ******** ",
                                "Wednesday 10 June 2026  10:44:10 +0000 (0:00:00.374)       0:01:02.920 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane/networking/dns chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:44:10 +0000 (0:00:00.071)       0:01:02.992 ******** ",
                                "Wednesday 10 June 2026  10:44:10 +0000 (0:00:00.071)       0:01:02.991 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:11 +0000 (0:00:00.306)       0:01:03.299 ******** ",
                                "Wednesday 10 June 2026  10:44:11 +0000 (0:00:00.306)       0:01:03.297 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane/networking/dns executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:44:11 +0000 (0:00:00.404)       0:01:03.703 ******** ",
                                "Wednesday 10 June 2026  10:44:11 +0000 (0:00:00.404)       0:01:03.702 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:11 +0000 (0:00:00.082)       0:01:03.785 ******** ",
                                "Wednesday 10 June 2026  10:44:11 +0000 (0:00:00.081)       0:01:03.784 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/control-plane/networking/dns remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:11 +0000 (0:00:00.083)       0:01:03.869 ******** ",
                                "Wednesday 10 June 2026  10:44:11 +0000 (0:00:00.083)       0:01:03.867 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.321)       0:01:04.191 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.321)       0:01:04.189 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane/networking/dns _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.051)       0:01:04.242 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.051)       0:01:04.241 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane/networking/dns _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.079)       0:01:04.321 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.079)       0:01:04.320 ******** ",
                                "skipping: [localhost] => (item=oc -n openshift-dns wait dns.operator/default --for condition=Available --timeout=20m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.055)       0:01:04.377 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.055)       0:01:04.376 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane/networking/dns name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.072)       0:01:04.450 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.072)       0:01:04.449 ******** ",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.065)       0:01:04.516 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.065)       0:01:04.514 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.074)       0:01:04.591 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.074)       0:01:04.589 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.048)       0:01:04.639 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.048)       0:01:04.638 ******** ",
                                "ok: [localhost] => (item=oc -n openstack wait baremetalhosts.metal3.io edpm-compute-0 --for=jsonpath='{.status.provisioning.state}'=available --timeout=20m)",
                                "ok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=20m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.044)       0:01:04.684 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.044)       0:01:04.683 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.032)       0:01:04.717 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.032)       0:01:04.715 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.042)       0:01:04.759 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.042)       0:01:04.758 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.068)       0:01:04.827 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.068)       0:01:04.826 ******** ",
                                "ok: [localhost] => (item={'name': 'baremetalhost-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] ***",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.243)       0:01:05.071 ******** ",
                                "Wednesday 10 June 2026  10:44:12 +0000 (0:00:00.243)       0:01:05.070 ******** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/edpm/baremetalhosts name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.098)       0:01:05.170 ******** ",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.098)       0:01:05.169 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon/edpm/baremetalhosts name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.079)       0:01:05.249 ******** ",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.079)       0:01:05.248 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.128)       0:01:05.377 ******** ",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.128)       0:01:05.376 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.058)       0:01:05.436 ******** ",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.058)       0:01:05.434 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.108)       0:01:05.544 ******** ",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.108)       0:01:05.543 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.046)       0:01:05.591 ******** ",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.046)       0:01:05.589 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.244)       0:01:05.835 ******** ",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.244)       0:01:05.834 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.065)       0:01:05.901 ******** ",
                                "Wednesday 10 June 2026  10:44:13 +0000 (0:00:00.065)       0:01:05.899 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.258)       0:01:06.160 ******** ",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.258)       0:01:06.158 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.236)       0:01:06.396 ******** ",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.236)       0:01:06.394 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.040)       0:01:06.437 ******** ",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.040)       0:01:06.435 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.250)       0:01:06.687 ******** ",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.250)       0:01:06.685 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.067)       0:01:06.754 ******** ",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.067)       0:01:06.753 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.069)       0:01:06.824 ******** ",
                                "Wednesday 10 June 2026  10:44:14 +0000 (0:00:00.069)       0:01:06.822 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:15 +0000 (0:00:00.578)       0:01:07.402 ******** ",
                                "Wednesday 10 June 2026  10:44:15 +0000 (0:00:00.578)       0:01:07.401 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:15 +0000 (0:00:00.436)       0:01:07.839 ******** ",
                                "Wednesday 10 June 2026  10:44:15 +0000 (0:00:00.436)       0:01:07.837 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.440)       0:01:08.279 ******** ",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.440)       0:01:08.278 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.092)       0:01:08.372 ******** ",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.092)       0:01:08.371 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.057)       0:01:08.429 ******** ",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.057)       0:01:08.428 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.235)       0:01:08.665 ******** ",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.235)       0:01:08.663 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.071)       0:01:08.736 ******** ",
                                "Wednesday 10 June 2026  10:44:16 +0000 (0:00:00.071)       0:01:08.735 ******** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:44:17 +0000 (0:00:00.453)       0:01:09.189 ******** ",
                                "Wednesday 10 June 2026  10:44:17 +0000 (0:00:00.453)       0:01:09.188 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:17 +0000 (0:00:00.088)       0:01:09.278 ******** ",
                                "Wednesday 10 June 2026  10:44:17 +0000 (0:00:00.088)       0:01:09.277 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:17 +0000 (0:00:00.245)       0:01:09.524 ******** ",
                                "Wednesday 10 June 2026  10:44:17 +0000 (0:00:00.245)       0:01:09.522 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/edpm/baremetalhosts 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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:44:17 +0000 (0:00:00.444)       0:01:09.968 ******** ",
                                "Wednesday 10 June 2026  10:44:17 +0000 (0:00:00.444)       0:01:09.966 ******** ",
                                "changed: [localhost] => (item=baremetalhost-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:18 +0000 (0:00:00.327)       0:01:10.295 ******** ",
                                "Wednesday 10 June 2026  10:44:18 +0000 (0:00:00.327)       0:01:10.293 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/edpm/baremetalhosts chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:44:18 +0000 (0:00:00.047)       0:01:10.342 ******** ",
                                "Wednesday 10 June 2026  10:44:18 +0000 (0:00:00.047)       0:01:10.341 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:18 +0000 (0:00:00.342)       0:01:10.685 ******** ",
                                "Wednesday 10 June 2026  10:44:18 +0000 (0:00:00.342)       0:01:10.683 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/edpm/baremetalhosts executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.418)       0:01:11.103 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.418)       0:01:11.101 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.078)       0:01:11.181 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.078)       0:01:11.180 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/edpm/baremetalhosts remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.086)       0:01:11.267 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.086)       0:01:11.266 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.305)       0:01:11.573 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.305)       0:01:11.571 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/edpm/baremetalhosts _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.069)       0:01:11.643 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.069)       0:01:11.641 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/edpm/baremetalhosts _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.063)       0:01:11.706 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.063)       0:01:11.704 ******** ",
                                "skipping: [localhost] => (item=oc -n openstack wait baremetalhosts.metal3.io edpm-compute-0 --for=jsonpath='{.status.provisioning.state}'=available --timeout=20m) ",
                                "skipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=20m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.072)       0:01:11.778 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.072)       0:01:11.777 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/edpm/baremetalhosts name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.075)       0:01:11.853 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.075)       0:01:11.852 ******** ",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.080)       0:01:11.934 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.080)       0:01:11.932 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.062)       0:01:11.996 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.062)       0:01:11.994 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.042)       0:01:12.038 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.042)       0:01:12.037 ******** ",
                                "ok: [localhost] => (item=oc -n openstack wait osdpns gpu-computes-edpm --for condition=SetupReady --timeout=90m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.043)       0:01:12.082 ******** ",
                                "Wednesday 10 June 2026  10:44:19 +0000 (0:00:00.043)       0:01:12.081 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.034)       0:01:12.117 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.034)       0:01:12.116 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.067)       0:01:12.185 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.067)       0:01:12.183 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.075)       0:01:12.260 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.075)       0:01:12.258 ******** ",
                                "ok: [localhost] => (item={'name': 'edpm-nodeset-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] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.245)       0:01:12.505 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.245)       0:01:12.504 ******** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.101)       0:01:12.606 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.101)       0:01:12.605 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.062)       0:01:12.668 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.061)       0:01:12.667 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.110)       0:01:12.779 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.110)       0:01:12.777 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.074)       0:01:12.853 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.074)       0:01:12.851 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.074)       0:01:12.927 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.074)       0:01:12.926 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.059)       0:01:12.987 ******** ",
                                "Wednesday 10 June 2026  10:44:20 +0000 (0:00:00.059)       0:01:12.986 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.250)       0:01:13.237 ******** ",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.250)       0:01:13.236 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.089)       0:01:13.326 ******** ",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.089)       0:01:13.325 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.247)       0:01:13.574 ******** ",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.247)       0:01:13.572 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.305)       0:01:13.879 ******** ",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.305)       0:01:13.878 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.114)       0:01:13.994 ******** ",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.114)       0:01:13.992 ******** ",
                                "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 != ''\"]] ***",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.098)       0:01:14.093 ******** ",
                                "Wednesday 10 June 2026  10:44:21 +0000 (0:00:00.098)       0:01:14.091 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.074)       0:01:14.167 ******** ",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.074)       0:01:14.166 ******** ",
                                "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\"] ***",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.087)       0:01:14.255 ******** ",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.087)       0:01:14.254 ******** ",
                                "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 ([])",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.067)       0:01:14.323 ******** ",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.067)       0:01:14.321 ******** ",
                                "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 != ''\"]] ***",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.069)       0:01:14.392 ******** ",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.069)       0:01:14.391 ******** ",
                                "ok: [localhost] => ",
                                "    changed: false",
                                "    msg: All assertions passed",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.051)       0:01:14.444 ******** ",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.052)       0:01:14.443 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.235)       0:01:14.680 ******** ",
                                "Wednesday 10 June 2026  10:44:22 +0000 (0:00:00.235)       0:01:14.679 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:44:23 +0000 (0:00:00.424)       0:01:15.105 ******** ",
                                "Wednesday 10 June 2026  10:44:23 +0000 (0:00:00.424)       0:01:15.103 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:23 +0000 (0:00:00.052)       0:01:15.157 ******** ",
                                "Wednesday 10 June 2026  10:44:23 +0000 (0:00:00.052)       0:01:15.156 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:23 +0000 (0:00:00.415)       0:01:15.573 ******** ",
                                "Wednesday 10 June 2026  10:44:23 +0000 (0:00:00.416)       0:01:15.572 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:23 +0000 (0:00:00.483)       0:01:16.056 ******** ",
                                "Wednesday 10 June 2026  10:44:23 +0000 (0:00:00.482)       0:01:16.055 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.449)       0:01:16.506 ******** ",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.449)       0:01:16.505 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.059)       0:01:16.566 ******** ",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.059)       0:01:16.564 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.061)       0:01:16.628 ******** ",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.062)       0:01:16.626 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.237)       0:01:16.866 ******** ",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.237)       0:01:16.864 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.048)       0:01:16.914 ******** ",
                                "Wednesday 10 June 2026  10:44:24 +0000 (0:00:00.048)       0:01:16.913 ******** ",
                                "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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:44:25 +0000 (0:00:00.644)       0:01:17.559 ******** ",
                                "Wednesday 10 June 2026  10:44:25 +0000 (0:00:00.644)       0:01:17.557 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:25 +0000 (0:00:00.191)       0:01:17.750 ******** ",
                                "Wednesday 10 June 2026  10:44:25 +0000 (0:00:00.191)       0:01:17.749 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:25 +0000 (0:00:00.262)       0:01:18.013 ******** ",
                                "Wednesday 10 June 2026  10:44:25 +0000 (0:00:00.262)       0:01:18.012 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/edpm-pre-ceph/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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:44:26 +0000 (0:00:00.535)       0:01:18.549 ******** ",
                                "Wednesday 10 June 2026  10:44:26 +0000 (0:00:00.535)       0:01:18.548 ******** ",
                                "changed: [localhost] => (item=edpm-nodeset-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:26 +0000 (0:00:00.322)       0:01:18.871 ******** ",
                                "Wednesday 10 June 2026  10:44:26 +0000 (0:00:00.322)       0:01:18.870 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:44:26 +0000 (0:00:00.083)       0:01:18.955 ******** ",
                                "Wednesday 10 June 2026  10:44:26 +0000 (0:00:00.083)       0:01:18.954 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:27 +0000 (0:00:00.444)       0:01:19.399 ******** ",
                                "Wednesday 10 June 2026  10:44:27 +0000 (0:00:00.444)       0:01:19.398 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:44:27 +0000 (0:00:00.445)       0:01:19.845 ******** ",
                                "Wednesday 10 June 2026  10:44:27 +0000 (0:00:00.445)       0:01:19.844 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:27 +0000 (0:00:00.073)       0:01:19.918 ******** ",
                                "Wednesday 10 June 2026  10:44:27 +0000 (0:00:00.073)       0:01:19.917 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:27 +0000 (0:00:00.073)       0:01:19.992 ******** ",
                                "Wednesday 10 June 2026  10:44:27 +0000 (0:00:00.073)       0:01:19.991 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.271)       0:01:20.263 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.271)       0:01:20.262 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.323 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.321 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.064)       0:01:20.387 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.064)       0:01:20.385 ******** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osdpns gpu-computes-edpm --for condition=SetupReady --timeout=90m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.064)       0:01:20.451 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.064)       0:01:20.450 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/edpm-pre-ceph/nodeset name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.050)       0:01:20.501 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.050)       0:01:20.500 ******** ",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.561 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.560 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.081)       0:01:20.642 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.081)       0:01:20.641 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.042)       0:01:20.685 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.042)       0:01:20.683 ******** ",
                                "ok: [localhost] => (item=oc -n openstack wait osdpd edpm-deployment-pre-ceph --for condition=Ready --timeout=90m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.057)       0:01:20.742 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.057)       0:01:20.741 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.043)       0:01:20.786 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.043)       0:01:20.785 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.845 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.059)       0:01:20.844 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.063)       0:01:20.909 ******** ",
                                "Wednesday 10 June 2026  10:44:28 +0000 (0:00:00.063)       0:01:20.908 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.262)       0:01:21.172 ******** ",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.262)       0:01:21.171 ******** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.105)       0:01:21.277 ******** ",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.105)       0:01:21.276 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.052)       0:01:21.330 ******** ",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.052)       0:01:21.328 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.108)       0:01:21.439 ******** ",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.108)       0:01:21.437 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.040)       0:01:21.479 ******** ",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.040)       0:01:21.478 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.063)       0:01:21.543 ******** ",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.063)       0:01:21.541 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.048)       0:01:21.591 ******** ",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.048)       0:01:21.590 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.262)       0:01:21.854 ******** ",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.262)       0:01:21.852 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.081)       0:01:21.936 ******** ",
                                "Wednesday 10 June 2026  10:44:29 +0000 (0:00:00.081)       0:01:21.934 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.256)       0:01:22.192 ******** ",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.257)       0:01:22.191 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.245)       0:01:22.438 ******** ",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.245)       0:01:22.437 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.059)       0:01:22.498 ******** ",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.059)       0:01:22.496 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.221)       0:01:22.719 ******** ",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.220)       0:01:22.717 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.067)       0:01:22.786 ******** ",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.067)       0:01:22.785 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.066)       0:01:22.853 ******** ",
                                "Wednesday 10 June 2026  10:44:30 +0000 (0:00:00.066)       0:01:22.851 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:31 +0000 (0:00:00.450)       0:01:23.304 ******** ",
                                "Wednesday 10 June 2026  10:44:31 +0000 (0:00:00.450)       0:01:23.302 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:31 +0000 (0:00:00.455)       0:01:23.759 ******** ",
                                "Wednesday 10 June 2026  10:44:31 +0000 (0:00:00.455)       0:01:23.758 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.467)       0:01:24.227 ******** ",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.467)       0:01:24.226 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.088)       0:01:24.316 ******** ",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.088)       0:01:24.315 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.064)       0:01:24.381 ******** ",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.064)       0:01:24.380 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.256)       0:01:24.638 ******** ",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.256)       0:01:24.636 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.071)       0:01:24.709 ******** ",
                                "Wednesday 10 June 2026  10:44:32 +0000 (0:00:00.071)       0:01:24.708 ******** ",
                                "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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:44:33 +0000 (0:00:00.455)       0:01:25.165 ******** ",
                                "Wednesday 10 June 2026  10:44:33 +0000 (0:00:00.455)       0:01:25.164 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:33 +0000 (0:00:00.110)       0:01:25.276 ******** ",
                                "Wednesday 10 June 2026  10:44:33 +0000 (0:00:00.110)       0:01:25.275 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:33 +0000 (0:00:00.242)       0:01:25.519 ******** ",
                                "Wednesday 10 June 2026  10:44:33 +0000 (0:00:00.242)       0:01:25.517 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment 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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:44:33 +0000 (0:00:00.437)       0:01:25.956 ******** ",
                                "Wednesday 10 June 2026  10:44:33 +0000 (0:00:00.437)       0:01:25.955 ******** ",
                                "changed: [localhost] => (item=edpm-deployment-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:34 +0000 (0:00:00.338)       0:01:26.294 ******** ",
                                "Wednesday 10 June 2026  10:44:34 +0000 (0:00:00.338)       0:01:26.293 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:44:34 +0000 (0:00:00.050)       0:01:26.345 ******** ",
                                "Wednesday 10 June 2026  10:44:34 +0000 (0:00:00.050)       0:01:26.344 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:34 +0000 (0:00:00.382)       0:01:26.728 ******** ",
                                "Wednesday 10 June 2026  10:44:34 +0000 (0:00:00.382)       0:01:26.727 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.462)       0:01:27.190 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.461)       0:01:27.189 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.047)       0:01:27.237 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.047)       0:01:27.236 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.065)       0:01:27.303 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.065)       0:01:27.301 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.236)       0:01:27.540 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.236)       0:01:27.538 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.581 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.580 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.622 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.621 ******** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osdpd edpm-deployment-pre-ceph --for condition=Ready --timeout=90m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.664 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.662 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/edpm-pre-ceph/deployment name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.705 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.041)       0:01:27.703 ******** ",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.061)       0:01:27.766 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.061)       0:01:27.764 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.063)       0:01:27.830 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.063)       0:01:27.828 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.033)       0:01:27.863 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.033)       0:01:27.861 ******** ",
                                "ok: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=20m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.035)       0:01:27.898 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.035)       0:01:27.896 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.031)       0:01:27.929 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.031)       0:01:27.928 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.034)       0:01:27.963 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.034)       0:01:27.962 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.048)       0:01:28.012 ******** ",
                                "Wednesday 10 June 2026  10:44:35 +0000 (0:00:00.048)       0:01:28.010 ******** ",
                                "ok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})",
                                "",
                                "TASK [kustomize_deploy : Assert source files exist that=['(item.stat is defined and item.stat.exists) or item.skipped'], quiet=True] ***",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.235)       0:01:28.247 ******** ",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.235)       0:01:28.246 ******** ",
                                "ok: [localhost] => (item=service-values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/control-plane-post-ceph name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.102)       0:01:28.350 ******** ",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.102)       0:01:28.349 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon/control-plane-post-ceph name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.055)       0:01:28.406 ******** ",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.055)       0:01:28.405 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.125)       0:01:28.531 ******** ",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.125)       0:01:28.530 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.048)       0:01:28.580 ******** ",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.048)       0:01:28.578 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.068)       0:01:28.648 ******** ",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.068)       0:01:28.647 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.057)       0:01:28.705 ******** ",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.057)       0:01:28.704 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.266)       0:01:28.972 ******** ",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.266)       0:01:28.970 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.045)       0:01:29.017 ******** ",
                                "Wednesday 10 June 2026  10:44:36 +0000 (0:00:00.045)       0:01:29.016 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.200)       0:01:29.218 ******** ",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.200)       0:01:29.216 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.271)       0:01:29.489 ******** ",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.270)       0:01:29.487 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.072)       0:01:29.562 ******** ",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.072)       0:01:29.560 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.233)       0:01:29.795 ******** ",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.233)       0:01:29.794 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.056)       0:01:29.851 ******** ",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.056)       0:01:29.850 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.075)       0:01:29.927 ******** ",
                                "Wednesday 10 June 2026  10:44:37 +0000 (0:00:00.075)       0:01:29.925 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:38 +0000 (0:00:00.413)       0:01:30.340 ******** ",
                                "Wednesday 10 June 2026  10:44:38 +0000 (0:00:00.413)       0:01:30.339 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:38 +0000 (0:00:00.469)       0:01:30.810 ******** ",
                                "Wednesday 10 June 2026  10:44:38 +0000 (0:00:00.470)       0:01:30.809 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.446)       0:01:31.257 ******** ",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.446)       0:01:31.256 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.066)       0:01:31.324 ******** ",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.066)       0:01:31.322 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.059)       0:01:31.383 ******** ",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.059)       0:01:31.382 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.221)       0:01:31.605 ******** ",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.221)       0:01:31.603 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.074)       0:01:31.679 ******** ",
                                "Wednesday 10 June 2026  10:44:39 +0000 (0:00:00.074)       0:01:31.678 ******** ",
                                "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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:44:40 +0000 (0:00:00.432)       0:01:32.111 ******** ",
                                "Wednesday 10 June 2026  10:44:40 +0000 (0:00:00.431)       0:01:32.110 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:40 +0000 (0:00:00.125)       0:01:32.237 ******** ",
                                "Wednesday 10 June 2026  10:44:40 +0000 (0:00:00.125)       0:01:32.236 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:40 +0000 (0:00:00.257)       0:01:32.495 ******** ",
                                "Wednesday 10 June 2026  10:44:40 +0000 (0:00:00.257)       0:01:32.494 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/control-plane-post-ceph 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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:44:40 +0000 (0:00:00.517)       0:01:33.012 ******** ",
                                "Wednesday 10 June 2026  10:44:40 +0000 (0:00:00.517)       0:01:33.011 ******** ",
                                "changed: [localhost] => (item=service-values)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:41 +0000 (0:00:00.271)       0:01:33.283 ******** ",
                                "Wednesday 10 June 2026  10:44:41 +0000 (0:00:00.271)       0:01:33.282 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane-post-ceph chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:44:41 +0000 (0:00:00.038)       0:01:33.322 ******** ",
                                "Wednesday 10 June 2026  10:44:41 +0000 (0:00:00.038)       0:01:33.321 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:41 +0000 (0:00:00.412)       0:01:33.735 ******** ",
                                "Wednesday 10 June 2026  10:44:41 +0000 (0:00:00.412)       0:01:33.734 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/control-plane-post-ceph executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.447)       0:01:34.183 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.447)       0:01:34.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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.074)       0:01:34.257 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.074)       0:01:34.256 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/control-plane-post-ceph remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.072)       0:01:34.330 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.072)       0:01:34.328 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.260)       0:01:34.590 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.260)       0:01:34.589 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/control-plane-post-ceph _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.073)       0:01:34.664 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.073)       0:01:34.662 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/control-plane-post-ceph _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.069)       0:01:34.733 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.069)       0:01:34.732 ******** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osctlplane controlplane --for condition=Ready --timeout=20m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.066)       0:01:34.799 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.066)       0:01:34.798 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/control-plane-post-ceph name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.051)       0:01:34.851 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.051)       0:01:34.850 ******** ",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.043)       0:01:34.895 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.043)       0:01:34.894 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.053)       0:01:34.948 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.053)       0:01:34.947 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.032)       0:01:34.981 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.032)       0:01:34.980 ******** ",
                                "ok: [localhost] => (item=oc -n openstack wait osdpns gpu-computes-edpm --for condition=SetupReady --timeout=10m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.048)       0:01:35.029 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.048)       0:01:35.028 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.029)       0:01:35.059 ******** ",
                                "Wednesday 10 June 2026  10:44:42 +0000 (0:00:00.029)       0:01:35.057 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.037)       0:01:35.096 ******** ",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.037)       0:01:35.095 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.043)       0:01:35.140 ******** ",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.043)       0:01:35.138 ******** ",
                                "ok: [localhost] => (item={'name': 'service-values', 'src_file': 'service-values.yaml'})",
                                "ok: [localhost] => (item={'name': 'edpm-nodeset-values-post-ceph', '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] ***",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.438)       0:01:35.579 ******** ",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.438)       0:01:35.577 ******** ",
                                "ok: [localhost] => (item=service-values.yaml)",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.138)       0:01:35.717 ******** ",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.138)       0:01:35.715 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.065)       0:01:35.782 ******** ",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.065)       0:01:35.781 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.141)       0:01:35.923 ******** ",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.141)       0:01:35.922 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.066)       0:01:35.990 ******** ",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.066)       0:01:35.989 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.094)       0:01:36.085 ******** ",
                                "Wednesday 10 June 2026  10:44:43 +0000 (0:00:00.094)       0:01:36.084 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.056)       0:01:36.142 ******** ",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.056)       0:01:36.141 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.227)       0:01:36.369 ******** ",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.227)       0:01:36.368 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.061)       0:01:36.431 ******** ",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.061)       0:01:36.429 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.234)       0:01:36.665 ******** ",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.234)       0:01:36.664 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.227)       0:01:36.892 ******** ",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.227)       0:01:36.891 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.053)       0:01:36.945 ******** ",
                                "Wednesday 10 June 2026  10:44:44 +0000 (0:00:00.053)       0:01:36.944 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:45 +0000 (0:00:00.268)       0:01:37.214 ******** ",
                                "Wednesday 10 June 2026  10:44:45 +0000 (0:00:00.268)       0:01:37.213 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:44:45 +0000 (0:00:00.086)       0:01:37.301 ******** ",
                                "Wednesday 10 June 2026  10:44:45 +0000 (0:00:00.086)       0:01:37.299 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:45 +0000 (0:00:00.100)       0:01:37.401 ******** ",
                                "Wednesday 10 June 2026  10:44:45 +0000 (0:00:00.100)       0:01:37.400 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:45 +0000 (0:00:00.423)       0:01:37.825 ******** ",
                                "Wednesday 10 June 2026  10:44:45 +0000 (0:00:00.423)       0:01:37.823 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:46 +0000 (0:00:00.490)       0:01:38.316 ******** ",
                                "Wednesday 10 June 2026  10:44:46 +0000 (0:00:00.491)       0:01:38.314 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:44:46 +0000 (0:00:00.471)       0:01:38.787 ******** ",
                                "Wednesday 10 June 2026  10:44:46 +0000 (0:00:00.471)       0:01:38.786 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:44:46 +0000 (0:00:00.066)       0:01:38.854 ******** ",
                                "Wednesday 10 June 2026  10:44:46 +0000 (0:00:00.066)       0:01:38.853 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:46 +0000 (0:00:00.062)       0:01:38.916 ******** ",
                                "Wednesday 10 June 2026  10:44:46 +0000 (0:00:00.062)       0:01:38.915 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.216)       0:01:39.133 ******** ",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.216)       0:01:39.132 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.037)       0:01:39.170 ******** ",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.037)       0:01:39.169 ******** ",
                                "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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.367)       0:01:39.537 ******** ",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.367)       0:01:39.536 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.102)       0:01:39.640 ******** ",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.102)       0:01:39.639 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.251)       0:01:39.892 ******** ",
                                "Wednesday 10 June 2026  10:44:47 +0000 (0:00:00.251)       0:01:39.890 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.448)       0:01:40.340 ******** ",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.448)       0:01:40.338 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.058)       0:01:40.398 ******** ",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.058)       0:01:40.397 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.062)       0:01:40.461 ******** ",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.062)       0:01:40.460 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.052)       0:01:40.513 ******** ",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.052)       0:01:40.512 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.238)       0:01:40.752 ******** ",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.238)       0:01:40.751 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.083)       0:01:40.836 ******** ",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.083)       0:01:40.834 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.216)       0:01:41.052 ******** ",
                                "Wednesday 10 June 2026  10:44:48 +0000 (0:00:00.216)       0:01:41.050 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:44:49 +0000 (0:00:00.263)       0:01:41.316 ******** ",
                                "Wednesday 10 June 2026  10:44:49 +0000 (0:00:00.263)       0:01:41.314 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:44:49 +0000 (0:00:00.054)       0:01:41.370 ******** ",
                                "Wednesday 10 June 2026  10:44:49 +0000 (0:00:00.054)       0:01:41.369 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:49 +0000 (0:00:00.228)       0:01:41.599 ******** ",
                                "Wednesday 10 June 2026  10:44:49 +0000 (0:00:00.228)       0:01:41.597 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:44:49 +0000 (0:00:00.456)       0:01:42.055 ******** ",
                                "Wednesday 10 June 2026  10:44:49 +0000 (0:00:00.456)       0:01:42.054 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:50 +0000 (0:00:00.086)       0:01:42.142 ******** ",
                                "Wednesday 10 June 2026  10:44:50 +0000 (0:00:00.086)       0:01:42.141 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:50 +0000 (0:00:00.454)       0:01:42.597 ******** ",
                                "Wednesday 10 June 2026  10:44:50 +0000 (0:00:00.454)       0:01:42.596 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:50 +0000 (0:00:00.471)       0:01:43.068 ******** ",
                                "Wednesday 10 June 2026  10:44:50 +0000 (0:00:00.471)       0:01:43.067 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.448)       0:01:43.517 ******** ",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.448)       0:01:43.516 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.111)       0:01:43.629 ******** ",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.111)       0:01:43.627 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.073)       0:01:43.702 ******** ",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.073)       0:01:43.700 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.219)       0:01:43.921 ******** ",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.219)       0:01:43.920 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.084)       0:01:44.006 ******** ",
                                "Wednesday 10 June 2026  10:44:51 +0000 (0:00:00.084)       0:01:44.004 ******** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/02_ci_data.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:44:52 +0000 (0:00:00.727)       0:01:44.733 ******** ",
                                "Wednesday 10 June 2026  10:44:52 +0000 (0:00:00.727)       0:01:44.731 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:52 +0000 (0:00:00.168)       0:01:44.901 ******** ",
                                "Wednesday 10 June 2026  10:44:52 +0000 (0:00:00.168)       0:01:44.900 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:53 +0000 (0:00:00.227)       0:01:45.129 ******** ",
                                "Wednesday 10 June 2026  10:44:53 +0000 (0:00:00.227)       0:01:45.127 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon 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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:44:53 +0000 (0:00:00.405)       0:01:45.534 ******** ",
                                "Wednesday 10 June 2026  10:44:53 +0000 (0:00:00.405)       0:01:45.532 ******** ",
                                "changed: [localhost] => (item=service-values)",
                                "changed: [localhost] => (item=edpm-nodeset-values-post-ceph)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:54 +0000 (0:00:00.653)       0:01:46.187 ******** ",
                                "Wednesday 10 June 2026  10:44:54 +0000 (0:00:00.653)       0:01:46.186 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:44:54 +0000 (0:00:00.055)       0:01:46.243 ******** ",
                                "Wednesday 10 June 2026  10:44:54 +0000 (0:00:00.055)       0:01:46.241 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:54 +0000 (0:00:00.531)       0:01:46.775 ******** ",
                                "Wednesday 10 June 2026  10:44:54 +0000 (0:00:00.531)       0:01:46.773 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.520)       0:01:47.296 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.520)       0:01:47.294 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.065)       0:01:47.361 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.065)       0:01:47.360 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.086)       0:01:47.448 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.086)       0:01:47.446 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.284)       0:01:47.732 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.284)       0:01:47.731 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.054)       0:01:47.787 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.054)       0:01:47.786 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.039)       0:01:47.827 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.039)       0:01:47.825 ******** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osdpns gpu-computes-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 }}] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.064)       0:01:47.891 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.064)       0:01:47.890 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.075)       0:01:47.966 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.075)       0:01:47.965 ******** ",
                                "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\"]] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.061)       0:01:48.028 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.061)       0:01:48.027 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.051)       0:01:48.080 ******** ",
                                "Wednesday 10 June 2026  10:44:55 +0000 (0:00:00.051)       0:01:48.079 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Check builtin wait conditions that=item is match(_pattern), msg=The following builtin condition is invalid: {{ item }}, quiet=True] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.026)       0:01:48.107 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.026)       0:01:48.105 ******** ",
                                "ok: [localhost] => (item=oc -n openstack wait osdpd edpm-deployment-post-ceph --for condition=Ready --timeout=90m)",
                                "",
                                "TASK [kustomize_deploy : Check wait_conditions validation result msg=Review and correct the faulty wait_conditions listed above.] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.035)       0:01:48.142 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.034)       0:01:48.140 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Set stage_wait_conditions fact _wait_conditions={{ stage.wait_conditions + _custom_conditions }}] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.026)       0:01:48.168 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.026)       0:01:48.167 ******** ",
                                "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)",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.033)       0:01:48.201 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.033)       0:01:48.200 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.039)       0:01:48.241 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.039)       0:01:48.239 ******** ",
                                "ok: [localhost] => (item={'name': 'edpm-deployment-values-post-ceph', '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] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.227)       0:01:48.468 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.227)       0:01:48.467 ******** ",
                                "ok: [localhost] => (item=values.yaml)",
                                "",
                                "TASK [Executing pre_stage hooks for examples/dt/nova/nova05epsilon/deployment name=run_hook] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.095)       0:01:48.564 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.095)       0:01:48.563 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Generate values.yaml for examples/dt/nova/nova05epsilon/deployment name=ci_gen_kustomize_values] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.061)       0:01:48.625 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.061)       0:01:48.624 ******** ",
                                "",
                                "TASK [ci_gen_kustomize_values : Detect metal3 node for baremetal nodeset provisioning _raw_params=detect_metal3_node.yml] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.136)       0:01:48.761 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.135)       0:01:48.760 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate snippets files _raw_params=generate_snippets.yml] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.073)       0:01:48.835 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.073)       0:01:48.834 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.096)       0:01:48.932 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.096)       0:01:48.931 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.074)       0:01:49.007 ******** ",
                                "Wednesday 10 June 2026  10:44:56 +0000 (0:00:00.074)       0:01:49.006 ******** ",
                                "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.] ***",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.250)       0:01:49.257 ******** ",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.250)       0:01:49.256 ******** ",
                                "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 }}] ***",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.079)       0:01:49.337 ******** ",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.079)       0:01:49.336 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.249)       0:01:49.587 ******** ",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.249)       0:01:49.585 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure we get the needed data depending on the values type _raw_params={{ _tasks }}] ***",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.272)       0:01:49.859 ******** ",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.272)       0:01:49.857 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure output directory exists path={{ snippet_datadir }}, state=directory, mode=0755] ***",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.069)       0:01:49.929 ******** ",
                                "Wednesday 10 June 2026  10:44:57 +0000 (0:00:00.069)       0:01:49.927 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:58 +0000 (0:00:00.228)       0:01:50.157 ******** ",
                                "Wednesday 10 June 2026  10:44:58 +0000 (0:00:00.228)       0:01:50.156 ******** ",
                                "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] }}] ***",
                                "Wednesday 10 June 2026  10:44:58 +0000 (0:00:00.097)       0:01:50.254 ******** ",
                                "Wednesday 10 June 2026  10:44:58 +0000 (0:00:00.097)       0:01:50.253 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:58 +0000 (0:00:00.097)       0:01:50.352 ******** ",
                                "Wednesday 10 June 2026  10:44:58 +0000 (0:00:00.097)       0:01:50.351 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:58 +0000 (0:00:00.474)       0:01:50.827 ******** ",
                                "Wednesday 10 June 2026  10:44:58 +0000 (0:00:00.474)       0:01:50.825 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:59 +0000 (0:00:00.493)       0:01:51.321 ******** ",
                                "Wednesday 10 June 2026  10:44:59 +0000 (0:00:00.493)       0:01:51.319 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Generate values file _raw_params=generate_values.yml] ***",
                                "Wednesday 10 June 2026  10:44:59 +0000 (0:00:00.477)       0:01:51.798 ******** ",
                                "Wednesday 10 June 2026  10:44:59 +0000 (0:00:00.477)       0:01:51.797 ******** ",
                                "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!] ***",
                                "Wednesday 10 June 2026  10:44:59 +0000 (0:00:00.085)       0:01:51.884 ******** ",
                                "Wednesday 10 June 2026  10:44:59 +0000 (0:00:00.085)       0:01:51.883 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:44:59 +0000 (0:00:00.100)       0:01:51.985 ******** ",
                                "Wednesday 10 June 2026  10:44:59 +0000 (0:00:00.100)       0:01:51.983 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Ensure _content is empty _content={}] **********",
                                "Wednesday 10 June 2026  10:45:00 +0000 (0:00:00.263)       0:01:52.248 ******** ",
                                "Wednesday 10 June 2026  10:45:00 +0000 (0:00:00.263)       0:01:52.246 ******** ",
                                "ok: [localhost]",
                                "",
                                "TASK [ci_gen_kustomize_values : Load various snippet files path={{ file.path }}] ***",
                                "Wednesday 10 June 2026  10:45:00 +0000 (0:00:00.078)       0:01:52.326 ******** ",
                                "Wednesday 10 June 2026  10:45:00 +0000 (0:00:00.078)       0:01:52.325 ******** ",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/03_user_data_b64.yaml)",
                                "ok: [localhost] => (item=/home/zuul/ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/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)",
                                "}}",
                                "] ***",
                                "Wednesday 10 June 2026  10:45:00 +0000 (0:00:00.468)       0:01:52.795 ******** ",
                                "Wednesday 10 June 2026  10:45:00 +0000 (0:00:00.468)       0:01:52.794 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:45:00 +0000 (0:00:00.142)       0:01:52.937 ******** ",
                                "Wednesday 10 June 2026  10:45:00 +0000 (0:00:00.142)       0:01:52.936 ******** ",
                                "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] ***",
                                "Wednesday 10 June 2026  10:45:01 +0000 (0:00:00.237)       0:01:53.175 ******** ",
                                "Wednesday 10 June 2026  10:45:01 +0000 (0:00:00.237)       0:01:53.174 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/deployment 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",
                                " }}] ***",
                                "Wednesday 10 June 2026  10:45:01 +0000 (0:00:00.509)       0:01:53.684 ******** ",
                                "Wednesday 10 June 2026  10:45:01 +0000 (0:00:00.509)       0:01:53.683 ******** ",
                                "changed: [localhost] => (item=edpm-deployment-values-post-ceph)",
                                "",
                                "TASK [kustomize_deploy : Stop before building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:45:01 +0000 (0:00:00.300)       0:01:53.985 ******** ",
                                "Wednesday 10 June 2026  10:45:01 +0000 (0:00:00.300)       0:01:53.983 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/deployment chdir={{ _chdir }}, _raw_params=oc kustomize] ***",
                                "Wednesday 10 June 2026  10:45:01 +0000 (0:00:00.051)       0:01:54.036 ******** ",
                                "Wednesday 10 June 2026  10:45:01 +0000 (0:00:00.051)       0:01:54.035 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Output kustomize build in final file backup=True, dest={{ _output }}, content={{ _kustomize_output.stdout }}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:45:02 +0000 (0:00:00.372)       0:01:54.409 ******** ",
                                "Wednesday 10 June 2026  10:45:02 +0000 (0:00:00.372)       0:01:54.408 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Uniquify OpenStackDataPlaneDeployment names in examples/dt/nova/nova05epsilon/deployment executable=python3, _raw_params={{ role_path }}/files/uniquify_osdpd.py {{ _output | quote }} {{ _cifmw_kustomize_deploy_run_suffix | string | quote }}] ***",
                                "Wednesday 10 June 2026  10:45:02 +0000 (0:00:00.452)       0:01:54.862 ******** ",
                                "Wednesday 10 June 2026  10:45:02 +0000 (0:00:00.452)       0:01:54.861 ******** ",
                                "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",
                                "}}] ***",
                                "Wednesday 10 June 2026  10:45:02 +0000 (0:00:00.061)       0:01:54.924 ******** ",
                                "Wednesday 10 June 2026  10:45:02 +0000 (0:00:00.062)       0:01:54.923 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Store kustomized content in artifacts for examples/dt/nova/nova05epsilon/deployment remote_src=True, src={{ _output }}, dest={{",
                                "  (cifmw_kustomize_deploy_kustomizations_dest_dir,",
                                "   stage['build_output'] | basename) | path_join",
                                "}}, mode=0644] ***",
                                "Wednesday 10 June 2026  10:45:02 +0000 (0:00:00.063)       0:01:54.988 ******** ",
                                "Wednesday 10 June 2026  10:45:02 +0000 (0:00:00.063)       0:01:54.986 ******** ",
                                "changed: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after building kustomization if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.313)       0:01:55.302 ******** ",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.313)       0:01:55.300 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Apply generated content for examples/dt/nova/nova05epsilon/deployment _raw_params=oc apply -f {{ _cr }}] ***",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.073)       0:01:55.375 ******** ",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.073)       0:01:55.374 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Run Wait Conditions for examples/dt/nova/nova05epsilon/deployment _raw_params=wait_condition.yml] ***",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.058)       0:01:55.433 ******** ",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.058)       0:01:55.432 ******** ",
                                "skipping: [localhost] => (item=oc -n openstack wait osdpd edpm-deployment-post-ceph --for condition=Ready --timeout=90m) ",
                                "skipping: [localhost]",
                                "",
                                "TASK [kustomize_deploy : Stop after applying CRs if requested msg=Failing on demand {{ cifmw_deploy_architecture_stopper }}] ***",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.053)       0:01:55.487 ******** ",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.053)       0:01:55.485 ******** ",
                                "skipping: [localhost]",
                                "",
                                "TASK [Executing post_stage hooks for examples/dt/nova/nova05epsilon/deployment name=run_hook] ***",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.053)       0:01:55.540 ******** ",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.053)       0:01:55.538 ******** ",
                                "skipping: [localhost]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "localhost                  : ok=368  changed=104  unreachable=0    failed=0    skipped=156  rescued=0    ignored=0   ",
                                "",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.087)       0:01:55.628 ******** ",
                                "=============================================================================== ",
                                "Get automation contents ------------------------------------------------- 8.44s",
                                "ci_setup : Install openshift client ------------------------------------- 3.96s",
                                "ci_setup : Install needed packages -------------------------------------- 2.90s",
                                "Load automation files as fact ------------------------------------------- 2.07s",
                                "ci_setup : Manage directories ------------------------------------------- 1.09s",
                                "Gathering Facts --------------------------------------------------------- 0.93s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.73s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.71s",
                                "Create needed SSH keypairs ---------------------------------------------- 0.70s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.65s",
                                "kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon --- 0.65s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.65s",
                                "ci_gen_kustomize_values : Load various snippet files -------------------- 0.64s",
                                "ci_gen_kustomize_values : Generate CI snippet --------------------------- 0.61s",
                                "ci_gen_kustomize_values : Generate CI snippet --------------------------- 0.58s",
                                "kustomize_deploy : Build kustomized content for examples/dt/nova/nova05epsilon/control-plane/networking/nncp --- 0.58s",
                                "ci_gen_kustomize_values : Push base64 CI patches ------------------------ 0.58s",
                                "Copy file on localhost -------------------------------------------------- 0.57s",
                                "kustomize_deploy : Copy generated values for examples/dt/nova/nova05epsilon/control-plane --- 0.57s",
                                "ci_gen_kustomize_values : Generate CI snippet --------------------------- 0.55s",
                                "Wednesday 10 June 2026  10:45:03 +0000 (0:00:00.090)       0:01:55.629 ******** ",
                                "=============================================================================== ",
                                "ci_gen_kustomize_values ------------------------------------------------ 59.90s",
                                "kustomize_deploy ------------------------------------------------------- 30.31s",
                                "ci_setup ---------------------------------------------------------------- 9.54s",
                                "ansible.builtin.slurp --------------------------------------------------- 9.50s",
                                "ansible.builtin.set_fact ------------------------------------------------ 2.15s",
                                "gather_facts ------------------------------------------------------------ 0.93s",
                                "community.crypto.openssh_keypair ---------------------------------------- 0.70s",
                                "networking_mapper ------------------------------------------------------- 0.65s",
                                "ansible.builtin.copy ---------------------------------------------------- 0.57s",
                                "ansible.builtin.file ---------------------------------------------------- 0.41s",
                                "ansible.builtin.find ---------------------------------------------------- 0.31s",
                                "ansible.builtin.include_role -------------------------------------------- 0.27s",
                                "ansible.builtin.stat ---------------------------------------------------- 0.25s",
                                "ansible.builtin.assert -------------------------------------------------- 0.07s",
                                "ansible.builtin.include_vars -------------------------------------------- 0.04s",
                                "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ",
                                "total ----------------------------------------------------------------- 115.59s"
                            ],
                            "zuul_log_id": "0a580a2a-0021-1ccf-043e-000000000005-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:04.180592Z",
                            "start": "2026-06-10T10:43:06.927622Z"
                        },
                        "id": "0a580a2a-0021-1ccf-043e-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-10T10:45:05.701295Z",
                    "start": "2026-06-10T10:45:05.256548Z"
                },
                "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:05.701295Z",
                            "start": "2026-06-10T10:45:05.270557Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-000000000004",
                        "name": "Create ci-framework-data/logs directory if missing"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-10T10:45:17.196627Z",
                    "start": "2026-06-10T10:45:05.744613Z"
                },
                "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:05.769733Z",
                            "start": "2026-06-10T10:45:05.757154Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:06.213362Z",
                            "start": "2026-06-10T10:45:05.776476Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:06.767906Z",
                            "start": "2026-06-10T10:45:06.256226Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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": 1781088183.511206,
                                "attr_flags": "",
                                "attributes": [],
                                "block_size": 4096,
                                "blocks": 0,
                                "charset": "binary",
                                "ctime": 1781088198.2627304,
                                "dev": 64513,
                                "device_type": 0,
                                "executable": true,
                                "exists": true,
                                "gid": 1000,
                                "gr_name": "zuul",
                                "inode": 33591244,
                                "isblk": false,
                                "ischr": false,
                                "isdir": true,
                                "isfifo": false,
                                "isgid": false,
                                "islnk": false,
                                "isreg": false,
                                "issock": false,
                                "isuid": false,
                                "mimetype": "inode/directory",
                                "mode": "0755",
                                "mtime": 1781088198.2627304,
                                "nlink": 6,
                                "path": "/home/zuul/ci-framework-data",
                                "pw_name": "zuul",
                                "readable": true,
                                "rgrp": true,
                                "roth": true,
                                "rusr": true,
                                "size": 61,
                                "uid": 1000,
                                "version": "2648296032",
                                "wgrp": false,
                                "woth": false,
                                "writeable": true,
                                "wusr": true,
                                "xgrp": true,
                                "xoth": true,
                                "xusr": true
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:07.040452Z",
                            "start": "2026-06-10T10:45:06.774365Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:07.314966Z",
                            "start": "2026-06-10T10:45:07.045933Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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.037413",
                            "end": "2026-06-10 10:45:07.793799",
                            "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-9bf3-16ae-00000000000e-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:45:07.756386",
                            "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-9bf3-16ae-00000000000e-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:07.871338Z",
                            "start": "2026-06-10T10:45:07.354793Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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.013417",
                            "end": "2026-06-10 10:45:08.162498",
                            "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-9bf3-16ae-00000000000f-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:45:08.149081",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0021-9bf3-16ae-00000000000f-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:08.427372Z",
                            "start": "2026-06-10T10:45:07.909247Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-1781088308.5304956-22-183721313611364/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-1781088308.5304956-22-183721313611364/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:09.427879Z",
                            "start": "2026-06-10T10:45:08.438018Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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.063408",
                            "end": "2026-06-10 10:45:10.787769",
                            "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-9bf3-16ae-000000000011-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:45:09.724361",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/home/zuul/.local/bin/ansible",
                            "stdout_lines": [
                                "/home/zuul/.local/bin/ansible"
                            ],
                            "zuul_log_id": "0a580a2a-0021-9bf3-16ae-000000000011-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:10.987432Z",
                            "start": "2026-06-10T10:45:09.468174Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-000000000011",
                        "name": "Get some env related data"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.find",
                            "changed": false,
                            "examined": 18,
                            "files": [
                                {
                                    "atime": 1781088158.6283212,
                                    "ctime": 1781088303.5364058,
                                    "dev": 64513,
                                    "gid": 1000,
                                    "gr_name": "zuul",
                                    "inode": 55121,
                                    "isblk": false,
                                    "ischr": false,
                                    "isdir": false,
                                    "isfifo": false,
                                    "isgid": false,
                                    "islnk": false,
                                    "isreg": true,
                                    "issock": false,
                                    "isuid": false,
                                    "mode": "0644",
                                    "mtime": 1781088303.5364058,
                                    "nlink": 1,
                                    "path": "/home/zuul/ansible.log",
                                    "pw_name": "zuul",
                                    "rgrp": true,
                                    "roth": true,
                                    "rusr": true,
                                    "size": 345253,
                                    "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-10T10:45:11.445478Z",
                            "start": "2026-06-10T10:45:10.995230Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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": "16bfa8a628290d6037f04973b57184ab08475612",
                                    "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": 1781088158.6283212,
                                        "ctime": 1781088303.5364058,
                                        "dev": 64513,
                                        "gid": 1000,
                                        "gr_name": "zuul",
                                        "inode": 55121,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mode": "0644",
                                        "mtime": 1781088303.5364058,
                                        "nlink": 1,
                                        "path": "/home/zuul/ansible.log",
                                        "pw_name": "zuul",
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 345253,
                                        "uid": 1000,
                                        "wgrp": false,
                                        "woth": false,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    },
                                    "md5sum": "2b64fa7bf2b8e0c59ee01e6545c3f9b1",
                                    "mode": "0644",
                                    "owner": "zuul",
                                    "secontext": "unconfined_u:object_r:user_home_t:s0",
                                    "size": 345253,
                                    "src": "/home/zuul/ansible.log",
                                    "state": "file",
                                    "uid": 1000
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:11.962518Z",
                            "start": "2026-06-10T10:45:11.499981Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:11.998150Z",
                            "start": "2026-06-10T10:45:11.969598Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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.012137",
                            "end": "2026-06-10 10:45:12.298464",
                            "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-9bf3-16ae-000000000015-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-06-10 10:45:12.286327",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "<no matches>",
                            "stdout_lines": [
                                "<no matches>"
                            ],
                            "zuul_log_id": "0a580a2a-0021-9bf3-16ae-000000000015-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:12.569103Z",
                            "start": "2026-06-10T10:45:12.048045Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:12.816507Z",
                            "start": "2026-06-10T10:45:12.578257Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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.021071",
                            "end": "2026-06-10 10:45:13.112328",
                            "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-9bf3-16ae-000000000017-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:45:13.091257",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0021-9bf3-16ae-000000000017-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:13.373905Z",
                            "start": "2026-06-10T10:45:12.855408Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:13.418165Z",
                            "start": "2026-06-10T10:45:13.381519Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:13.474869Z",
                            "start": "2026-06-10T10:45:13.428108Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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.007420",
                            "end": "2026-06-10 10:45:13.764425",
                            "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-9bf3-16ae-00000000001a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-10 10:45:13.757005",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0021-9bf3-16ae-00000000001a-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:14.021724Z",
                            "start": "2026-06-10T10:45:13.504763Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:14.063511Z",
                            "start": "2026-06-10T10:45:14.029275Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-9bf3-16ae-000000000093",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:14.154390Z",
                            "start": "2026-06-10T10:45:14.117184Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-000000000095",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-9bf3-16ae-000000000093",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:14.206620Z",
                            "start": "2026-06-10T10:45:14.162179Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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/0fdf8d81e670451a8fb81f0291b4002f/work/logs"
                                        },
                                        "before": {
                                            "mode": "02755",
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/logs",
                                    "size": 96,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "02755",
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/artifacts",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "02755",
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/docs",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-9bf3-16ae-000000000093",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:15.102592Z",
                            "start": "2026-06-10T10:45:14.216004Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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.50:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/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/baremetalhost-values/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/baremetalhost-values/values.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/dns-values/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/dns-values/values.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment-values-post-ceph/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment-values-post-ceph/values.yaml\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-nodeset-values-post-ceph/\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset-values-post-ceph/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/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/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.32137.2026-06-10@10:44:40~\n>f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/service-values/values.yaml.32370.2026-06-10@10:44:48~\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/dns-values/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/dns-values/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/dns-values/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/dns-values/04_user_data.yaml\ncd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/04_user_data.yaml\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-nodeset-values-post-ceph/\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/01_original.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/02_ci_data.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/03_user_data_b64.yaml\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/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/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.30559.2026-06-10@10:43:47~\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/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.32093.2026-06-10@10:44:39~\n>f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/01_original.yaml.32326.2026-06-10@10:44:46~\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/baremetalhosts.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/control-plane-post-ceph.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/control-plane.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/deployment-post-ceph.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/deployment-pre-ceph.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/dns.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/network.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nncp.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nodeset-post-ceph.yaml\n>f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nodeset-pre-ceph.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/baremetalhost-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/baremetalhost-values/values.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/dns-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/dns-values/values.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment-values-post-ceph/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-deployment-values-post-ceph/values.yaml",
                                        "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-nodeset-values-post-ceph/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/edpm-nodeset-values-post-ceph/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/network-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/network-values/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.32137.2026-06-10@10:44:40~",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_gen_kustomize_values/service-values/values.yaml.32370.2026-06-10@10:44:48~",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/baremetalhost-values/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/dns-values/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/dns-values/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/dns-values/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/dns-values/04_user_data.yaml",
                                        "cd+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-deployment-values-post-ceph/04_user_data.yaml",
                                        "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-nodeset-values-post-ceph/",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/01_original.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/02_ci_data.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/03_user_data_b64.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/edpm-nodeset-values-post-ceph/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/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.30559.2026-06-10@10:43:47~",
                                        ">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/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.32093.2026-06-10@10:44:39~",
                                        ">f+++++++++ ci-framework-data/artifacts/ci_k8s_snippets/service-values/01_original.yaml.32326.2026-06-10@10:44:46~",
                                        ">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/baremetalhosts.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/control-plane-post-ceph.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/control-plane.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/deployment-post-ceph.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/deployment-pre-ceph.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/dns.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/network.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nncp.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nodeset-post-ceph.yaml",
                                        ">f+++++++++ ci-framework-data/artifacts/kustomize_deploy/nodeset-pre-ceph.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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/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/0fdf8d81e670451a8fb81f0291b4002f/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-9bf3-16ae-000000000093",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/untrusted/project_2/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:17.128039Z",
                            "start": "2026-06-10T10:45:15.115976Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:17.196627Z",
                            "start": "2026-06-10T10:45:17.160799Z"
                        },
                        "id": "0a580a2a-0021-9bf3-16ae-00000000001c",
                        "name": "Return artifact to Zuul"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "start": "2026-06-10T10:45:17.200282Z"
                },
                "id": "0a580a2a-0021-9bf3-16ae-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-10T10:45:22.278879Z",
                    "start": "2026-06-10T10:45:18.110297Z"
                },
                "id": "0a580a2a-0021-ae52-73fb-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "fetch-output"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:18.158563Z",
                            "start": "2026-06-10T10:45:18.119938Z"
                        },
                        "id": "0a580a2a-0021-ae52-73fb-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-ae52-73fb-000000000033",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:18.258495Z",
                            "start": "2026-06-10T10:45:18.180982Z"
                        },
                        "id": "0a580a2a-0021-ae52-73fb-000000000035",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-ae52-73fb-000000000033",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:18.334044Z",
                            "start": "2026-06-10T10:45:18.267727Z"
                        },
                        "id": "0a580a2a-0021-ae52-73fb-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/0fdf8d81e670451a8fb81f0291b4002f/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/artifacts"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/artifacts",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/docs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/docs",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-ae52-73fb-000000000033",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:19.459649Z",
                            "start": "2026-06-10T10:45:18.341834Z"
                        },
                        "id": "0a580a2a-0021-ae52-73fb-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.50:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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.50:/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/0fdf8d81e670451a8fb81f0291b4002f/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-ae52-73fb-000000000033",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:21.439063Z",
                            "start": "2026-06-10T10:45:19.472203Z"
                        },
                        "id": "0a580a2a-0021-ae52-73fb-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-10T10:45:21.473815Z",
                            "start": "2026-06-10T10:45:21.446980Z"
                        },
                        "id": "0a580a2a-0021-ae52-73fb-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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/artifacts/* /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.010007",
                                    "end": "2026-06-10 10:45:21.939110",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/artifacts/* /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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-10 10:45:21.929103",
                                    "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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/docs/* /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.012961",
                                    "end": "2026-06-10 10:45:22.232355",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/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/0fdf8d81e670451a8fb81f0291b4002f/work/docs/* /var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/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-10 10:45:22.219394",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0021-ae52-73fb-00000000000c",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:22.278879Z",
                            "start": "2026-06-10T10:45:21.479503Z"
                        },
                        "id": "0a580a2a-0021-ae52-73fb-00000000000e",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-10T10:45:22.858379Z",
                    "start": "2026-06-10T10:45:22.284326Z"
                },
                "id": "0a580a2a-0021-ae52-73fb-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCiuJo548telK7jKbs38m/UHCVt1MaHMC2B3zKA4W+Iws490TnH9Gun0bzp+zQUQrqXZ/M01yh4yr12Df12j4Hp46WfAGNtmpTV9Liei6DELnCzzOh+7wljnUmqDd9qzK9e7RXaXbeWow+Ek7gtgXgsGx00fppw+m+Pl46eu+PqUkkcX3Yd1zm567ixvDyaKyg1ywqXXbmSskYDaGM2+8xhUdW5ADvY1wzyx9Q3xECHGXFEUzbx7nc2nGFm8ClPVC3H07jCcFYpaDYYB9RaN3FB4iBINkjyyFXyrh25gXZsBX8n3E27l3ocXEv6GZDwzdrCbZnXUKwO3ojANt0oNax073aVWm75xodVmfIbr0jxBrcUKxW3KxEp96nGkPUvL0t6ISLQxhrWULQOn3+r+XJ+UJb0RJeqXhuC3CCv9AfqhpL6seIKi8JK886I8Of89064D1VKBAcK69GYIIuOqZr4gRnE0eLX7mcJbowouMM3JbkIQMLi9yA+jqDsWGCGtH0= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCiuJo548telK7jKbs38m/UHCVt1MaHMC2B3zKA4W+Iws490TnH9Gun0bzp+zQUQrqXZ/M01yh4yr12Df12j4Hp46WfAGNtmpTV9Liei6DELnCzzOh+7wljnUmqDd9qzK9e7RXaXbeWow+Ek7gtgXgsGx00fppw+m+Pl46eu+PqUkkcX3Yd1zm567ixvDyaKyg1ywqXXbmSskYDaGM2+8xhUdW5ADvY1wzyx9Q3xECHGXFEUzbx7nc2nGFm8ClPVC3H07jCcFYpaDYYB9RaN3FB4iBINkjyyFXyrh25gXZsBX8n3E27l3ocXEv6GZDwzdrCbZnXUKwO3ojANt0oNax073aVWm75xodVmfIbr0jxBrcUKxW3KxEp96nGkPUvL0t6ISLQxhrWULQOn3+r+XJ+UJb0RJeqXhuC3CCv9AfqhpL6seIKi8JK886I8Of89064D1VKBAcK69GYIIuOqZr4gRnE0eLX7mcJbowouMM3JbkIQMLi9yA+jqDsWGCGtH0= 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-ae52-73fb-000000000018",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/0fdf8d81e670451a8fb81f0291b4002f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-10T10:45:22.858379Z",
                            "start": "2026-06-10T10:45:22.289710Z"
                        },
                        "id": "0a580a2a-0021-ae52-73fb-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
}
]
