[
{
    "branch": "master",
    "index": "0",
    "phase": "pre",
    "playbook": "opendev.org/opendev/base-jobs/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:09:32.319069Z",
                    "start": "2026-07-23T06:09:28.665124Z"
                },
                "id": "bc764e01-f96a-4473-b559-000000000002",
                "name": "Create job header and inventory"
            },
            "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": "/vmlinuz-6.8.0-134-generic",
                                    "console": "ttyS0",
                                    "ro": true,
                                    "root": "UUID=ce998b4c-7d93-44e5-8702-b1977bf10488"
                                },
                                "ansible_date_time": {
                                    "date": "2026-07-23",
                                    "day": "23",
                                    "epoch": "1784786969",
                                    "epoch_int": "1784786969",
                                    "hour": "06",
                                    "iso8601": "2026-07-23T06:09:29Z",
                                    "iso8601_basic": "20260723T060929714214",
                                    "iso8601_basic_short": "20260723T060929",
                                    "iso8601_micro": "2026-07-23T06:09:29.714214Z",
                                    "minute": "09",
                                    "month": "07",
                                    "second": "29",
                                    "time": "06:09:29",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "29",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Debian",
                                "ansible_distribution_major_version": "12",
                                "ansible_distribution_release": "bookworm",
                                "ansible_distribution_version": "12",
                                "ansible_dns": {
                                    "nameservers": [
                                        "127.0.0.1"
                                    ]
                                },
                                "ansible_domain": "opendev.org",
                                "ansible_effective_group_id": 10001,
                                "ansible_effective_user_id": 10001,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/home",
                                    "HOSTNAME": "ze03",
                                    "KUBECONFIG": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/kube/config",
                                    "LANG": "C.UTF-8",
                                    "PATH": "/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                    "PWD": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/playbooks/base",
                                    "PYTHONPATH": "/var/lib/zuul/ansible/11",
                                    "PYTHON_SHA256": "8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78",
                                    "PYTHON_VERSION": "3.11.14",
                                    "SSH_AGENT_PID": "3269013",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-g2IYmw6LmGmj/agent.3269012",
                                    "TMP": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824",
                                    "container": "podman"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_flags": [
                                    "fpu",
                                    "vme",
                                    "de",
                                    "pse",
                                    "tsc",
                                    "msr",
                                    "pae",
                                    "mce",
                                    "cx8",
                                    "apic",
                                    "sep",
                                    "mtrr",
                                    "pge",
                                    "mca",
                                    "cmov",
                                    "pat",
                                    "pse36",
                                    "clflush",
                                    "acpi",
                                    "mmx",
                                    "fxsr",
                                    "sse",
                                    "sse2",
                                    "syscall",
                                    "nx",
                                    "pdpe1gb",
                                    "rdtscp",
                                    "lm",
                                    "constant_tsc",
                                    "rep_good",
                                    "nopl",
                                    "cpuid",
                                    "tsc_known_freq",
                                    "pni",
                                    "pclmulqdq",
                                    "ssse3",
                                    "cx16",
                                    "pcid",
                                    "sse4_1",
                                    "sse4_2",
                                    "x2apic",
                                    "popcnt",
                                    "tsc_deadline_timer",
                                    "aes",
                                    "xsave",
                                    "avx",
                                    "hypervisor",
                                    "lahf_lm",
                                    "cpuid_fault",
                                    "pti",
                                    "ssbd",
                                    "ibrs",
                                    "ibpb",
                                    "stibp",
                                    "xsaveopt",
                                    "md_clear",
                                    "flush_l1d"
                                ],
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "ze03.opendev.org",
                                "ansible_hostname": "ze03",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "6.8.0-134-generic",
                                "ansible_kernel_version": "#134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026",
                                "ansible_loadavg": {
                                    "15m": 1.63232421875,
                                    "1m": 2.265625,
                                    "5m": 2.0439453125
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 1173,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 4354,
                                        "used": 3579
                                    },
                                    "real": {
                                        "free": 1173,
                                        "total": 7933,
                                        "used": 6760
                                    },
                                    "swap": {
                                        "cached": 112,
                                        "free": 5619,
                                        "total": 7811,
                                        "used": 2192
                                    }
                                },
                                "ansible_memtotal_mb": 7933,
                                "ansible_mounts": [
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work",
                                        "options": "rw,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/home",
                                        "options": "rw,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 1848800,
                                        "block_size": 4096,
                                        "block_total": 9883775,
                                        "block_used": 8034975,
                                        "device": "/dev/xvda1",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 3346957,
                                        "inode_total": 5111808,
                                        "inode_used": 1764851,
                                        "mount": "/etc/ssl/certs",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,commit=30,bind",
                                        "passno": 0,
                                        "size_available": 7572684800,
                                        "size_total": 40483942400,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 1848800,
                                        "block_size": 4096,
                                        "block_total": 9883775,
                                        "block_used": 8034975,
                                        "device": "/dev/xvda1",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 3346957,
                                        "inode_total": 5111808,
                                        "inode_used": 1764851,
                                        "mount": "/etc/openafs",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,commit=30,bind",
                                        "passno": 0,
                                        "size_available": 7572684800,
                                        "size_total": 40483942400,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/ssh",
                                        "options": "ro,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/ansible/11",
                                        "options": "ro,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/ansible",
                                        "options": "ro,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted",
                                        "options": "ro,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 1848800,
                                        "block_size": 4096,
                                        "block_total": 9883775,
                                        "block_used": 8034975,
                                        "device": "/dev/xvda1",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 3346957,
                                        "inode_total": 5111808,
                                        "inode_used": 1764851,
                                        "mount": "/opt/project-config/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,commit=30,bind",
                                        "passno": 0,
                                        "size_available": 7572684800,
                                        "size_total": 40483942400,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 13034888,
                                        "block_size": 4096,
                                        "block_total": 18230763,
                                        "block_used": 5195875,
                                        "device": "/dev/xvde2",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 8608674,
                                        "inode_total": 9486336,
                                        "inode_used": 877662,
                                        "mount": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/kube",
                                        "options": "ro,nosuid,nodev,relatime,nobarrier,errors=remount-ro,bind",
                                        "passno": 0,
                                        "size_available": 53390901248,
                                        "size_total": 74673205248,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "ze03",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/vmlinuz-6.8.0-134-generic",
                                    "console": [
                                        "tty1",
                                        "ttyS0"
                                    ],
                                    "ro": true,
                                    "root": "UUID=ce998b4c-7d93-44e5-8702-b1977bf10488"
                                },
                                "ansible_processor": [
                                    "0",
                                    "GenuineIntel",
                                    "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
                                    "1",
                                    "GenuineIntel",
                                    "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
                                    "2",
                                    "GenuineIntel",
                                    "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
                                    "3",
                                    "GenuineIntel",
                                    "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
                                    "4",
                                    "GenuineIntel",
                                    "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
                                    "5",
                                    "GenuineIntel",
                                    "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
                                    "6",
                                    "GenuineIntel",
                                    "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz",
                                    "7",
                                    "GenuineIntel",
                                    "Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz"
                                ],
                                "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/local/lib/zuul/ansible/11/bin/python",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 14,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        14,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.14",
                                "ansible_real_group_id": 10001,
                                "ansible_real_user_id": 10001,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "bwrap",
                                "ansible_swapfree_mb": 5619,
                                "ansible_swaptotal_mb": 7811,
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": "N/A",
                                "ansible_system_capabilities_enforced": "N/A",
                                "ansible_system_vendor": "NA",
                                "ansible_uptime_seconds": 1651154,
                                "ansible_user_dir": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/home",
                                "ansible_user_gecos": "Zuul Daemon",
                                "ansible_user_gid": 10001,
                                "ansible_user_id": "zuul",
                                "ansible_user_shell": "/bin/sh",
                                "ansible_user_uid": 10001,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "guest",
                                "ansible_virtualization_tech_guest": [
                                    "podman",
                                    "container"
                                ],
                                "ansible_virtualization_tech_host": [],
                                "ansible_virtualization_type": "podman",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "deprecations": [],
                            "warnings": []
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:30.023198Z",
                            "start": "2026-07-23T06:09:28.682842Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000006b",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:30.053017Z",
                            "start": "2026-07-23T06:09:30.029765Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "651/openstack/651a921bc59b43eb939457845a5f03ac"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000095",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:30.126522Z",
                            "start": "2026-07-23T06:09:30.080233Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000097",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.18.18\nJob: watcher-dashboard-tox-translations\nPipeline: check\nExecutor: ze03.opendev.org\nTriggered by: https://review.opendev.org/c/openstack/watcher-dashboard/+/998324\nEvent ID: dc1c6c720eb4402cad41b2b79f261b8b\n"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:30.188218Z",
                            "start": "2026-07-23T06:09:30.136618Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000009",
                        "name": "Print job information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": false,
                                    "failed": false,
                                    "msg": "# Node Information\nInventory Hostname: ubuntu-noble\nHostname: np08f3d498cd674\nUsername: zuul\nDistro: Ubuntu 24.04\nProvider: opendev.org%2Fopendev%2Fzuul-providers/openmetal-iad3-main\nRegion: IAD3\nLabel: ubuntu-noble-8GB\nProduct Name: OpenStack Nova\nInterface IP: 200.225.47.50\n",
                                    "zj_item": "ubuntu-noble"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:30.378421Z",
                            "start": "2026-07-23T06:09:30.192952Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info",
                                    "state": "absent"
                                }
                            },
                            "gid": 10001,
                            "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": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "zuul",
                            "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 10001
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:30.988734Z",
                            "start": "2026-07-23T06:09:30.387947Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "fc2861473f96315618698178698d87bd9ed5e64a",
                            "dest": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 10001,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "fc2861473f96315618698178698d87bd9ed5e64a",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/home/.ansible/tmp/ansible-tmp-1784786971.0466511-72-169630120197665/.source.yaml",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "dcf1b395db3cd1582fb6097a10b19370",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 31459,
                            "src": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/home/.ansible/tmp/ansible-tmp-1784786971.0466511-72-169630120197665/.source.yaml",
                            "state": "file",
                            "uid": 10001
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:32.319069Z",
                            "start": "2026-07-23T06:09:30.998699Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:09:43.509587Z",
                    "start": "2026-07-23T06:09:32.328414Z"
                },
                "id": "bc764e01-f96a-4473-b559-000000000011",
                "name": "Setup Zuul environment"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "200.225.47.50"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "fe80::f816:3eff:fefd:a5d3"
                                ],
                                "ansible_apparmor": {
                                    "status": "enabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-6.8.0-136-generic",
                                    "console": "ttyS0,115200",
                                    "gfxpayload": "text",
                                    "no_timer_check": true,
                                    "nofb": true,
                                    "nomodeset": true,
                                    "ro": true,
                                    "root": "LABEL=cloudimg-rootfs"
                                },
                                "ansible_date_time": {
                                    "date": "2026-07-23",
                                    "day": "23",
                                    "epoch": "1784786972",
                                    "epoch_int": "1784786972",
                                    "hour": "06",
                                    "iso8601": "2026-07-23T06:09:32Z",
                                    "iso8601_basic": "20260723T060932973395",
                                    "iso8601_basic_short": "20260723T060932",
                                    "iso8601_micro": "2026-07-23T06:09:32.973395Z",
                                    "minute": "09",
                                    "month": "07",
                                    "second": "32",
                                    "time": "06:09:32",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "29",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "200.225.47.50",
                                    "alias": "ens3",
                                    "broadcast": "200.225.47.63",
                                    "gateway": "200.225.47.1",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:fd:a5:d3",
                                    "mtu": 1500,
                                    "netmask": "255.255.255.192",
                                    "network": "200.225.47.0",
                                    "prefix": "26",
                                    "type": "ether"
                                },
                                "ansible_default_ipv6": {},
                                "ansible_distribution": "Ubuntu",
                                "ansible_distribution_file_parsed": true,
                                "ansible_distribution_file_path": "/etc/os-release",
                                "ansible_distribution_file_variety": "Debian",
                                "ansible_distribution_major_version": "24",
                                "ansible_distribution_release": "noble",
                                "ansible_distribution_version": "24.04",
                                "ansible_dns": {
                                    "nameservers": [
                                        "127.0.0.1"
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 1000,
                                "ansible_effective_user_id": 1000,
                                "ansible_ens3": {
                                    "active": true,
                                    "device": "ens3",
                                    "ipv4": {
                                        "address": "200.225.47.50",
                                        "broadcast": "200.225.47.63",
                                        "netmask": "255.255.255.192",
                                        "network": "200.225.47.0",
                                        "prefix": "26"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "fe80::f816:3eff:fefd:a5d3",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:fd:a5:d3",
                                    "mtu": 1500,
                                    "pciid": "virtio1",
                                    "promisc": false,
                                    "speed": -1,
                                    "type": "ether"
                                },
                                "ansible_env": {
                                    "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
                                    "HOME": "/home/zuul",
                                    "LANG": "C.UTF-8",
                                    "LC_ALL": "C.UTF-8",
                                    "LOGNAME": "zuul",
                                    "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",
                                    "PWD": "/home/zuul",
                                    "SHELL": "/bin/bash",
                                    "SHLVL": "0",
                                    "SSH_CLIENT": "104.239.142.172 60790 22",
                                    "SSH_CONNECTION": "104.239.142.172 60790 200.225.47.50 22",
                                    "USER": "zuul",
                                    "XDG_RUNTIME_DIR": "/run/user/1000",
                                    "XDG_SESSION_CLASS": "user",
                                    "XDG_SESSION_ID": "1",
                                    "XDG_SESSION_TYPE": "tty",
                                    "_": "/bin/sh"
                                },
                                "ansible_fips": false,
                                "ansible_fqdn": "np08f3d498cd674",
                                "ansible_hostname": "np08f3d498cd674",
                                "ansible_interfaces": [
                                    "ens3",
                                    "lo"
                                ],
                                "ansible_kernel": "6.8.0-136-generic",
                                "ansible_kernel_version": "#136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul  1 21:53:05 UTC 2026",
                                "ansible_lo": {
                                    "active": true,
                                    "device": "lo",
                                    "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,
                                    "type": "loopback"
                                },
                                "ansible_local": {},
                                "ansible_locally_reachable_ips": {
                                    "ipv4": [
                                        "127.0.0.0/8",
                                        "127.0.0.1",
                                        "200.225.47.50"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "fe80::f816:3eff:fefd:a5d3"
                                    ]
                                },
                                "ansible_lsb": {
                                    "codename": "noble",
                                    "description": "Ubuntu 24.04.4 LTS",
                                    "id": "Ubuntu",
                                    "major_release": "24",
                                    "release": "24.04"
                                },
                                "ansible_machine": "x86_64",
                                "ansible_machine_id": "33cd0b447a6043458d1e8bb6102a3d1e",
                                "ansible_nodename": "np08f3d498cd674",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-6.8.0-136-generic",
                                    "console": [
                                        "tty0",
                                        "ttyS0,115200"
                                    ],
                                    "gfxpayload": "text",
                                    "no_timer_check": true,
                                    "nofb": true,
                                    "nomodeset": true,
                                    "ro": true,
                                    "root": "LABEL=cloudimg-rootfs"
                                },
                                "ansible_python": {
                                    "executable": "/usr/bin/python3.12",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 3,
                                        "minor": 12,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        12,
                                        3,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.12.3",
                                "ansible_real_group_id": 1000,
                                "ansible_real_user_id": 1000,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "systemd",
                                "ansible_ssh_host_key_dsa_public": "AAAAB3NzaC1kc3MAAACBAKlN/mqlLs6o0ekzuMX41xQONh2K2N3/eIAz8s/wdSS0nEenc6CjbURF0+t78aYa010PBp8/n7GAPoW4FNV3M8/QeQiatVLNX+b0Mqaga+zb61BDV8dJo7MWz0yYr/rGw3MpMqzScpxVrzbph6v3sA2tnK2vlyAgpEpsSbcscsLJAAAAFQDgQuKdAN4Ld+HKZPIanIR9RFynxwAAAIAqDs5Z80Nb5OSHsIwIA9jiIeS6y5ISxHpy+2gfmdyKFlzzwSU2K8db87PUXQ62FRE5RvsmowUFiOoLOJFwx++qM8pNKlAqWTysXegt012w/O+AItpEHwzM9yvO5U7VKlbbrm8tY1wihOX77GOxpoM+o1DxgOuUmi95Qv1rTjJZTAAAAIBBJKrEPzAS6XStUFpLMu4117uw/NHgAeAcGpkZjeKEqx0o9/ZveYazY5oHtpSEvCan7IJqk8Td4vY8Sr8uQO+9+RRcWJvfVu+pFrCVaAPQIG+jnYECfsx6AzvNHXHx8QcE6GXyaSQR/8xHg3jcQ7Br+HtolhlMiHtqM7We4dssjw==",
                                "ansible_ssh_host_key_dsa_public_keytype": "ssh-dss",
                                "ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPKX1hgVhxsrNu193Rq4yXiYF4YABFwGL2n08V6+1OAiGBBbj2ZtFGDv/T7rAToAd0G+wbIWaCrlIyX3mqTAoYU=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAINx21ESgpgl4BLyUVKAFtDrx+QFGFVCALWRcqCfl7Yuf",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQDhOwArYEg23ASmiRqEn1CWTINJnw4ID8si7Xq4tqXW74/fxpXivKTd/LpmmE471nnQ6NkHr6bbN+2w7KTInNtz69U8Ix04+LldrZiB3/RVpDRT1U8bq10XHr4XKOs5a0xSlXeZy3EboV1kFuaoSuUhZ1nC7JR8Z9GK9vNJV3JJggZCzLqjdrIyfWhJqfvUuGUPqESaxPyQTZYIi9y14y3f9eKa61MHRCR2JYPl3/L/RewoKpCPRk7YzBrc+zx8YSaTdV1ZHB6Eb3mitfpbEf2oWzbeROJkEPBCT2wLTTSzoXAksC3zrlvqrbo1HJlmK2Ld9LEpjYd3rGF7kTcAfymUMSIWPoKkiv1tfcKsDhZ+wc6VvX8abE/ngsD7BYg28K4OVXgobz3BBctLoZ60nK17y2mtLwv5kx+MjZ9jRnJhOi736L1abn/7YIGpjkSHriEyd50a0FbEDC9wDls+FEn5r4blUmeIeElJBmOXbtSRiBctJkw+LiEEQJ1IpyHJJ40=",
                                "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-07-23T06:09:33.084295Z",
                            "start": "2026-07-23T06:09:32.344254Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000026",
                        "name": "Gather network facts"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "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/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:33.432578Z",
                            "start": "2026-07-23T06:09:33.091982Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:33.473147Z",
                            "start": "2026-07-23T06:09:33.441172Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000019",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-keygen",
                                "-t",
                                "rsa",
                                "-N",
                                "",
                                "-C",
                                "zuul-build-sshkey",
                                "-f",
                                "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.731978",
                            "end": "2026-07-23 06:09:34.826980",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_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": "bc764e01-f96a-4473-b559-0000000000de-0-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:09:34.095002",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_id_rsa.pub\nThe key fingerprint is:\nSHA256:C8/lKce6xERlGDOt1CEn/vRfLV4ROYcn9A5Bv+voNyg zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|        *==. o+o.|\n|       .oOo   o*+|\n|       .o..   .+=|\n|       ..o .   o+|\n|      . S o . ..=|\n|       * = . o +.|\n|        B =   +. |\n|       . + E .oo |\n|        o.  oo...|\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:C8/lKce6xERlGDOt1CEn/vRfLV4ROYcn9A5Bv+voNyg zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|        *==. o+o.|",
                                "|       .oOo   o*+|",
                                "|       .o..   .+=|",
                                "|       ..o .   o+|",
                                "|      . S o . ..=|",
                                "|       * = . o +.|",
                                "|        B =   +. |",
                                "|       . + E .oo |",
                                "|        o.  oo...|",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "bc764e01-f96a-4473-b559-0000000000de-0-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:34.880020Z",
                            "start": "2026-07-23T06:09:33.506879Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-0000000000de",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:34.920082Z",
                            "start": "2026-07-23T06:09:34.887286Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-0000000000df",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:34.973578Z",
                            "start": "2026-07-23T06:09:34.947686Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-0000000000fe",
                        "name": "Remove previously added zuul-build-sshkey"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCdMKsd7gnZ4EPlRLHcr2nzrD724f+uVpzGmhzmPOdtzdk3a16KRGcUsxumGa+A3tdILo6vMGYTHhWcUTCKtg1IGTECE0+/GLcp7XK+15Zgdywp84ZLZ0OZCXEEdZThxd/GJUGxl4x34tayC/EOnS7EXowzJwCjJcpKNEh3v49VA4EP5wOOlKpFk1T9Jqq4LwvaDwn3GOsv9KammSdxOTxNjnd6AEma2jkUzw9iT+gfITnvxgV2IyfJNgBmsrBODvqnTCHOcNB+8MNkQ9y4fwSwUGLXQlyPFn/HQwPX3L52jW5vDo2xZucremAGQCei/3ad4uTMgDz35eFb7YF5Y395lzNcHxgI+su8WnCDNo3SKiLvW1DBw5JFyMYZC19vE+4aHtw85oXnWqE0V90l4siQKSfOcZJoEtxiKGkH9k8ZnCipeHGKlu6dm6JXhuNmmT+9Xd7XBUppYZvGQ2HPUQocGLQ7qbOtdK9Om4uQy+SNzsN+z57ULXqavdyy3KRB2Rk= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCdMKsd7gnZ4EPlRLHcr2nzrD724f+uVpzGmhzmPOdtzdk3a16KRGcUsxumGa+A3tdILo6vMGYTHhWcUTCKtg1IGTECE0+/GLcp7XK+15Zgdywp84ZLZ0OZCXEEdZThxd/GJUGxl4x34tayC/EOnS7EXowzJwCjJcpKNEh3v49VA4EP5wOOlKpFk1T9Jqq4LwvaDwn3GOsv9KammSdxOTxNjnd6AEma2jkUzw9iT+gfITnvxgV2IyfJNgBmsrBODvqnTCHOcNB+8MNkQ9y4fwSwUGLXQlyPFn/HQwPX3L52jW5vDo2xZucremAGQCei/3ad4uTMgDz35eFb7YF5Y395lzNcHxgI+su8WnCDNo3SKiLvW1DBw5JFyMYZC19vE+4aHtw85oXnWqE0V90l4siQKSfOcZJoEtxiKGkH9k8ZnCipeHGKlu6dm6JXhuNmmT+9Xd7XBUppYZvGQ2HPUQocGLQ7qbOtdK9Om4uQy+SNzsN+z57ULXqavdyy3KRB2Rk= 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": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:35.827762Z",
                            "start": "2026-07-23T06:09:34.984082Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-0000000000ff",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:36.247495Z",
                            "start": "2026-07-23T06:09:35.836485Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000100",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "0643490f96cf9033c822f2ef20d1c075b0e162cf",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "651a921bc59b43eb939457845a5f03ac_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "0643490f96cf9033c822f2ef20d1c075b0e162cf",
                                    "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-1784786976.3723106-180-140346163795108/.source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "3cb0cb4fe3e2a2722395f7b6b399c0e1",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784786976.3723106-180-140346163795108/.source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:37.726929Z",
                            "start": "2026-07-23T06:09:36.254736Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000101",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "07b58e084d9b9e46a6842f67b1a36a7336be91be",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "651a921bc59b43eb939457845a5f03ac_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "07b58e084d9b9e46a6842f67b1a36a7336be91be",
                                    "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-1784786977.854806-190-127546433085037/.source.pub",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "57ba5f8c38f5a347bbb1db47d096af9f",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784786977.854806-190-127546433085037/.source.pub",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:39.173857Z",
                            "start": "2026-07-23T06:09:37.734825Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000102",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:39.205374Z",
                            "start": "2026-07-23T06:09:39.180887Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-0000000000e0",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/var/lib/zuul/ssh/worker_id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-0000000000e5",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:39.754400Z",
                            "start": "2026-07-23T06:09:39.214137Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-0000000000e7",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_id_rsa"
                            ],
                            "delta": "0:00:00.014180",
                            "end": "2026-07-23 06:09:40.137011",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_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": "bc764e01-f96a-4473-b559-0000000000ed-0-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:09:40.122831",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/651a921bc59b43eb939457845a5f03ac_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "bc764e01-f96a-4473-b559-0000000000ed-0-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:40.178491Z",
                            "start": "2026-07-23T06:09:39.769487Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-0000000000ed",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:40.815955Z",
                            "start": "2026-07-23T06:09:40.186036Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-0000000000ee",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:40.861426Z",
                            "start": "2026-07-23T06:09:40.825408Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-0000000000ef",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000001b",
                        "name": "start-zuul-console",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/start-zuul-console"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:41.487284Z",
                            "start": "2026-07-23T06:09:40.876929Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "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": "bc764e01-f96a-4473-b559-00000000001f",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:42.533808Z",
                            "start": "2026-07-23T06:09:41.500806Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000021",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000001f",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:43.509587Z",
                            "start": "2026-07-23T06:09:42.541299Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000023",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:09:49.432765Z",
                    "start": "2026-07-23T06:09:43.520890Z"
                },
                "id": "bc764e01-f96a-4473-b559-000000000027",
                "name": "Configure unbound"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "/etc/unbound"
                                }
                            },
                            "stat": {
                                "atime": 1784514363.9826488,
                                "attr_flags": "e",
                                "attributes": [
                                    "extents"
                                ],
                                "block_size": 4096,
                                "blocks": 8,
                                "charset": "binary",
                                "ctime": 1784514794.6339371,
                                "dev": 64769,
                                "device_type": 0,
                                "executable": true,
                                "exists": true,
                                "gid": 0,
                                "gr_name": "root",
                                "inode": 1572182,
                                "isblk": false,
                                "ischr": false,
                                "isdir": true,
                                "isfifo": false,
                                "isgid": false,
                                "islnk": false,
                                "isreg": false,
                                "issock": false,
                                "isuid": false,
                                "mimetype": "inode/directory",
                                "mode": "0755",
                                "mtime": 1784514794.6339371,
                                "nlink": 3,
                                "path": "/etc/unbound",
                                "pw_name": "root",
                                "readable": true,
                                "rgrp": true,
                                "roth": true,
                                "rusr": true,
                                "size": 4096,
                                "uid": 0,
                                "version": "691248860",
                                "wgrp": false,
                                "woth": false,
                                "writeable": false,
                                "wusr": true,
                                "xgrp": true,
                                "xoth": true,
                                "xusr": true
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:43.922343Z",
                            "start": "2026-07-23T06:09:43.533956Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000002c",
                        "name": "Check that Unbound is installed"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "assert",
                            "changed": false,
                            "msg": "All assertions passed"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:43.973516Z",
                            "start": "2026-07-23T06:09:43.930307Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000002d",
                        "name": "Ensure that Unbound is installed"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "hostvars[inventory_hostname]['nodepool']['interface_ip'] |ipv6",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:44.127385Z",
                            "start": "2026-07-23T06:09:43.980276Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000002e",
                        "name": "Check for IPv6"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "unbound_use_ipv6 is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:44.171521Z",
                            "start": "2026-07-23T06:09:44.135928Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000002f",
                        "name": "Set IPv6 nameservers"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "unbound_primary_nameserver": "1.0.0.1",
                                "unbound_secondary_nameserver": "8.8.8.8"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:44.234064Z",
                            "start": "2026-07-23T06:09:44.179868Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000030",
                        "name": "Set IPv4 nameservers"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_vars",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_facts": {
                                        "unbound_confd": "/etc/unbound/unbound.conf.d"
                                    },
                                    "ansible_included_var_files": [
                                        "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound/vars/Debian.yaml"
                                    ],
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound/vars/Debian.yaml"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:44.290512Z",
                            "start": "2026-07-23T06:09:44.241523Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000031",
                        "name": "Include OS-specific variables"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/etc/unbound/unbound.conf.d"
                                },
                                "before": {
                                    "path": "/etc/unbound/unbound.conf.d"
                                }
                            },
                            "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": "0755",
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": "root",
                                    "path": "/etc/unbound/unbound.conf.d",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/etc/unbound/unbound.conf.d",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:44.706535Z",
                            "start": "2026-07-23T06:09:44.297866Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000032",
                        "name": "Ensure Unbound conf.d directory exists"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "template",
                            "changed": true,
                            "checksum": "283e5ae8028633e8563411e540b6e35ca2c2a123",
                            "dest": "/etc/unbound/forwarding.conf",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "forwarding.conf.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "283e5ae8028633e8563411e540b6e35ca2c2a123",
                                    "content": null,
                                    "dest": "/etc/unbound/forwarding.conf",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": "root",
                                    "local_follow": null,
                                    "mode": "0644",
                                    "owner": "root",
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784786984.8232753-276-225575239070111/.source.conf",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "5c8e82ab033d88e168d95d2405918bb3",
                            "mode": "0644",
                            "owner": "root",
                            "size": 93,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784786984.8232753-276-225575239070111/.source.conf",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:46.208295Z",
                            "start": "2026-07-23T06:09:44.714298Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000033",
                        "name": "Configure unbound forwarding"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "template",
                            "changed": true,
                            "checksum": "99dfa5449338d20cc44133ce32f92072c5c2fa85",
                            "dest": "/etc/unbound/unbound.conf.d/ttl.conf",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "ttl.conf.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "99dfa5449338d20cc44133ce32f92072c5c2fa85",
                                    "content": null,
                                    "dest": "/etc/unbound/unbound.conf.d/ttl.conf",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": "root",
                                    "local_follow": null,
                                    "mode": "0644",
                                    "owner": "root",
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784786986.3306181-285-254896756504858/.source.conf",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "7361545a78284290625638db3d969446",
                            "mode": "0644",
                            "owner": "root",
                            "size": 73,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784786986.3306181-285-254896756504858/.source.conf",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:47.629314Z",
                            "start": "2026-07-23T06:09:46.217128Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000034",
                        "name": "Configure unbound TTL"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "service",
                            "changed": false,
                            "enabled": true,
                            "invocation": {
                                "module_args": {
                                    "daemon_reexec": false,
                                    "daemon_reload": false,
                                    "enabled": true,
                                    "force": null,
                                    "masked": null,
                                    "name": "unbound",
                                    "no_block": false,
                                    "scope": "system",
                                    "state": "started"
                                }
                            },
                            "name": "unbound",
                            "state": "started",
                            "status": {
                                "ActiveEnterTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "ActiveEnterTimestampMonotonic": "4356135",
                                "ActiveExitTimestampMonotonic": "0",
                                "ActiveState": "active",
                                "After": "basic.target network.target system.slice systemd-journald.socket sysinit.target",
                                "AllowIsolate": "no",
                                "AssertResult": "yes",
                                "AssertTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "AssertTimestampMonotonic": "4185679",
                                "Before": "unbound-resolvconf.service multi-user.target shutdown.target nss-lookup.target",
                                "BlockIOAccounting": "no",
                                "BlockIOWeight": "[not set]",
                                "CPUAccounting": "yes",
                                "CPUAffinityFromNUMA": "no",
                                "CPUQuotaPerSecUSec": "infinity",
                                "CPUQuotaPeriodUSec": "infinity",
                                "CPUSchedulingPolicy": "0",
                                "CPUSchedulingPriority": "0",
                                "CPUSchedulingResetOnFork": "no",
                                "CPUShares": "[not set]",
                                "CPUUsageNSec": "131200000",
                                "CPUWeight": "[not set]",
                                "CacheDirectoryMode": "0755",
                                "CanFreeze": "yes",
                                "CanIsolate": "no",
                                "CanReload": "yes",
                                "CanStart": "yes",
                                "CanStop": "yes",
                                "CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend cap_audit_read cap_perfmon cap_bpf cap_checkpoint_restore",
                                "CleanResult": "success",
                                "CollectMode": "inactive",
                                "ConditionResult": "yes",
                                "ConditionTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "ConditionTimestampMonotonic": "4185672",
                                "ConfigurationDirectoryMode": "0755",
                                "Conflicts": "shutdown.target",
                                "ConsistsOf": "unbound-resolvconf.service",
                                "ControlGroup": "/system.slice/unbound.service",
                                "ControlGroupId": "3112",
                                "ControlPID": "0",
                                "CoredumpFilter": "0x33",
                                "CoredumpReceive": "no",
                                "DefaultDependencies": "yes",
                                "DefaultMemoryLow": "0",
                                "DefaultMemoryMin": "0",
                                "DefaultStartupMemoryLow": "0",
                                "Delegate": "no",
                                "Description": "Unbound DNS server",
                                "DevicePolicy": "auto",
                                "Documentation": "\"man:unbound(8)\"",
                                "DynamicUser": "no",
                                "EnvironmentFiles": "/etc/default/unbound (ignore_errors=yes)",
                                "ExecMainCode": "0",
                                "ExecMainExitTimestampMonotonic": "0",
                                "ExecMainPID": "721",
                                "ExecMainStartTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "ExecMainStartTimestampMonotonic": "4260081",
                                "ExecMainStatus": "0",
                                "ExecReload": "{ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }",
                                "ExecReloadEx": "{ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; flags=privileged ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }",
                                "ExecStart": "{ path=/usr/sbin/unbound ; argv[]=/usr/sbin/unbound -d -p $DAEMON_OPTS ; ignore_errors=no ; start_time=[Thu 2026-07-23 06:09:00 UTC] ; stop_time=[n/a] ; pid=721 ; code=(null) ; status=0/0 }",
                                "ExecStartEx": "{ path=/usr/sbin/unbound ; argv[]=/usr/sbin/unbound -d -p $DAEMON_OPTS ; flags= ; start_time=[Thu 2026-07-23 06:09:00 UTC] ; stop_time=[n/a] ; pid=721 ; code=(null) ; status=0/0 }",
                                "ExecStartPre": "{ path=/usr/libexec/unbound-helper ; argv[]=/usr/libexec/unbound-helper root_trust_anchor_update ; ignore_errors=yes ; start_time=[Thu 2026-07-23 06:09:00 UTC] ; stop_time=[Thu 2026-07-23 06:09:00 UTC] ; pid=715 ; code=exited ; status=0 }",
                                "ExecStartPreEx": "{ path=/usr/libexec/unbound-helper ; argv[]=/usr/libexec/unbound-helper root_trust_anchor_update ; flags=ignore-failure ; start_time=[Thu 2026-07-23 06:09:00 UTC] ; stop_time=[Thu 2026-07-23 06:09:00 UTC] ; pid=715 ; code=exited ; status=0 }",
                                "ExecStopPost": "{ path=/usr/libexec/unbound-helper ; argv[]=/usr/libexec/unbound-helper chroot_teardown ; ignore_errors=yes ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }",
                                "ExecStopPostEx": "{ path=/usr/libexec/unbound-helper ; argv[]=/usr/libexec/unbound-helper chroot_teardown ; flags=ignore-failure ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }",
                                "ExitType": "main",
                                "ExtensionImagePolicy": "root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent",
                                "FailureAction": "none",
                                "FileDescriptorStoreMax": "0",
                                "FileDescriptorStorePreserve": "restart",
                                "FinalKillSignal": "9",
                                "FragmentPath": "/usr/lib/systemd/system/unbound.service",
                                "FreezerState": "running",
                                "GID": "[not set]",
                                "GuessMainPID": "yes",
                                "IOAccounting": "no",
                                "IOReadBytes": "[not set]",
                                "IOReadOperations": "[not set]",
                                "IOSchedulingClass": "2",
                                "IOSchedulingPriority": "4",
                                "IOWeight": "[not set]",
                                "IOWriteBytes": "[not set]",
                                "IOWriteOperations": "[not set]",
                                "IPAccounting": "no",
                                "IPEgressBytes": "[no data]",
                                "IPEgressPackets": "[no data]",
                                "IPIngressBytes": "[no data]",
                                "IPIngressPackets": "[no data]",
                                "Id": "unbound.service",
                                "IgnoreOnIsolate": "no",
                                "IgnoreSIGPIPE": "yes",
                                "InactiveEnterTimestampMonotonic": "0",
                                "InactiveExitTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "InactiveExitTimestampMonotonic": "4186670",
                                "InvocationID": "02d52fa860ec49d689501b65bdd24cea",
                                "JobRunningTimeoutUSec": "infinity",
                                "JobTimeoutAction": "none",
                                "JobTimeoutUSec": "infinity",
                                "KeyringMode": "private",
                                "KillMode": "control-group",
                                "KillSignal": "15",
                                "LimitAS": "infinity",
                                "LimitASSoft": "infinity",
                                "LimitCORE": "infinity",
                                "LimitCORESoft": "0",
                                "LimitCPU": "infinity",
                                "LimitCPUSoft": "infinity",
                                "LimitDATA": "infinity",
                                "LimitDATASoft": "infinity",
                                "LimitFSIZE": "infinity",
                                "LimitFSIZESoft": "infinity",
                                "LimitLOCKS": "infinity",
                                "LimitLOCKSSoft": "infinity",
                                "LimitMEMLOCK": "8388608",
                                "LimitMEMLOCKSoft": "8388608",
                                "LimitMSGQUEUE": "819200",
                                "LimitMSGQUEUESoft": "819200",
                                "LimitNICE": "0",
                                "LimitNICESoft": "0",
                                "LimitNOFILE": "524288",
                                "LimitNOFILESoft": "1024",
                                "LimitNPROC": "31471",
                                "LimitNPROCSoft": "31471",
                                "LimitRSS": "infinity",
                                "LimitRSSSoft": "infinity",
                                "LimitRTPRIO": "0",
                                "LimitRTPRIOSoft": "0",
                                "LimitRTTIME": "infinity",
                                "LimitRTTIMESoft": "infinity",
                                "LimitSIGPENDING": "31471",
                                "LimitSIGPENDINGSoft": "31471",
                                "LimitSTACK": "infinity",
                                "LimitSTACKSoft": "8388608",
                                "LoadState": "loaded",
                                "LockPersonality": "no",
                                "LogLevelMax": "-1",
                                "LogRateLimitBurst": "0",
                                "LogRateLimitIntervalUSec": "0",
                                "LogsDirectoryMode": "0755",
                                "MainPID": "721",
                                "ManagedOOMMemoryPressure": "auto",
                                "ManagedOOMMemoryPressureLimit": "0",
                                "ManagedOOMPreference": "none",
                                "ManagedOOMSwap": "auto",
                                "MemoryAccounting": "yes",
                                "MemoryAvailable": "7887499264",
                                "MemoryCurrent": "15560704",
                                "MemoryDenyWriteExecute": "no",
                                "MemoryHigh": "infinity",
                                "MemoryKSM": "no",
                                "MemoryLimit": "infinity",
                                "MemoryLow": "0",
                                "MemoryMax": "infinity",
                                "MemoryMin": "0",
                                "MemoryPeak": "16228352",
                                "MemoryPressureThresholdUSec": "200ms",
                                "MemoryPressureWatch": "auto",
                                "MemorySwapCurrent": "0",
                                "MemorySwapMax": "infinity",
                                "MemorySwapPeak": "0",
                                "MemoryZSwapCurrent": "0",
                                "MemoryZSwapMax": "infinity",
                                "MountAPIVFS": "no",
                                "MountImagePolicy": "root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent",
                                "NFileDescriptorStore": "0",
                                "NRestarts": "0",
                                "NUMAPolicy": "n/a",
                                "Names": "unbound.service",
                                "NeedDaemonReload": "no",
                                "Nice": "0",
                                "NoNewPrivileges": "no",
                                "NonBlocking": "no",
                                "NotifyAccess": "main",
                                "OOMPolicy": "stop",
                                "OOMScoreAdjust": "0",
                                "OnFailureJobMode": "replace",
                                "OnSuccessJobMode": "fail",
                                "Perpetual": "no",
                                "PrivateDevices": "no",
                                "PrivateIPC": "no",
                                "PrivateMounts": "no",
                                "PrivateNetwork": "no",
                                "PrivateTmp": "no",
                                "PrivateUsers": "no",
                                "ProcSubset": "all",
                                "ProtectClock": "no",
                                "ProtectControlGroups": "no",
                                "ProtectHome": "no",
                                "ProtectHostname": "no",
                                "ProtectKernelLogs": "no",
                                "ProtectKernelModules": "no",
                                "ProtectKernelTunables": "no",
                                "ProtectProc": "default",
                                "ProtectSystem": "no",
                                "RefuseManualStart": "no",
                                "RefuseManualStop": "no",
                                "ReloadResult": "success",
                                "ReloadSignal": "1",
                                "RemainAfterExit": "no",
                                "RemoveIPC": "no",
                                "Requires": "sysinit.target system.slice",
                                "Restart": "on-failure",
                                "RestartKillSignal": "15",
                                "RestartMaxDelayUSec": "infinity",
                                "RestartMode": "normal",
                                "RestartSteps": "0",
                                "RestartUSec": "100ms",
                                "RestartUSecNext": "100ms",
                                "RestrictNamespaces": "no",
                                "RestrictRealtime": "no",
                                "RestrictSUIDSGID": "no",
                                "Result": "success",
                                "RootDirectoryStartOnly": "no",
                                "RootEphemeral": "no",
                                "RootImagePolicy": "root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent",
                                "RuntimeDirectoryMode": "0755",
                                "RuntimeDirectoryPreserve": "no",
                                "RuntimeMaxUSec": "infinity",
                                "RuntimeRandomizedExtraUSec": "0",
                                "SameProcessGroup": "no",
                                "SecureBits": "0",
                                "SendSIGHUP": "no",
                                "SendSIGKILL": "yes",
                                "SetLoginEnvironment": "no",
                                "Slice": "system.slice",
                                "StandardError": "inherit",
                                "StandardInput": "null",
                                "StandardOutput": "journal",
                                "StartLimitAction": "none",
                                "StartLimitBurst": "5",
                                "StartLimitIntervalUSec": "10s",
                                "StartupBlockIOWeight": "[not set]",
                                "StartupCPUShares": "[not set]",
                                "StartupCPUWeight": "[not set]",
                                "StartupIOWeight": "[not set]",
                                "StartupMemoryHigh": "infinity",
                                "StartupMemoryLow": "0",
                                "StartupMemoryMax": "infinity",
                                "StartupMemorySwapMax": "infinity",
                                "StartupMemoryZSwapMax": "infinity",
                                "StateChangeTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "StateChangeTimestampMonotonic": "4356135",
                                "StateDirectoryMode": "0755",
                                "StatusErrno": "0",
                                "StopWhenUnneeded": "no",
                                "SubState": "running",
                                "SuccessAction": "none",
                                "SurviveFinalKillSignal": "no",
                                "SyslogFacility": "3",
                                "SyslogLevel": "6",
                                "SyslogLevelPrefix": "yes",
                                "SyslogPriority": "30",
                                "SystemCallErrorNumber": "2147483646",
                                "TTYReset": "no",
                                "TTYVHangup": "no",
                                "TTYVTDisallocate": "no",
                                "TasksAccounting": "yes",
                                "TasksCurrent": "1",
                                "TasksMax": "9441",
                                "TimeoutAbortUSec": "1min 30s",
                                "TimeoutCleanUSec": "infinity",
                                "TimeoutStartFailureMode": "terminate",
                                "TimeoutStartUSec": "1min 30s",
                                "TimeoutStopFailureMode": "terminate",
                                "TimeoutStopUSec": "1min 30s",
                                "TimerSlackNSec": "50000",
                                "Transient": "no",
                                "Type": "notify",
                                "UID": "[not set]",
                                "UMask": "0022",
                                "UnitFilePreset": "enabled",
                                "UnitFileState": "enabled",
                                "UtmpMode": "init",
                                "WantedBy": "multi-user.target",
                                "Wants": "nss-lookup.target unbound-resolvconf.service",
                                "WatchdogSignal": "6",
                                "WatchdogTimestampMonotonic": "0",
                                "WatchdogUSec": "0"
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:48.658386Z",
                            "start": "2026-07-23T06:09:47.637442Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000035",
                        "name": "Start unbound"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "service",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "daemon_reexec": false,
                                    "daemon_reload": false,
                                    "enabled": null,
                                    "force": null,
                                    "masked": null,
                                    "name": "unbound",
                                    "no_block": false,
                                    "scope": "system",
                                    "state": "restarted"
                                }
                            },
                            "name": "unbound",
                            "state": "started",
                            "status": {
                                "ActiveEnterTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "ActiveEnterTimestampMonotonic": "4356135",
                                "ActiveExitTimestampMonotonic": "0",
                                "ActiveState": "active",
                                "After": "basic.target network.target system.slice systemd-journald.socket sysinit.target",
                                "AllowIsolate": "no",
                                "AssertResult": "yes",
                                "AssertTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "AssertTimestampMonotonic": "4185679",
                                "Before": "unbound-resolvconf.service multi-user.target shutdown.target nss-lookup.target",
                                "BlockIOAccounting": "no",
                                "BlockIOWeight": "[not set]",
                                "CPUAccounting": "yes",
                                "CPUAffinityFromNUMA": "no",
                                "CPUQuotaPerSecUSec": "infinity",
                                "CPUQuotaPeriodUSec": "infinity",
                                "CPUSchedulingPolicy": "0",
                                "CPUSchedulingPriority": "0",
                                "CPUSchedulingResetOnFork": "no",
                                "CPUShares": "[not set]",
                                "CPUUsageNSec": "131200000",
                                "CPUWeight": "[not set]",
                                "CacheDirectoryMode": "0755",
                                "CanFreeze": "yes",
                                "CanIsolate": "no",
                                "CanReload": "yes",
                                "CanStart": "yes",
                                "CanStop": "yes",
                                "CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend cap_audit_read cap_perfmon cap_bpf cap_checkpoint_restore",
                                "CleanResult": "success",
                                "CollectMode": "inactive",
                                "ConditionResult": "yes",
                                "ConditionTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "ConditionTimestampMonotonic": "4185672",
                                "ConfigurationDirectoryMode": "0755",
                                "Conflicts": "shutdown.target",
                                "ConsistsOf": "unbound-resolvconf.service",
                                "ControlGroup": "/system.slice/unbound.service",
                                "ControlGroupId": "3112",
                                "ControlPID": "0",
                                "CoredumpFilter": "0x33",
                                "CoredumpReceive": "no",
                                "DefaultDependencies": "yes",
                                "DefaultMemoryLow": "0",
                                "DefaultMemoryMin": "0",
                                "DefaultStartupMemoryLow": "0",
                                "Delegate": "no",
                                "Description": "Unbound DNS server",
                                "DevicePolicy": "auto",
                                "Documentation": "\"man:unbound(8)\"",
                                "DynamicUser": "no",
                                "EnvironmentFiles": "/etc/default/unbound (ignore_errors=yes)",
                                "ExecMainCode": "0",
                                "ExecMainExitTimestampMonotonic": "0",
                                "ExecMainPID": "721",
                                "ExecMainStartTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "ExecMainStartTimestampMonotonic": "4260081",
                                "ExecMainStatus": "0",
                                "ExecReload": "{ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }",
                                "ExecReloadEx": "{ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; flags=privileged ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }",
                                "ExecStart": "{ path=/usr/sbin/unbound ; argv[]=/usr/sbin/unbound -d -p $DAEMON_OPTS ; ignore_errors=no ; start_time=[Thu 2026-07-23 06:09:00 UTC] ; stop_time=[n/a] ; pid=721 ; code=(null) ; status=0/0 }",
                                "ExecStartEx": "{ path=/usr/sbin/unbound ; argv[]=/usr/sbin/unbound -d -p $DAEMON_OPTS ; flags= ; start_time=[Thu 2026-07-23 06:09:00 UTC] ; stop_time=[n/a] ; pid=721 ; code=(null) ; status=0/0 }",
                                "ExecStartPre": "{ path=/usr/libexec/unbound-helper ; argv[]=/usr/libexec/unbound-helper root_trust_anchor_update ; ignore_errors=yes ; start_time=[Thu 2026-07-23 06:09:00 UTC] ; stop_time=[Thu 2026-07-23 06:09:00 UTC] ; pid=715 ; code=exited ; status=0 }",
                                "ExecStartPreEx": "{ path=/usr/libexec/unbound-helper ; argv[]=/usr/libexec/unbound-helper root_trust_anchor_update ; flags=ignore-failure ; start_time=[Thu 2026-07-23 06:09:00 UTC] ; stop_time=[Thu 2026-07-23 06:09:00 UTC] ; pid=715 ; code=exited ; status=0 }",
                                "ExecStopPost": "{ path=/usr/libexec/unbound-helper ; argv[]=/usr/libexec/unbound-helper chroot_teardown ; ignore_errors=yes ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }",
                                "ExecStopPostEx": "{ path=/usr/libexec/unbound-helper ; argv[]=/usr/libexec/unbound-helper chroot_teardown ; flags=ignore-failure ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }",
                                "ExitType": "main",
                                "ExtensionImagePolicy": "root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent",
                                "FailureAction": "none",
                                "FileDescriptorStoreMax": "0",
                                "FileDescriptorStorePreserve": "restart",
                                "FinalKillSignal": "9",
                                "FragmentPath": "/usr/lib/systemd/system/unbound.service",
                                "FreezerState": "running",
                                "GID": "[not set]",
                                "GuessMainPID": "yes",
                                "IOAccounting": "no",
                                "IOReadBytes": "[not set]",
                                "IOReadOperations": "[not set]",
                                "IOSchedulingClass": "2",
                                "IOSchedulingPriority": "4",
                                "IOWeight": "[not set]",
                                "IOWriteBytes": "[not set]",
                                "IOWriteOperations": "[not set]",
                                "IPAccounting": "no",
                                "IPEgressBytes": "[no data]",
                                "IPEgressPackets": "[no data]",
                                "IPIngressBytes": "[no data]",
                                "IPIngressPackets": "[no data]",
                                "Id": "unbound.service",
                                "IgnoreOnIsolate": "no",
                                "IgnoreSIGPIPE": "yes",
                                "InactiveEnterTimestampMonotonic": "0",
                                "InactiveExitTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "InactiveExitTimestampMonotonic": "4186670",
                                "InvocationID": "02d52fa860ec49d689501b65bdd24cea",
                                "JobRunningTimeoutUSec": "infinity",
                                "JobTimeoutAction": "none",
                                "JobTimeoutUSec": "infinity",
                                "KeyringMode": "private",
                                "KillMode": "control-group",
                                "KillSignal": "15",
                                "LimitAS": "infinity",
                                "LimitASSoft": "infinity",
                                "LimitCORE": "infinity",
                                "LimitCORESoft": "0",
                                "LimitCPU": "infinity",
                                "LimitCPUSoft": "infinity",
                                "LimitDATA": "infinity",
                                "LimitDATASoft": "infinity",
                                "LimitFSIZE": "infinity",
                                "LimitFSIZESoft": "infinity",
                                "LimitLOCKS": "infinity",
                                "LimitLOCKSSoft": "infinity",
                                "LimitMEMLOCK": "8388608",
                                "LimitMEMLOCKSoft": "8388608",
                                "LimitMSGQUEUE": "819200",
                                "LimitMSGQUEUESoft": "819200",
                                "LimitNICE": "0",
                                "LimitNICESoft": "0",
                                "LimitNOFILE": "524288",
                                "LimitNOFILESoft": "1024",
                                "LimitNPROC": "31471",
                                "LimitNPROCSoft": "31471",
                                "LimitRSS": "infinity",
                                "LimitRSSSoft": "infinity",
                                "LimitRTPRIO": "0",
                                "LimitRTPRIOSoft": "0",
                                "LimitRTTIME": "infinity",
                                "LimitRTTIMESoft": "infinity",
                                "LimitSIGPENDING": "31471",
                                "LimitSIGPENDINGSoft": "31471",
                                "LimitSTACK": "infinity",
                                "LimitSTACKSoft": "8388608",
                                "LoadState": "loaded",
                                "LockPersonality": "no",
                                "LogLevelMax": "-1",
                                "LogRateLimitBurst": "0",
                                "LogRateLimitIntervalUSec": "0",
                                "LogsDirectoryMode": "0755",
                                "MainPID": "721",
                                "ManagedOOMMemoryPressure": "auto",
                                "ManagedOOMMemoryPressureLimit": "0",
                                "ManagedOOMPreference": "none",
                                "ManagedOOMSwap": "auto",
                                "MemoryAccounting": "yes",
                                "MemoryAvailable": "7890931712",
                                "MemoryCurrent": "15560704",
                                "MemoryDenyWriteExecute": "no",
                                "MemoryHigh": "infinity",
                                "MemoryKSM": "no",
                                "MemoryLimit": "infinity",
                                "MemoryLow": "0",
                                "MemoryMax": "infinity",
                                "MemoryMin": "0",
                                "MemoryPeak": "16228352",
                                "MemoryPressureThresholdUSec": "200ms",
                                "MemoryPressureWatch": "auto",
                                "MemorySwapCurrent": "0",
                                "MemorySwapMax": "infinity",
                                "MemorySwapPeak": "0",
                                "MemoryZSwapCurrent": "0",
                                "MemoryZSwapMax": "infinity",
                                "MountAPIVFS": "no",
                                "MountImagePolicy": "root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent",
                                "NFileDescriptorStore": "0",
                                "NRestarts": "0",
                                "NUMAPolicy": "n/a",
                                "Names": "unbound.service",
                                "NeedDaemonReload": "no",
                                "Nice": "0",
                                "NoNewPrivileges": "no",
                                "NonBlocking": "no",
                                "NotifyAccess": "main",
                                "OOMPolicy": "stop",
                                "OOMScoreAdjust": "0",
                                "OnFailureJobMode": "replace",
                                "OnSuccessJobMode": "fail",
                                "Perpetual": "no",
                                "PrivateDevices": "no",
                                "PrivateIPC": "no",
                                "PrivateMounts": "no",
                                "PrivateNetwork": "no",
                                "PrivateTmp": "no",
                                "PrivateUsers": "no",
                                "ProcSubset": "all",
                                "ProtectClock": "no",
                                "ProtectControlGroups": "no",
                                "ProtectHome": "no",
                                "ProtectHostname": "no",
                                "ProtectKernelLogs": "no",
                                "ProtectKernelModules": "no",
                                "ProtectKernelTunables": "no",
                                "ProtectProc": "default",
                                "ProtectSystem": "no",
                                "RefuseManualStart": "no",
                                "RefuseManualStop": "no",
                                "ReloadResult": "success",
                                "ReloadSignal": "1",
                                "RemainAfterExit": "no",
                                "RemoveIPC": "no",
                                "Requires": "sysinit.target system.slice",
                                "Restart": "on-failure",
                                "RestartKillSignal": "15",
                                "RestartMaxDelayUSec": "infinity",
                                "RestartMode": "normal",
                                "RestartSteps": "0",
                                "RestartUSec": "100ms",
                                "RestartUSecNext": "100ms",
                                "RestrictNamespaces": "no",
                                "RestrictRealtime": "no",
                                "RestrictSUIDSGID": "no",
                                "Result": "success",
                                "RootDirectoryStartOnly": "no",
                                "RootEphemeral": "no",
                                "RootImagePolicy": "root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent:home=encrypted+unprotected+absent:srv=encrypted+unprotected+absent:tmp=encrypted+unprotected+absent:var=encrypted+unprotected+absent",
                                "RuntimeDirectoryMode": "0755",
                                "RuntimeDirectoryPreserve": "no",
                                "RuntimeMaxUSec": "infinity",
                                "RuntimeRandomizedExtraUSec": "0",
                                "SameProcessGroup": "no",
                                "SecureBits": "0",
                                "SendSIGHUP": "no",
                                "SendSIGKILL": "yes",
                                "SetLoginEnvironment": "no",
                                "Slice": "system.slice",
                                "StandardError": "inherit",
                                "StandardInput": "null",
                                "StandardOutput": "journal",
                                "StartLimitAction": "none",
                                "StartLimitBurst": "5",
                                "StartLimitIntervalUSec": "10s",
                                "StartupBlockIOWeight": "[not set]",
                                "StartupCPUShares": "[not set]",
                                "StartupCPUWeight": "[not set]",
                                "StartupIOWeight": "[not set]",
                                "StartupMemoryHigh": "infinity",
                                "StartupMemoryLow": "0",
                                "StartupMemoryMax": "infinity",
                                "StartupMemorySwapMax": "infinity",
                                "StartupMemoryZSwapMax": "infinity",
                                "StateChangeTimestamp": "Thu 2026-07-23 06:09:00 UTC",
                                "StateChangeTimestampMonotonic": "4356135",
                                "StateDirectoryMode": "0755",
                                "StatusErrno": "0",
                                "StopWhenUnneeded": "no",
                                "SubState": "running",
                                "SuccessAction": "none",
                                "SurviveFinalKillSignal": "no",
                                "SyslogFacility": "3",
                                "SyslogLevel": "6",
                                "SyslogLevelPrefix": "yes",
                                "SyslogPriority": "30",
                                "SystemCallErrorNumber": "2147483646",
                                "TTYReset": "no",
                                "TTYVHangup": "no",
                                "TTYVTDisallocate": "no",
                                "TasksAccounting": "yes",
                                "TasksCurrent": "1",
                                "TasksMax": "9441",
                                "TimeoutAbortUSec": "1min 30s",
                                "TimeoutCleanUSec": "infinity",
                                "TimeoutStartFailureMode": "terminate",
                                "TimeoutStartUSec": "1min 30s",
                                "TimeoutStopFailureMode": "terminate",
                                "TimeoutStopUSec": "1min 30s",
                                "TimerSlackNSec": "50000",
                                "Transient": "no",
                                "Type": "notify",
                                "UID": "[not set]",
                                "UMask": "0022",
                                "UnitFilePreset": "enabled",
                                "UnitFileState": "enabled",
                                "UtmpMode": "init",
                                "WantedBy": "multi-user.target",
                                "Wants": "nss-lookup.target unbound-resolvconf.service",
                                "WatchdogSignal": "6",
                                "WatchdogTimestampMonotonic": "0",
                                "WatchdogUSec": "0"
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000002a",
                        "name": "configure-unbound",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/configure-unbound"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:49.432765Z",
                            "start": "2026-07-23T06:09:48.680867Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000037",
                        "name": "Restart unbound"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:10:08.249447Z",
                    "start": "2026-07-23T06:09:49.438320Z"
                },
                "id": "bc764e01-f96a-4473-b559-000000000038",
                "name": "Prepare workspace and configure mirrors"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_info_dir": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000003f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:49.499534Z",
                            "start": "2026-07-23T06:09:49.452562Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000041",
                        "name": "Define zuul_info_dir fact"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info"
                                }
                            },
                            "gid": 10001,
                            "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": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "zuul",
                            "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 10001
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000003f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:49.859575Z",
                            "start": "2026-07-23T06:09:49.508305Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000042",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "200.225.47.50"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "fe80::f816:3eff:fefd:a5d3"
                                ],
                                "ansible_apparmor": {
                                    "status": "enabled"
                                },
                                "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": "/boot/vmlinuz-6.8.0-136-generic",
                                    "console": "ttyS0,115200",
                                    "gfxpayload": "text",
                                    "no_timer_check": true,
                                    "nofb": true,
                                    "nomodeset": true,
                                    "ro": true,
                                    "root": "LABEL=cloudimg-rootfs"
                                },
                                "ansible_date_time": {
                                    "date": "2026-07-23",
                                    "day": "23",
                                    "epoch": "1784786990",
                                    "epoch_int": "1784786990",
                                    "hour": "06",
                                    "iso8601": "2026-07-23T06:09:50Z",
                                    "iso8601_basic": "20260723T060950799569",
                                    "iso8601_basic_short": "20260723T060950",
                                    "iso8601_micro": "2026-07-23T06:09:50.799569Z",
                                    "minute": "09",
                                    "month": "07",
                                    "second": "50",
                                    "time": "06:09:50",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "29",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "200.225.47.50",
                                    "alias": "ens3",
                                    "broadcast": "200.225.47.63",
                                    "gateway": "200.225.47.1",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:fd:a5:d3",
                                    "mtu": 1500,
                                    "netmask": "255.255.255.192",
                                    "network": "200.225.47.0",
                                    "prefix": "26",
                                    "type": "ether"
                                },
                                "ansible_default_ipv6": {},
                                "ansible_device_links": {
                                    "ids": {
                                        "sr0": [
                                            "ata-QEMU_DVD-ROM_QM00001"
                                        ]
                                    },
                                    "labels": {
                                        "sr0": [
                                            "config-2"
                                        ],
                                        "vda1": [
                                            "cloudimg-rootfs"
                                        ]
                                    },
                                    "masters": {},
                                    "uuids": {
                                        "sr0": [
                                            "2026-07-23-06-08-52-00"
                                        ],
                                        "vda1": [
                                            "ee59598a-8ac7-4785-ae80-648510054869"
                                        ]
                                    }
                                },
                                "ansible_devices": {
                                    "loop0": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": 0,
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop1": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": 0,
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop2": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": 0,
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop3": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": 0,
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop4": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": 0,
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop5": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": 0,
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop6": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": 0,
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop7": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": 0,
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "sr0": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [
                                                "ata-QEMU_DVD-ROM_QM00001"
                                            ],
                                            "labels": [
                                                "config-2"
                                            ],
                                            "masters": [],
                                            "uuids": [
                                                "2026-07-23-06-08-52-00"
                                            ]
                                        },
                                        "model": "QEMU DVD-ROM",
                                        "partitions": {},
                                        "removable": "1",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "mq-deadline",
                                        "sectors": 251,
                                        "sectorsize": "2048",
                                        "size": "502.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": [
                                                        "cloudimg-rootfs"
                                                    ],
                                                    "masters": [],
                                                    "uuids": [
                                                        "ee59598a-8ac7-4785-ae80-648510054869"
                                                    ]
                                                },
                                                "sectors": 167770079,
                                                "sectorsize": 512,
                                                "size": "80.00 GB",
                                                "start": "2048",
                                                "uuid": "ee59598a-8ac7-4785-ae80-648510054869"
                                            }
                                        },
                                        "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": "Ubuntu",
                                "ansible_distribution_file_parsed": true,
                                "ansible_distribution_file_path": "/etc/os-release",
                                "ansible_distribution_file_variety": "Debian",
                                "ansible_distribution_major_version": "24",
                                "ansible_distribution_release": "noble",
                                "ansible_distribution_version": "24.04",
                                "ansible_dns": {
                                    "nameservers": [
                                        "127.0.0.1"
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 1000,
                                "ansible_effective_user_id": 1000,
                                "ansible_ens3": {
                                    "active": true,
                                    "device": "ens3",
                                    "ipv4": {
                                        "address": "200.225.47.50",
                                        "broadcast": "200.225.47.63",
                                        "netmask": "255.255.255.192",
                                        "network": "200.225.47.0",
                                        "prefix": "26"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "fe80::f816:3eff:fefd:a5d3",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:fd:a5:d3",
                                    "mtu": 1500,
                                    "pciid": "virtio1",
                                    "promisc": false,
                                    "speed": -1,
                                    "type": "ether"
                                },
                                "ansible_env": {
                                    "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
                                    "HOME": "/home/zuul",
                                    "LANG": "C.UTF-8",
                                    "LC_ALL": "C.UTF-8",
                                    "LOGNAME": "zuul",
                                    "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin",
                                    "PWD": "/home/zuul",
                                    "SHELL": "/bin/bash",
                                    "SHLVL": "0",
                                    "SSH_CLIENT": "104.239.142.172 60790 22",
                                    "SSH_CONNECTION": "104.239.142.172 60790 200.225.47.50 22",
                                    "USER": "zuul",
                                    "XDG_RUNTIME_DIR": "/run/user/1000",
                                    "XDG_SESSION_CLASS": "user",
                                    "XDG_SESSION_ID": "1",
                                    "XDG_SESSION_TYPE": "tty",
                                    "_": "/bin/sh"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_flags": [
                                    "fpu",
                                    "vme",
                                    "de",
                                    "pse",
                                    "tsc",
                                    "msr",
                                    "pae",
                                    "mce",
                                    "cx8",
                                    "apic",
                                    "sep",
                                    "mtrr",
                                    "pge",
                                    "mca",
                                    "cmov",
                                    "pat",
                                    "pse36",
                                    "clflush",
                                    "mmx",
                                    "fxsr",
                                    "sse",
                                    "sse2",
                                    "syscall",
                                    "nx",
                                    "pdpe1gb",
                                    "rdtscp",
                                    "lm",
                                    "constant_tsc",
                                    "rep_good",
                                    "nopl",
                                    "xtopology",
                                    "cpuid",
                                    "tsc_known_freq",
                                    "pni",
                                    "pclmulqdq",
                                    "vmx",
                                    "ssse3",
                                    "fma",
                                    "cx16",
                                    "pcid",
                                    "sse4_1",
                                    "sse4_2",
                                    "x2apic",
                                    "movbe",
                                    "popcnt",
                                    "tsc_deadline_timer",
                                    "aes",
                                    "xsave",
                                    "avx",
                                    "f16c",
                                    "rdrand",
                                    "hypervisor",
                                    "lahf_lm",
                                    "abm",
                                    "3dnowprefetch",
                                    "cpuid_fault",
                                    "pti",
                                    "ssbd",
                                    "ibrs",
                                    "ibpb",
                                    "stibp",
                                    "tpr_shadow",
                                    "flexpriority",
                                    "ept",
                                    "vpid",
                                    "ept_ad",
                                    "fsgsbase",
                                    "bmi1",
                                    "avx2",
                                    "smep",
                                    "bmi2",
                                    "erms",
                                    "invpcid",
                                    "avx512f",
                                    "avx512dq",
                                    "rdseed",
                                    "adx",
                                    "smap",
                                    "clwb",
                                    "avx512cd",
                                    "avx512bw",
                                    "avx512vl",
                                    "xsaveopt",
                                    "xsavec",
                                    "xgetbv1",
                                    "arat",
                                    "vnmi",
                                    "pku",
                                    "ospke",
                                    "md_clear"
                                ],
                                "ansible_form_factor": "Other",
                                "ansible_fqdn": "np08f3d498cd674",
                                "ansible_hostname": "np08f3d498cd674",
                                "ansible_hostnqn": "",
                                "ansible_interfaces": [
                                    "lo",
                                    "ens3"
                                ],
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "6.8.0-136-generic",
                                "ansible_kernel_version": "#136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul  1 21:53:05 UTC 2026",
                                "ansible_lo": {
                                    "active": true,
                                    "device": "lo",
                                    "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,
                                    "type": "loopback"
                                },
                                "ansible_loadavg": {
                                    "15m": 0.0,
                                    "1m": 0.0,
                                    "5m": 0.0
                                },
                                "ansible_local": {},
                                "ansible_locally_reachable_ips": {
                                    "ipv4": [
                                        "127.0.0.0/8",
                                        "127.0.0.1",
                                        "200.225.47.50"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "fe80::f816:3eff:fefd:a5d3"
                                    ]
                                },
                                "ansible_lsb": {
                                    "codename": "noble",
                                    "description": "Ubuntu 24.04.4 LTS",
                                    "id": "Ubuntu",
                                    "major_release": "24",
                                    "release": "24.04"
                                },
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_machine_id": "33cd0b447a6043458d1e8bb6102a3d1e",
                                "ansible_memfree_mb": 7561,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 7694,
                                        "used": 245
                                    },
                                    "real": {
                                        "free": 7561,
                                        "total": 7939,
                                        "used": 378
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 7939,
                                "ansible_mounts": [
                                    {
                                        "block_available": 15003657,
                                        "block_size": 4096,
                                        "block_total": 19515075,
                                        "block_used": 4511418,
                                        "device": "/dev/vda1",
                                        "dump": 0,
                                        "fstype": "ext4",
                                        "inode_available": 20216046,
                                        "inode_total": 20951040,
                                        "inode_used": 734994,
                                        "mount": "/",
                                        "options": "rw,relatime",
                                        "passno": 0,
                                        "size_available": 61454979072,
                                        "size_total": 79933747200,
                                        "uuid": "ee59598a-8ac7-4785-ae80-648510054869"
                                    },
                                    {
                                        "block_available": 0,
                                        "block_size": 2048,
                                        "block_total": 251,
                                        "block_used": 251,
                                        "device": "/dev/sr0",
                                        "dump": 0,
                                        "fstype": "iso9660",
                                        "inode_available": 0,
                                        "inode_total": 0,
                                        "inode_used": 0,
                                        "mount": "/mnt/config",
                                        "options": "ro,relatime,nojoliet,check=s,map=n,blocksize=2048,fmode=700,iocharset=utf8",
                                        "passno": 0,
                                        "size_available": 0,
                                        "size_total": 514048,
                                        "uuid": "2026-07-23-06-08-52-00"
                                    }
                                ],
                                "ansible_nodename": "np08f3d498cd674",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-6.8.0-136-generic",
                                    "console": [
                                        "tty0",
                                        "ttyS0,115200"
                                    ],
                                    "gfxpayload": "text",
                                    "no_timer_check": true,
                                    "nofb": true,
                                    "nomodeset": true,
                                    "ro": true,
                                    "root": "LABEL=cloudimg-rootfs"
                                },
                                "ansible_processor": [
                                    "0",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Skylake, IBRS, no TSX)",
                                    "1",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Skylake, IBRS, no TSX)",
                                    "2",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Skylake, IBRS, no TSX)",
                                    "3",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Skylake, IBRS, no TSX)",
                                    "4",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Skylake, IBRS, no TSX)",
                                    "5",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Skylake, IBRS, no TSX)",
                                    "6",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Skylake, IBRS, no TSX)",
                                    "7",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Skylake, IBRS, no TSX)"
                                ],
                                "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": "0.1.0",
                                "ansible_python": {
                                    "executable": "/usr/bin/python3.12",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 3,
                                        "minor": 12,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        12,
                                        3,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.12.3",
                                "ansible_real_group_id": 1000,
                                "ansible_real_user_id": 1000,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "systemd",
                                "ansible_ssh_host_key_dsa_public": "AAAAB3NzaC1kc3MAAACBAKlN/mqlLs6o0ekzuMX41xQONh2K2N3/eIAz8s/wdSS0nEenc6CjbURF0+t78aYa010PBp8/n7GAPoW4FNV3M8/QeQiatVLNX+b0Mqaga+zb61BDV8dJo7MWz0yYr/rGw3MpMqzScpxVrzbph6v3sA2tnK2vlyAgpEpsSbcscsLJAAAAFQDgQuKdAN4Ld+HKZPIanIR9RFynxwAAAIAqDs5Z80Nb5OSHsIwIA9jiIeS6y5ISxHpy+2gfmdyKFlzzwSU2K8db87PUXQ62FRE5RvsmowUFiOoLOJFwx++qM8pNKlAqWTysXegt012w/O+AItpEHwzM9yvO5U7VKlbbrm8tY1wihOX77GOxpoM+o1DxgOuUmi95Qv1rTjJZTAAAAIBBJKrEPzAS6XStUFpLMu4117uw/NHgAeAcGpkZjeKEqx0o9/ZveYazY5oHtpSEvCan7IJqk8Td4vY8Sr8uQO+9+RRcWJvfVu+pFrCVaAPQIG+jnYECfsx6AzvNHXHx8QcE6GXyaSQR/8xHg3jcQ7Br+HtolhlMiHtqM7We4dssjw==",
                                "ansible_ssh_host_key_dsa_public_keytype": "ssh-dss",
                                "ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPKX1hgVhxsrNu193Rq4yXiYF4YABFwGL2n08V6+1OAiGBBbj2ZtFGDv/T7rAToAd0G+wbIWaCrlIyX3mqTAoYU=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAINx21ESgpgl4BLyUVKAFtDrx+QFGFVCALWRcqCfl7Yuf",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQDhOwArYEg23ASmiRqEn1CWTINJnw4ID8si7Xq4tqXW74/fxpXivKTd/LpmmE471nnQ6NkHr6bbN+2w7KTInNtz69U8Ix04+LldrZiB3/RVpDRT1U8bq10XHr4XKOs5a0xSlXeZy3EboV1kFuaoSuUhZ1nC7JR8Z9GK9vNJV3JJggZCzLqjdrIyfWhJqfvUuGUPqESaxPyQTZYIi9y14y3f9eKa61MHRCR2JYPl3/L/RewoKpCPRk7YzBrc+zx8YSaTdV1ZHB6Eb3mitfpbEf2oWzbeROJkEPBCT2wLTTSzoXAksC3zrlvqrbo1HJlmK2Ld9LEpjYd3rGF7kTcAfymUMSIWPoKkiv1tfcKsDhZ+wc6VvX8abE/ngsD7BYg28K4OVXgobz3BBctLoZ60nK17y2mtLwv5kx+MjZ9jRnJhOi736L1abn/7YIGpjkSHriEyd50a0FbEDC9wDls+FEn5r4blUmeIeElJBmOXbtSRiBctJkw+LiEEQJ1IpyHJJ40=",
                                "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_systemd": {
                                    "features": "+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified",
                                    "version": 255
                                },
                                "ansible_uptime_seconds": 53,
                                "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": "bc764e01-f96a-4473-b559-00000000003f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:50.899108Z",
                            "start": "2026-07-23T06:09:49.871153Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000043",
                        "name": "Collect information about the host"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "validate_host_hostname_sanitized": "ubuntu-noble"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000003f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:50.990991Z",
                            "start": "2026-07-23T06:09:50.907812Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000044",
                        "name": "Sanitize hostname"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "template",
                            "changed": true,
                            "checksum": "b313d56012aff2b9f8e092d144a80a3865c854be",
                            "dest": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info/host-info.ubuntu-noble.yaml",
                            "diff": [],
                            "gid": 10001,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "host-info.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "b313d56012aff2b9f8e092d144a80a3865c854be",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info/host-info.ubuntu-noble.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/651a921bc59b43eb939457845a5f03ac/home/.ansible/tmp/ansible-tmp-1784786991.0346444-328-121587925493108/.source.yaml",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "370934ff27a1150a4252ada090fda270",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 15566,
                            "src": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/home/.ansible/tmp/ansible-tmp-1784786991.0346444-328-121587925493108/.source.yaml",
                            "state": "file",
                            "uid": 10001
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000003f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:51.729297Z",
                            "start": "2026-07-23T06:09:50.997623Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000045",
                        "name": "Write out all ansible variables/facts known for each host"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "_zuul_nolog_return": true,
                            "action": "zuul_debug_info",
                            "changed": false,
                            "df_i": "Filesystem       Inodes  IUsed    IFree IUse% Mounted on\ntmpfs           1016297    610  1015687    1% /run\n/dev/vda1      20951040 734994 20216046    4% /\ntmpfs           1016297      1  1016296    1% /dev/shm\ntmpfs           1016297      2  1016295    1% /run/lock\n/dev/sr0              0      0        0     - /mnt/config\ntmpfs            203259     29   203230    1% /run/user/1000\n",
                            "df_m": "Filesystem     1M-blocks  Used Available Use% Mounted on\ntmpfs                794     1       794   1% /run\n/dev/vda1          76231 14090     58609  20% /\ntmpfs               3970     0      3970   0% /dev/shm\ntmpfs                  5     0         5   0% /run/lock\n/dev/sr0               1     1         0 100% /mnt/config\ntmpfs                794     1       794   1% /run/user/1000\n",
                            "image_manifest_files": [
                                {
                                    "content": "2026-07-20 02:25\n",
                                    "filename": "/etc/dib-builddate.txt",
                                    "underline": "----------------------"
                                },
                                {
                                    "content": "\n",
                                    "filename": "/etc/image-hostname.txt",
                                    "underline": "-----------------------"
                                }
                            ],
                            "invocation": {
                                "module_args": {
                                    "image_manifest": null,
                                    "image_manifest_files": [
                                        "/etc/dib-builddate.txt",
                                        "/etc/image-hostname.txt"
                                    ],
                                    "ipv4_route_required": true,
                                    "ipv6_route_required": false,
                                    "traceroute_host": "opendev.org"
                                }
                            },
                            "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 noprefixroute \n       valid_lft forever preferred_lft forever\n2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n    link/ether fa:16:3e:fd:a5:d3 brd ff:ff:ff:ff:ff:ff\n    altname enp0s3\n    inet 200.225.47.50/26 brd 200.225.47.63 scope global dynamic ens3\n       valid_lft 86348sec preferred_lft 86348sec\n    inet6 fe80::f816:3eff:fefd:a5d3/64 scope link \n       valid_lft forever preferred_lft forever\n",
                            "network_neighbors": "200.225.47.1 dev ens3 lladdr 00:00:5e:00:01:01 REACHABLE \n200.225.47.5 dev ens3 lladdr fa:16:3e:0f:3e:65 STALE \n200.225.47.4 dev ens3 lladdr fa:16:3e:ac:3b:49 STALE \n",
                            "network_routing_v4": "default via 200.225.47.1 dev ens3 \n169.254.169.254 via 200.225.47.5 dev ens3 \n200.225.47.0/26 dev ens3 proto kernel scope link src 200.225.47.50 \n",
                            "network_routing_v6": "fe80::/64 dev ens3 proto kernel metric 256 pref medium\n",
                            "proc_cpuinfo": "processor\t: 0\nvendor_id\t: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 85\nmodel name\t: Intel Xeon Processor (Skylake, IBRS, no TSX)\nstepping\t: 4\nmicrocode\t: 0x1\ncpu MHz\t\t: 2399.994\ncache size\t: 16384 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 pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat vnmi pku ospke md_clear\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs pml\nbugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi its\nbogomips\t: 4799.98\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: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 85\nmodel name\t: Intel Xeon Processor (Skylake, IBRS, no TSX)\nstepping\t: 4\nmicrocode\t: 0x1\ncpu MHz\t\t: 2399.994\ncache size\t: 16384 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 pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat vnmi pku ospke md_clear\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs pml\nbugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi its\nbogomips\t: 4799.98\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: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 85\nmodel name\t: Intel Xeon Processor (Skylake, IBRS, no TSX)\nstepping\t: 4\nmicrocode\t: 0x1\ncpu MHz\t\t: 2399.994\ncache size\t: 16384 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 pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat vnmi pku ospke md_clear\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs pml\nbugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi its\nbogomips\t: 4799.98\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: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 85\nmodel name\t: Intel Xeon Processor (Skylake, IBRS, no TSX)\nstepping\t: 4\nmicrocode\t: 0x1\ncpu MHz\t\t: 2399.994\ncache size\t: 16384 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 pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat vnmi pku ospke md_clear\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs pml\nbugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi its\nbogomips\t: 4799.98\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: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 85\nmodel name\t: Intel Xeon Processor (Skylake, IBRS, no TSX)\nstepping\t: 4\nmicrocode\t: 0x1\ncpu MHz\t\t: 2399.994\ncache size\t: 16384 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 pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat vnmi pku ospke md_clear\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs pml\nbugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi its\nbogomips\t: 4799.98\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: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 85\nmodel name\t: Intel Xeon Processor (Skylake, IBRS, no TSX)\nstepping\t: 4\nmicrocode\t: 0x1\ncpu MHz\t\t: 2399.994\ncache size\t: 16384 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 pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat vnmi pku ospke md_clear\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs pml\nbugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi its\nbogomips\t: 4799.98\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: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 85\nmodel name\t: Intel Xeon Processor (Skylake, IBRS, no TSX)\nstepping\t: 4\nmicrocode\t: 0x1\ncpu MHz\t\t: 2399.994\ncache size\t: 16384 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 pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat vnmi pku ospke md_clear\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs pml\nbugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi its\nbogomips\t: 4799.98\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: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 85\nmodel name\t: Intel Xeon Processor (Skylake, IBRS, no TSX)\nstepping\t: 4\nmicrocode\t: 0x1\ncpu MHz\t\t: 2399.994\ncache size\t: 16384 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 pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat vnmi pku ospke md_clear\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs pml\nbugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_stale_data retbleed gds bhi its\nbogomips\t: 4799.98\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 48 bits virtual\npower management:\n\n",
                            "traceroute": null,
                            "traceroute_v4": "traceroute to opendev.org (38.108.68.97), 30 hops max, 60 byte packets\n 1  173.231.194.14  0.531 ms  0.492 ms  0.466 ms\n 2  198.46.80.117  0.442 ms  0.382 ms  0.356 ms\n 3  173.205.39.9  0.412 ms  0.388 ms 62.115.208.217  0.653 ms\n 4  * * *\n 5  154.54.28.29  1.833 ms * *\n 6  154.54.45.177  1.440 ms *  1.194 ms\n 7  * 154.54.169.178  15.264 ms  15.240 ms\n 8  * 154.54.29.134  21.843 ms *\n 9  154.54.165.26  57.933 ms 154.54.41.53  36.791 ms 64.125.21.171  69.866 ms\n10  64.125.18.28  72.885 ms 154.54.165.26  57.371 ms *\n11  154.54.45.162  64.893 ms 154.54.166.58  57.853 ms 64.125.30.17  71.679 ms\n12  64.124.44.243  69.622 ms *  69.576 ms\n13  154.54.168.157  68.694 ms 38.108.68.97  66.054 ms !X  66.009 ms !X\n",
                            "traceroute_v6_exception": "Traceback (most recent call last):\n  File \"/tmp/ansible_zuul_debug_info_payload_vjlyfg7k/ansible_zuul_debug_info_payload.zip/ansible/modules/zuul_debug_info.py\", line 74, in main\n    ret['traceroute_v6'] = run_command(\n                           ^^^^^^^^^^^^\n  File \"/tmp/ansible_zuul_debug_info_payload_vjlyfg7k/ansible_zuul_debug_info_payload.zip/ansible/modules/zuul_debug_info.py\", line 37, in run_command\n    return subprocess.check_output(\n           ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.12/subprocess.py\", line 466, in check_output\n    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.12/subprocess.py\", line 571, in run\n    raise CalledProcessError(retcode, process.args,\nsubprocess.CalledProcessError: Command '['traceroute6', '-n', 'opendev.org']' returned non-zero exit status 1.\n",
                            "traceroute_v6_output": "traceroute to opendev.org (2604:e100:3:0:f816:3eff:fe5a:c9d7), 30 hops max, 80 byte packets\nconnect: Network is unreachable\n",
                            "traceroute_v6_return": 1,
                            "uname": "Linux np08f3d498cd674 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul  1 21:53:05 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux\n"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000003f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:52.783176Z",
                            "start": "2026-07-23T06:09:51.737717Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000047",
                        "name": "Collect information about zuul worker"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "template",
                            "changed": true,
                            "checksum": "dc17035f3bd418583c3b153b45ab36671a699be3",
                            "dest": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info/zuul-info.ubuntu-noble.txt",
                            "diff": [],
                            "gid": 10001,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "zuul-info.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "dc17035f3bd418583c3b153b45ab36671a699be3",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/zuul-info/zuul-info.ubuntu-noble.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/651a921bc59b43eb939457845a5f03ac/home/.ansible/tmp/ansible-tmp-1784786992.8389106-367-234854160473796/.source.txt",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "99638794448d7c89eba45bbdbad16550",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 3252,
                            "src": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/home/.ansible/tmp/ansible-tmp-1784786992.8389106-367-234854160473796/.source.txt",
                            "state": "file",
                            "uid": 10001
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000003f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:53.486456Z",
                            "start": "2026-07-23T06:09:52.790290Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000048",
                        "name": "Write out all zuul information for each host"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "fail",
                            "changed": false,
                            "false_condition": "ansible_processor_count < minimum_cpu_count",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000004a",
                        "name": "hardware-check",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/hardware-check"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:53.542845Z",
                            "start": "2026-07-23T06:09:53.506207Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000004c",
                        "name": "Raise an error if CPU count is too low"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "msg": "All items skipped",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_project",
                                    "changed": false,
                                    "false_condition": "prepare_workspace_sync_required_projects_only",
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true,
                                    "zj_project": {
                                        "key": "opendev.org/openstack/requirements",
                                        "value": {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/requirements",
                                            "checkout": "master",
                                            "checkout_description": "zuul branch",
                                            "commit": "7c466f62332c8ba87b4b139f83fc1882038200a6",
                                            "name": "openstack/requirements",
                                            "required": true,
                                            "short_name": "requirements",
                                            "src_dir": "src/opendev.org/openstack/requirements"
                                        }
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_project",
                                    "changed": false,
                                    "false_condition": "prepare_workspace_sync_required_projects_only",
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true,
                                    "zj_project": {
                                        "key": "opendev.org/openstack/watcher-dashboard",
                                        "value": {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/watcher-dashboard",
                                            "checkout": "master",
                                            "checkout_description": "zuul branch",
                                            "commit": "cdf7b25f40eb310f332a037bccdd68a13b4facea",
                                            "name": "openstack/watcher-dashboard",
                                            "required": false,
                                            "short_name": "watcher-dashboard",
                                            "src_dir": "src/opendev.org/openstack/watcher-dashboard"
                                        }
                                    }
                                }
                            ],
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000004e",
                        "name": "prepare-workspace-git",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-git"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:53.609289Z",
                            "start": "2026-07-23T06:09:53.556687Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000050",
                        "name": "Filter zuul projects if sync-only-required-projects flag is set"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "_zuul_projects": {
                                    "opendev.org/openstack/requirements": {
                                        "canonical_hostname": "opendev.org",
                                        "canonical_name": "opendev.org/openstack/requirements",
                                        "checkout": "master",
                                        "checkout_description": "zuul branch",
                                        "commit": "7c466f62332c8ba87b4b139f83fc1882038200a6",
                                        "name": "openstack/requirements",
                                        "required": true,
                                        "short_name": "requirements",
                                        "src_dir": "src/opendev.org/openstack/requirements"
                                    },
                                    "opendev.org/openstack/watcher-dashboard": {
                                        "canonical_hostname": "opendev.org",
                                        "canonical_name": "opendev.org/openstack/watcher-dashboard",
                                        "checkout": "master",
                                        "checkout_description": "zuul branch",
                                        "commit": "cdf7b25f40eb310f332a037bccdd68a13b4facea",
                                        "name": "openstack/watcher-dashboard",
                                        "required": false,
                                        "short_name": "watcher-dashboard",
                                        "src_dir": "src/opendev.org/openstack/watcher-dashboard"
                                    }
                                }
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000004e",
                        "name": "prepare-workspace-git",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-git"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:53.666078Z",
                            "start": "2026-07-23T06:09:53.619143Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000052",
                        "name": "Don't filter zuul projects if flag is false"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "repo_prep",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "cached_repos_root": "/opt/git",
                                    "executor_work_root": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work",
                                    "zuul_projects": {
                                        "opendev.org/openstack/requirements": {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/requirements",
                                            "checkout": "master",
                                            "checkout_description": "zuul branch",
                                            "commit": "7c466f62332c8ba87b4b139f83fc1882038200a6",
                                            "name": "openstack/requirements",
                                            "required": true,
                                            "short_name": "requirements",
                                            "src_dir": "src/opendev.org/openstack/requirements"
                                        },
                                        "opendev.org/openstack/watcher-dashboard": {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/watcher-dashboard",
                                            "checkout": "master",
                                            "checkout_description": "zuul branch",
                                            "commit": "cdf7b25f40eb310f332a037bccdd68a13b4facea",
                                            "name": "openstack/watcher-dashboard",
                                            "required": false,
                                            "short_name": "watcher-dashboard",
                                            "src_dir": "src/opendev.org/openstack/watcher-dashboard"
                                        }
                                    },
                                    "zuul_workspace_root": "/home/zuul"
                                }
                            },
                            "output": {
                                "opendev.org/openstack/requirements": {
                                    "clone": "Cloning into bare repository '/home/zuul/src/opendev.org/openstack/requirements/.git'...\ndone.",
                                    "dest": "/home/zuul/src/opendev.org/openstack/requirements",
                                    "elapsed": 0.28658609700000426,
                                    "initial_state": "cloned-from-cache"
                                },
                                "opendev.org/openstack/watcher-dashboard": {
                                    "clone": "Cloning into bare repository '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.git'...\ndone.",
                                    "dest": "/home/zuul/src/opendev.org/openstack/watcher-dashboard",
                                    "elapsed": 0.16684472300000408,
                                    "initial_state": "cloned-from-cache"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000004e",
                        "name": "prepare-workspace-git",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-git"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:54.671113Z",
                            "start": "2026-07-23T06:09:53.673977Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000053",
                        "name": "Set initial repo states in workspace"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "repo_sync",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "ansible_connection": "ssh",
                                    "ansible_host": "200.225.47.50",
                                    "ansible_port": 22,
                                    "ansible_user": "zuul",
                                    "executor_work_root": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work",
                                    "inventory_hostname": "ubuntu-noble",
                                    "mirror_workspace_quiet": null,
                                    "zuul_projects": {
                                        "opendev.org/openstack/requirements": {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/requirements",
                                            "checkout": "master",
                                            "checkout_description": "zuul branch",
                                            "commit": "7c466f62332c8ba87b4b139f83fc1882038200a6",
                                            "name": "openstack/requirements",
                                            "required": true,
                                            "short_name": "requirements",
                                            "src_dir": "src/opendev.org/openstack/requirements"
                                        },
                                        "opendev.org/openstack/watcher-dashboard": {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/watcher-dashboard",
                                            "checkout": "master",
                                            "checkout_description": "zuul branch",
                                            "commit": "cdf7b25f40eb310f332a037bccdd68a13b4facea",
                                            "name": "openstack/watcher-dashboard",
                                            "required": false,
                                            "short_name": "watcher-dashboard",
                                            "src_dir": "src/opendev.org/openstack/watcher-dashboard"
                                        }
                                    },
                                    "zuul_resources": {},
                                    "zuul_workspace_root": "/home/zuul"
                                }
                            },
                            "output": {
                                "opendev.org/openstack/requirements": {
                                    "attempts": 1,
                                    "dest": "/home/zuul/src/opendev.org/openstack/requirements",
                                    "elapsed": 0.7612537329550833,
                                    "push": "",
                                    "src": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/src/opendev.org/openstack/requirements"
                                },
                                "opendev.org/openstack/watcher-dashboard": {
                                    "attempts": 1,
                                    "dest": "/home/zuul/src/opendev.org/openstack/watcher-dashboard",
                                    "elapsed": 0.7203458431176841,
                                    "push": "",
                                    "src": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/src/opendev.org/openstack/watcher-dashboard"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000004e",
                        "name": "prepare-workspace-git",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-git"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:56.124539Z",
                            "start": "2026-07-23T06:09:54.677871Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000054",
                        "name": "Synchronize src repos to workspace directory"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "repo_update",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "zuul_projects": {
                                        "opendev.org/openstack/requirements": {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/requirements",
                                            "checkout": "master",
                                            "checkout_description": "zuul branch",
                                            "commit": "7c466f62332c8ba87b4b139f83fc1882038200a6",
                                            "name": "openstack/requirements",
                                            "required": true,
                                            "short_name": "requirements",
                                            "src_dir": "src/opendev.org/openstack/requirements"
                                        },
                                        "opendev.org/openstack/watcher-dashboard": {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/watcher-dashboard",
                                            "checkout": "master",
                                            "checkout_description": "zuul branch",
                                            "commit": "cdf7b25f40eb310f332a037bccdd68a13b4facea",
                                            "name": "openstack/watcher-dashboard",
                                            "required": false,
                                            "short_name": "watcher-dashboard",
                                            "src_dir": "src/opendev.org/openstack/watcher-dashboard"
                                        }
                                    },
                                    "zuul_workspace_root": "/home/zuul"
                                }
                            },
                            "output": {
                                "opendev.org/openstack/requirements": {
                                    "HEAD": "7c466f62332c8ba87b4b139f83fc1882038200a6 update constraint for openstack-release-test to new release 8.5.0",
                                    "checkout": "",
                                    "dest": "/home/zuul/src/opendev.org/openstack/requirements",
                                    "elapsed": 0.04582620100000412
                                },
                                "opendev.org/openstack/watcher-dashboard": {
                                    "HEAD": "cdf7b25f40eb310f332a037bccdd68a13b4facea Merge 'refs/changes/24/998324/4'",
                                    "checkout": "",
                                    "dest": "/home/zuul/src/opendev.org/openstack/watcher-dashboard",
                                    "elapsed": 0.06065031500000373
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000004e",
                        "name": "prepare-workspace-git",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-git"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:56.876707Z",
                            "start": "2026-07-23T06:09:56.132958Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000055",
                        "name": "Update remote repository state"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "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": "0755",
                                    "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",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000057",
                        "name": "mirror-info",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/mirror-info"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:57.321478Z",
                            "start": "2026-07-23T06:09:56.889712Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000059",
                        "name": "Create /etc/ci"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "template",
                            "changed": true,
                            "checksum": "dc452fccf0520779e70aadf809fbbe8a4679e199",
                            "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": "dc452fccf0520779e70aadf809fbbe8a4679e199",
                                    "content": null,
                                    "dest": "/etc/ci/mirror_info.sh",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": "root",
                                    "local_follow": null,
                                    "mode": "0644",
                                    "owner": "root",
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784786997.4468157-451-267884548359213/.source.sh",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "f7f69adf2c185565fd5307440da442b7",
                            "mode": "0644",
                            "owner": "root",
                            "size": 4649,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784786997.4468157-451-267884548359213/.source.sh",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-000000000057",
                        "name": "mirror-info",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_0/opendev.org/opendev/base-jobs/roles/mirror-info"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:58.857910Z",
                            "start": "2026-07-23T06:09:57.331732Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000005a",
                        "name": "Install ci_mirror script"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "setup",
                            "changed": false,
                            "false_condition": "ansible_pkg_mgr is not defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000005c",
                        "name": "configure-mirrors",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:58.906557Z",
                            "start": "2026-07-23T06:09:58.869822Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000005e",
                        "name": "Gather needed facts"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "mirror.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000005c",
                        "name": "configure-mirrors",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:59.007650Z",
                            "start": "2026-07-23T06:09:58.914893Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000005f",
                        "name": "Set up infrastructure mirrors"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": 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/.pydistutils.cfg",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "absent",
                                    "unsafe_writes": false
                                }
                            },
                            "path": "/home/zuul/.pydistutils.cfg",
                            "state": "absent"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000005c",
                        "name": "configure-mirrors",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:59.377574Z",
                            "start": "2026-07-23T06:09:59.025599Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000211",
                        "name": "Remove .pydistutils.cfg configuration in homedir"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_vars",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_facts": {
                                        "package_mirror": "{{ http_or_https }}://{{ mirror_fqdn }}/{{ ansible_distribution | lower }}"
                                    },
                                    "ansible_included_var_files": [
                                        "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors/vars/Ubuntu.yaml"
                                    ],
                                    "ansible_loop_var": "zj_distro_os",
                                    "changed": false,
                                    "failed": false,
                                    "zj_distro_os": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors/vars/Ubuntu.yaml"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000005c",
                        "name": "configure-mirrors",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:09:59.445747Z",
                            "start": "2026-07-23T06:09:59.386538Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000212",
                        "name": "Include OS-specific variables"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "template",
                            "changed": true,
                            "checksum": "47fa6d5701acc851e51cab9fd69b17b4270b0b8b",
                            "dest": "/etc/pip.conf",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "pip.conf.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "47fa6d5701acc851e51cab9fd69b17b4270b0b8b",
                                    "content": null,
                                    "dest": "/etc/pip.conf",
                                    "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-1784786999.5714395-465-264030182474609/.source.conf",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "714e37aa461af1cb000daa08632974e5",
                            "mode": "0644",
                            "owner": "root",
                            "size": 241,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784786999.5714395-465-264030182474609/.source.conf",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000005c",
                        "name": "configure-mirrors",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:00.967743Z",
                            "start": "2026-07-23T06:09:59.457305Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000214",
                        "name": "Install /etc/pip.conf configuration"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_distro_os",
                                    "include": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors/tasks/mirror/Ubuntu.yaml",
                                    "include_args": {},
                                    "zj_distro_os": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors/tasks/mirror/Ubuntu.yaml"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000005c",
                        "name": "configure-mirrors",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:01.026303Z",
                            "start": "2026-07-23T06:10:00.974772Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000215",
                        "name": "Setup distribution specific packaging mirrors"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "template",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_repo",
                                    "changed": true,
                                    "checksum": "71c71048ac68871c276c1bb813c9ebca864729f8",
                                    "dest": "/etc/apt/sources.list",
                                    "diff": [],
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_original_basename": "sources.list.j2",
                                            "attributes": null,
                                            "backup": false,
                                            "checksum": "71c71048ac68871c276c1bb813c9ebca864729f8",
                                            "content": null,
                                            "dest": "/etc/apt/sources.list",
                                            "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-1784787001.165726-475-67599759091301/.source.list",
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "md5sum": "a4021e64ee58bdd9ddf854b6905456a7",
                                    "mode": "0644",
                                    "owner": "root",
                                    "size": 303,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784787001.165726-475-67599759091301/.source.list",
                                    "state": "file",
                                    "uid": 0,
                                    "zj_repo": "etc/apt/sources.list"
                                },
                                {
                                    "ansible_loop_var": "zj_repo",
                                    "changed": true,
                                    "checksum": "bc83524068d0b4870729991312d773683aa9b990",
                                    "dest": "/etc/apt/apt.conf.d/99unauthenticated",
                                    "diff": [],
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_original_basename": "99unauthenticated.j2",
                                            "attributes": null,
                                            "backup": false,
                                            "checksum": "bc83524068d0b4870729991312d773683aa9b990",
                                            "content": null,
                                            "dest": "/etc/apt/apt.conf.d/99unauthenticated",
                                            "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-1784787002.717667-475-238104363121305/.source",
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "md5sum": "7c08e9b0fbf4909b20090870c7f59822",
                                    "mode": "0644",
                                    "owner": "root",
                                    "size": 57,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1784787002.717667-475-238104363121305/.source",
                                    "state": "file",
                                    "uid": 0,
                                    "zj_repo": "etc/apt/apt.conf.d/99unauthenticated"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000005c",
                        "name": "configure-mirrors",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:04.030007Z",
                            "start": "2026-07-23T06:10:01.043627Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-00000000022b",
                        "name": "Install Ubuntu repository files"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "apt-get",
                                "update"
                            ],
                            "delta": "0:00:03.347875",
                            "end": "2026-07-23 06:10:07.787518",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "apt-get update",
                                    "_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": "bc764e01-f96a-4473-b559-000000000061-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:04.439643",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Ign:1 https://mirror.iad3.openmetal.opendev.org/ubuntu noble InRelease\nIgn:2 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates InRelease\nIgn:3 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security InRelease\nGet:4 https://mirror.iad3.openmetal.opendev.org/ubuntu noble Release [3235 B]\nGet:5 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates Release [3263 B]\nGet:6 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security Release [3262 B]\nIgn:7 https://mirror.iad3.openmetal.opendev.org/ubuntu noble Release.gpg\nIgn:8 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates Release.gpg\nIgn:9 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security Release.gpg\nGet:10 https://mirror.iad3.openmetal.opendev.org/ubuntu noble/main amd64 Packages [2203 kB]\nGet:11 https://mirror.iad3.openmetal.opendev.org/ubuntu noble/universe amd64 Packages [24.5 MB]\nGet:12 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates/universe amd64 Packages [2442 kB]\nGet:13 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates/main amd64 Packages [2738 kB]\nGet:14 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security/main amd64 Packages [2309 kB]\nGet:15 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security/universe amd64 Packages [1745 kB]\nFetched 35.9 MB in 2s (18.3 MB/s)\nReading package lists...",
                            "stdout_lines": [
                                "Ign:1 https://mirror.iad3.openmetal.opendev.org/ubuntu noble InRelease",
                                "Ign:2 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates InRelease",
                                "Ign:3 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security InRelease",
                                "Get:4 https://mirror.iad3.openmetal.opendev.org/ubuntu noble Release [3235 B]",
                                "Get:5 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates Release [3263 B]",
                                "Get:6 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security Release [3262 B]",
                                "Ign:7 https://mirror.iad3.openmetal.opendev.org/ubuntu noble Release.gpg",
                                "Ign:8 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates Release.gpg",
                                "Ign:9 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security Release.gpg",
                                "Get:10 https://mirror.iad3.openmetal.opendev.org/ubuntu noble/main amd64 Packages [2203 kB]",
                                "Get:11 https://mirror.iad3.openmetal.opendev.org/ubuntu noble/universe amd64 Packages [24.5 MB]",
                                "Get:12 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates/universe amd64 Packages [2442 kB]",
                                "Get:13 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates/main amd64 Packages [2738 kB]",
                                "Get:14 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security/main amd64 Packages [2309 kB]",
                                "Get:15 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-security/universe amd64 Packages [1745 kB]",
                                "Fetched 35.9 MB in 2s (18.3 MB/s)",
                                "Reading package lists..."
                            ],
                            "zuul_log_id": "bc764e01-f96a-4473-b559-000000000061-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-4473-b559-00000000005c",
                        "name": "configure-mirrors",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/configure-mirrors"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:08.249447Z",
                            "start": "2026-07-23T06:10:04.073852Z"
                        },
                        "id": "bc764e01-f96a-4473-b559-000000000061",
                        "name": "Update apt cache"
                    }
                }
            ]
        }
    ],
    "stats": {
        "localhost": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 7,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        },
        "ubuntu-noble": {
            "changed": 20,
            "failures": 0,
            "ignored": 0,
            "ok": 44,
            "rescued": 0,
            "skipped": 8,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "master",
    "index": "1",
    "phase": "pre",
    "playbook": "opendev.org/zuul/zuul-jobs/playbooks/enable-fips/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:10:09.821163Z",
                    "start": "2026-07-23T06:10:09.730470Z"
                },
                "id": "bc764e01-f96a-9b7f-7b42-000000000002",
                "name": "Enable FIPS mode"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_role",
                            "changed": false,
                            "false_condition": "enable_fips | default(true)",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:09.821163Z",
                            "start": "2026-07-23T06:10:09.752496Z"
                        },
                        "id": "bc764e01-f96a-9b7f-7b42-000000000004",
                        "name": "Enable FIPS mode and reboot node"
                    }
                }
            ]
        }
    ],
    "stats": {
        "ubuntu-noble": {
            "changed": 0,
            "failures": 0,
            "ignored": 0,
            "ok": 0,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "2",
    "phase": "pre",
    "playbook": "opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:10:20.435079Z",
                    "start": "2026-07-23T06:10:11.259226Z"
                },
                "id": "bc764e01-f96a-8091-a5e7-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "bindep"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:11.370121Z",
                            "start": "2026-07-23T06:10:11.282804Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000004",
                        "name": "Install binary dependencies"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "find.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:11.447177Z",
                            "start": "2026-07-23T06:10:11.402668Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-00000000001e",
                        "name": "Include find tasks"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "src/opendev.org/openstack/watcher-dashboard/bindep.txt"
                                }
                            },
                            "stat": {
                                "atime": 1784786996.8054743,
                                "attr_flags": "e",
                                "attributes": [
                                    "extents"
                                ],
                                "block_size": 4096,
                                "blocks": 8,
                                "charset": "us-ascii",
                                "checksum": "4bd0496597e5aeb798f8d499dee483043c31f985",
                                "ctime": 1784786996.7614741,
                                "dev": 64769,
                                "device_type": 0,
                                "executable": false,
                                "exists": true,
                                "gid": 1000,
                                "gr_name": "zuul",
                                "inode": 4237316,
                                "isblk": false,
                                "ischr": false,
                                "isdir": false,
                                "isfifo": false,
                                "isgid": false,
                                "islnk": false,
                                "isreg": true,
                                "issock": false,
                                "isuid": false,
                                "mimetype": "text/plain",
                                "mode": "0664",
                                "mtime": 1784786996.7614741,
                                "nlink": 1,
                                "path": "src/opendev.org/openstack/watcher-dashboard/bindep.txt",
                                "pw_name": "zuul",
                                "readable": true,
                                "rgrp": true,
                                "roth": true,
                                "rusr": true,
                                "size": 8,
                                "uid": 1000,
                                "version": "3246448320",
                                "wgrp": true,
                                "woth": false,
                                "writeable": true,
                                "wusr": true,
                                "xgrp": false,
                                "xoth": false,
                                "xusr": false
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:12.174711Z",
                            "start": "2026-07-23T06:10:11.471509Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-00000000003e",
                        "name": "Look for bindep.txt"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "bindep_file": "src/opendev.org/openstack/watcher-dashboard/bindep.txt"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:12.229232Z",
                            "start": "2026-07-23T06:10:12.184308Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-00000000003f",
                        "name": "Define bindep_file fact"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "stat",
                            "changed": false,
                            "false_condition": "not bindep_file_stat.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:12.264761Z",
                            "start": "2026-07-23T06:10:12.238431Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000040",
                        "name": "Look for other-requirements.txt"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "not bindep_other_file_stat is skipped and  bindep_other_file_stat.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:12.309758Z",
                            "start": "2026-07-23T06:10:12.273782Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000041",
                        "name": "Define bindep_file fact"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "stat",
                            "changed": false,
                            "false_condition": "bindep_fallback is defined and not bindep_other_file_stat is skipped and not bindep_other_file_stat.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:12.356784Z",
                            "start": "2026-07-23T06:10:12.318916Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000042",
                        "name": "Look for bindep fallback file"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "not bindep_fallback_file_stat is skipped and  bindep_fallback_file_stat.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:12.402904Z",
                            "start": "2026-07-23T06:10:12.366360Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000043",
                        "name": "Define bindep_file fact"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "find-bindep.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:12.456551Z",
                            "start": "2026-07-23T06:10:12.413825Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-00000000001f",
                        "name": "Include bindep tasks"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "/usr/bindep-env/bin/bindep"
                                }
                            },
                            "stat": {
                                "atime": 1784514329.7283413,
                                "attr_flags": "e",
                                "attributes": [
                                    "extents"
                                ],
                                "block_size": 4096,
                                "blocks": 8,
                                "charset": "us-ascii",
                                "checksum": "01cd5552a28e7230666fc18604f909709b7e26b8",
                                "ctime": 1784514749.3203092,
                                "dev": 64769,
                                "device_type": 0,
                                "executable": true,
                                "exists": true,
                                "gid": 0,
                                "gr_name": "root",
                                "inode": 4231934,
                                "isblk": false,
                                "ischr": false,
                                "isdir": false,
                                "isfifo": false,
                                "isgid": false,
                                "islnk": false,
                                "isreg": true,
                                "issock": false,
                                "isuid": false,
                                "mimetype": "text/plain",
                                "mode": "0755",
                                "mtime": 1784514329.7243414,
                                "nlink": 1,
                                "path": "/usr/bindep-env/bin/bindep",
                                "pw_name": "root",
                                "readable": true,
                                "rgrp": true,
                                "roth": true,
                                "rusr": true,
                                "size": 173,
                                "uid": 0,
                                "version": "3379030998",
                                "wgrp": false,
                                "woth": false,
                                "writeable": false,
                                "wusr": true,
                                "xgrp": true,
                                "xoth": true,
                                "xusr": true
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:12.928510Z",
                            "start": "2026-07-23T06:10:12.479748Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000068",
                        "name": "Look for bindep command"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "bindep_command is not defined\n  or bindep_command_stat is defined\n  and not bindep_command_stat.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:13.003639Z",
                            "start": "2026-07-23T06:10:12.967714Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000069",
                        "name": "Check for system bindep"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "not bindep_command_type is skipped and bindep_command_type.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:13.048226Z",
                            "start": "2026-07-23T06:10:13.013440Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-00000000006a",
                        "name": "Define bindep_command fact"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "bindep_command is not defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:13.106930Z",
                            "start": "2026-07-23T06:10:13.061505Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000020",
                        "name": "Include install tasks"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_bindep_file",
                                    "include": "packages.yaml",
                                    "include_args": {},
                                    "zj_bindep_file": "src/opendev.org/openstack/watcher-dashboard/bindep.txt"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:13.203694Z",
                            "start": "2026-07-23T06:10:13.115709Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000021",
                        "name": "Include package tasks"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "bindep_run": "/usr/bindep-env/bin/bindep -b -f src/opendev.org/openstack/watcher-dashboard/bindep.txt compile test"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:13.267528Z",
                            "start": "2026-07-23T06:10:13.232005Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-0000000000b6",
                        "name": "Define bindep_run fact"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": false,
                            "cmd": [
                                "/usr/bindep-env/bin/bindep",
                                "-b",
                                "-f",
                                "src/opendev.org/openstack/watcher-dashboard/bindep.txt",
                                "compile",
                                "test"
                            ],
                            "delta": "0:00:00.954140",
                            "end": "2026-07-23 06:10:14.858059",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/bindep-env/bin/bindep -b -f src/opendev.org/openstack/watcher-dashboard/bindep.txt compile test",
                                    "_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": "bc764e01-f96a-8091-a5e7-0000000000b7-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-07-23 06:10:13.903919",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "gettext",
                            "stdout_lines": [
                                "gettext"
                            ],
                            "zuul_log_id": "bc764e01-f96a-8091-a5e7-0000000000b7-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:15.010045Z",
                            "start": "2026-07-23T06:10:13.304560Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-0000000000b7",
                        "name": "Get list of packages to install from bindep"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "package",
                            "cache_update_time": 1784787006,
                            "cache_updated": false,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": [
                                        "gettext"
                                    ],
                                    "only_upgrade": false,
                                    "package": [
                                        "gettext"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": null,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nSuggested packages:\n  autopoint gettext-doc libasprintf-dev libgettextpo-dev\nThe following NEW packages will be installed:\n  gettext\n0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.\nNeed to get 864 kB of archives.\nAfter this operation, 2695 kB of additional disk space will be used.\nGet:1 https://mirror.iad3.openmetal.opendev.org/ubuntu noble/main amd64 gettext amd64 0.21-14ubuntu2 [864 kB]\nFetched 864 kB in 0s (24.3 MB/s)\nSelecting previously unselected package gettext.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 35243 files and directories currently installed.)\r\nPreparing to unpack .../gettext_0.21-14ubuntu2_amd64.deb ...\r\nUnpacking gettext (0.21-14ubuntu2) ...\r\nSetting up gettext (0.21-14ubuntu2) ...\r\nProcessing triggers for libc-bin (2.39-0ubuntu8.7) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "Suggested packages:",
                                "  autopoint gettext-doc libasprintf-dev libgettextpo-dev",
                                "The following NEW packages will be installed:",
                                "  gettext",
                                "0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.",
                                "Need to get 864 kB of archives.",
                                "After this operation, 2695 kB of additional disk space will be used.",
                                "Get:1 https://mirror.iad3.openmetal.opendev.org/ubuntu noble/main amd64 gettext amd64 0.21-14ubuntu2 [864 kB]",
                                "Fetched 864 kB in 0s (24.3 MB/s)",
                                "Selecting previously unselected package gettext.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 35243 files and directories currently installed.)",
                                "Preparing to unpack .../gettext_0.21-14ubuntu2_amd64.deb ...",
                                "Unpacking gettext (0.21-14ubuntu2) ...",
                                "Setting up gettext (0.21-14ubuntu2) ...",
                                "Processing triggers for libc-bin (2.39-0ubuntu8.7) ..."
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:18.086389Z",
                            "start": "2026-07-23T06:10:15.018051Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-0000000000b8",
                        "name": "Install distro packages from bindep"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": false,
                            "cmd": [
                                "/usr/bindep-env/bin/bindep",
                                "-b",
                                "-f",
                                "src/opendev.org/openstack/watcher-dashboard/bindep.txt",
                                "compile",
                                "test"
                            ],
                            "delta": "0:00:00.857231",
                            "end": "2026-07-23 06:10:19.424261",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/bindep-env/bin/bindep -b -f src/opendev.org/openstack/watcher-dashboard/bindep.txt compile test",
                                    "_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": "bc764e01-f96a-8091-a5e7-0000000000b9-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:18.567030",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "bc764e01-f96a-8091-a5e7-0000000000b9-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:19.778165Z",
                            "start": "2026-07-23T06:10:18.127896Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-0000000000b9",
                        "name": "Check that packages are installed"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "fail",
                            "changed": false,
                            "false_condition": "bindep_final_check is failed",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:19.824244Z",
                            "start": "2026-07-23T06:10:19.787356Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-0000000000ba",
                        "name": "Fail if we cannot install all packages"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "test-setup"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:19.876215Z",
                            "start": "2026-07-23T06:10:19.842673Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000005",
                        "name": "Run test-setup role"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "src/opendev.org/openstack/watcher-dashboard/tools/test-setup.sh"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000013e",
                        "name": "test-setup",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/test-setup"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:20.369697Z",
                            "start": "2026-07-23T06:10:19.906737Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000140",
                        "name": "Check if project's tools/test-setup.sh exists"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "p.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-8091-a5e7-00000000013e",
                        "name": "test-setup",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/test-setup"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:20.435079Z",
                            "start": "2026-07-23T06:10:20.408508Z"
                        },
                        "id": "bc764e01-f96a-8091-a5e7-000000000141",
                        "name": "Run tools/test-setup.sh"
                    }
                }
            ]
        }
    ],
    "stats": {
        "ubuntu-noble": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 13,
            "rescued": 0,
            "skipped": 9,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "3",
    "phase": "pre",
    "playbook": "opendev.org/zuul/zuul-jobs/playbooks/tox/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:10:42.749764Z",
                    "start": "2026-07-23T06:10:21.888188Z"
                },
                "id": "bc764e01-f96a-1f9e-535f-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "assert",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:21.952740Z",
                            "start": "2026-07-23T06:10:21.914784Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000008",
                        "name": "Validate python_version value"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:21.998423Z",
                            "start": "2026-07-23T06:10:21.963135Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000000a",
                        "name": "Install specified version of python interpreter and development files (DEB)"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:22.042863Z",
                            "start": "2026-07-23T06:10:22.007110Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000000b",
                        "name": "Pull in venv package"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:22.090954Z",
                            "start": "2026-07-23T06:10:22.054406Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000000d",
                        "name": "Set default RPM package name"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:22.138295Z",
                            "start": "2026-07-23T06:10:22.102234Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000000e",
                        "name": "Set RPM package name for CentOS/RHEL 9/10"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:22.182625Z",
                            "start": "2026-07-23T06:10:22.146933Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000000f",
                        "name": "Install RPM package"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "python_use_pyenv",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:22.217254Z",
                            "start": "2026-07-23T06:10:22.191443Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000011",
                        "name": "Install python using pyenv"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:22.264036Z",
                            "start": "2026-07-23T06:10:22.228430Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000012",
                        "name": "Activate python using stow"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "ensure-pip"
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:22.303476Z",
                            "start": "2026-07-23T06:10:22.279421Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000016",
                        "name": "Install pip"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "PYTHON2=0\nPYTHON3=1\n\n# Not all platforms install a `pip` when installing python\n# specific pip packages. We first check if pip$VERSION is\n# available and if not fallback to checking if just `pip`\n# is present.\nif [ \"$PYTHON2\" -eq \"1\" ] ; then\n    command -v pip2 || command -v pip || exit 1\n    python2 -m wheel --help || exit 1\nfi\nif [ \"$PYTHON3\" -eq \"1\" ] ; then\n    command -v pip3 || command -v pip || exit 1\n    python3 -m wheel --help || exit 1\nfi\n",
                            "delta": "0:00:00.005421",
                            "end": "2026-07-23 06:10:23.040506",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "PYTHON2=0\nPYTHON3=1\n\n# Not all platforms install a `pip` when installing python\n# specific pip packages. We first check if pip$VERSION is\n# available and if not fallback to checking if just `pip`\n# is present.\nif [ \"$PYTHON2\" -eq \"1\" ] ; then\n    command -v pip2 || command -v pip || exit 1\n    python2 -m wheel --help || exit 1\nfi\nif [ \"$PYTHON3\" -eq \"1\" ] ; then\n    command -v pip3 || command -v pip || exit 1\n    python3 -m wheel --help || exit 1\nfi\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": "bc764e01-f96a-1f9e-535f-000000000084-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-07-23 06:10:23.035085",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "bc764e01-f96a-1f9e-535f-000000000084-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:23.526775Z",
                            "start": "2026-07-23T06:10:22.369691Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000084",
                        "name": "Check if pip is installed"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_distro_os",
                                    "include": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/Debian.yaml",
                                    "include_args": {},
                                    "zj_distro_os": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/Debian.yaml"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:23.592481Z",
                            "start": "2026-07-23T06:10:23.534453Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000085",
                        "name": "Install pip from packages"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "apt",
                            "cache_update_time": 1784787006,
                            "cache_updated": false,
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "only_upgrade": false,
                                    "package": null,
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:25.221870Z",
                            "start": "2026-07-23T06:10:23.616763Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-0000000000c1",
                        "name": "Update package lists"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "package",
                            "cache_update_time": 1784787006,
                            "cache_updated": false,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": [
                                        "python3-pip",
                                        "python3-setuptools",
                                        "python3-venv",
                                        "python3-wheel"
                                    ],
                                    "only_upgrade": false,
                                    "package": [
                                        "python3-pip",
                                        "python3-setuptools",
                                        "python3-venv",
                                        "python3-wheel"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": null,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nSuggested packages:\n  python-setuptools-doc\nThe following NEW packages will be installed:\n  python3-pip python3-setuptools python3-wheel\n0 upgraded, 3 newly installed, 0 to remove and 7 not upgraded.\nNeed to get 1770 kB of archives.\nAfter this operation, 9556 kB of additional disk space will be used.\nGet:1 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates/main amd64 python3-setuptools all 68.1.2-2ubuntu1.2 [397 kB]\nGet:2 https://mirror.iad3.openmetal.opendev.org/ubuntu noble/universe amd64 python3-wheel all 0.42.0-2 [53.1 kB]\nGet:3 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates/universe amd64 python3-pip all 24.0+dfsg-1ubuntu1.3 [1320 kB]\nFetched 1770 kB in 0s (35.0 MB/s)\nSelecting previously unselected package python3-setuptools.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 35350 files and directories currently installed.)\r\nPreparing to unpack .../python3-setuptools_68.1.2-2ubuntu1.2_all.deb ...\r\nUnpacking python3-setuptools (68.1.2-2ubuntu1.2) ...\r\nSelecting previously unselected package python3-wheel.\r\nPreparing to unpack .../python3-wheel_0.42.0-2_all.deb ...\r\nUnpacking python3-wheel (0.42.0-2) ...\r\nSelecting previously unselected package python3-pip.\r\nPreparing to unpack .../python3-pip_24.0+dfsg-1ubuntu1.3_all.deb ...\r\nUnpacking python3-pip (24.0+dfsg-1ubuntu1.3) ...\r\nSetting up python3-setuptools (68.1.2-2ubuntu1.2) ...\r\nSetting up python3-wheel (0.42.0-2) ...\r\nSetting up python3-pip (24.0+dfsg-1ubuntu1.3) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "Suggested packages:",
                                "  python-setuptools-doc",
                                "The following NEW packages will be installed:",
                                "  python3-pip python3-setuptools python3-wheel",
                                "0 upgraded, 3 newly installed, 0 to remove and 7 not upgraded.",
                                "Need to get 1770 kB of archives.",
                                "After this operation, 9556 kB of additional disk space will be used.",
                                "Get:1 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates/main amd64 python3-setuptools all 68.1.2-2ubuntu1.2 [397 kB]",
                                "Get:2 https://mirror.iad3.openmetal.opendev.org/ubuntu noble/universe amd64 python3-wheel all 0.42.0-2 [53.1 kB]",
                                "Get:3 https://mirror.iad3.openmetal.opendev.org/ubuntu noble-updates/universe amd64 python3-pip all 24.0+dfsg-1ubuntu1.3 [1320 kB]",
                                "Fetched 1770 kB in 0s (35.0 MB/s)",
                                "Selecting previously unselected package python3-setuptools.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 35350 files and directories currently installed.)",
                                "Preparing to unpack .../python3-setuptools_68.1.2-2ubuntu1.2_all.deb ...",
                                "Unpacking python3-setuptools (68.1.2-2ubuntu1.2) ...",
                                "Selecting previously unselected package python3-wheel.",
                                "Preparing to unpack .../python3-wheel_0.42.0-2_all.deb ...",
                                "Unpacking python3-wheel (0.42.0-2) ...",
                                "Selecting previously unselected package python3-pip.",
                                "Preparing to unpack .../python3-pip_24.0+dfsg-1ubuntu1.3_all.deb ...",
                                "Unpacking python3-pip (24.0+dfsg-1ubuntu1.3) ...",
                                "Setting up python3-setuptools (68.1.2-2ubuntu1.2) ...",
                                "Setting up python3-wheel (0.42.0-2) ...",
                                "Setting up python3-pip (24.0+dfsg-1ubuntu1.3) ..."
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:30.464053Z",
                            "start": "2026-07-23T06:10:25.260583Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-0000000000c2",
                        "name": "Install Python 3 pip"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "ensure_pip_from_packages_with_python2",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:30.497258Z",
                            "start": "2026-07-23T06:10:30.471812Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-0000000000c3",
                        "name": "Install Python 2 pip"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "ansible_python.version.major == 2",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:30.530275Z",
                            "start": "2026-07-23T06:10:30.505919Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000008a",
                        "name": "Ensure setuptools"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "python3",
                                "-m",
                                "ensurepip",
                                "--help"
                            ],
                            "delta": "0:00:00.080963",
                            "end": "2026-07-23 06:10:31.094236",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "python3 -m ensurepip --help",
                                    "_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": "bc764e01-f96a-1f9e-535f-00000000008b-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:31.013273",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "usage: python -m ensurepip [-h] [--version] [-v] [-U] [--user] [--root ROOT]\n                           [--altinstall] [--default-pip]\n\noptions:\n  -h, --help     show this help message and exit\n  --version      Show the version of pip that is bundled with this Python.\n  -v, --verbose  Give more output. Option is additive, and can be used up to 3\n                 times.\n  -U, --upgrade  Upgrade pip and dependencies, even if already installed.\n  --user         Install using the user scheme.\n  --root ROOT    Install everything relative to this alternate root directory.\n  --altinstall   Make an alternate install, installing only the X.Y versioned\n                 scripts (Default: pipX, pipX.Y).\n  --default-pip  Make a default pip install, installing the unqualified pip in\n                 addition to the versioned scripts.",
                            "stdout_lines": [
                                "usage: python -m ensurepip [-h] [--version] [-v] [-U] [--user] [--root ROOT]",
                                "                           [--altinstall] [--default-pip]",
                                "",
                                "options:",
                                "  -h, --help     show this help message and exit",
                                "  --version      Show the version of pip that is bundled with this Python.",
                                "  -v, --verbose  Give more output. Option is additive, and can be used up to 3",
                                "                 times.",
                                "  -U, --upgrade  Upgrade pip and dependencies, even if already installed.",
                                "  --user         Install using the user scheme.",
                                "  --root ROOT    Install everything relative to this alternate root directory.",
                                "  --altinstall   Make an alternate install, installing only the X.Y versioned",
                                "                 scripts (Default: pipX, pipX.Y).",
                                "  --default-pip  Make a default pip install, installing the unqualified pip in",
                                "                 addition to the versioned scripts."
                            ],
                            "zuul_log_id": "bc764e01-f96a-1f9e-535f-00000000008b-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:31.240299Z",
                            "start": "2026-07-23T06:10:30.571541Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000008b",
                        "name": "Check for ensurepip module"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "_ensurepip_module.rc != 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:31.325289Z",
                            "start": "2026-07-23T06:10:31.289326Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000008c",
                        "name": "Ensure python3-venv"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ensure_pip_from_upstream",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:31.359580Z",
                            "start": "2026-07-23T06:10:31.334516Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000008d",
                        "name": "Install pip from source"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v python3\n",
                            "delta": "0:00:00.005060",
                            "end": "2026-07-23 06:10:31.827881",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "command -v python3\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": "bc764e01-f96a-1f9e-535f-00000000008e-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:31.822821",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/python3",
                            "stdout_lines": [
                                "/usr/bin/python3"
                            ],
                            "zuul_log_id": "bc764e01-f96a-1f9e-535f-00000000008e-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:32.065614Z",
                            "start": "2026-07-23T06:10:31.400514Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000008e",
                        "name": "Probe for venv python full path"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "_host_virtualenv": "/usr/bin/python3 -m venv"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:32.148314Z",
                            "start": "2026-07-23T06:10:32.073467Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000008f",
                        "name": "Set host default"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "ensure_pip_virtualenv_command": "/usr/bin/python3 -m venv"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000082",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:32.236061Z",
                            "start": "2026-07-23T06:10:32.157746Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000090",
                        "name": "Set ensure_pip_virtualenv_command"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v tox /home/zuul/.local/tox/bin/tox || exit 1\n",
                            "delta": "0:00:00.005349",
                            "end": "2026-07-23 06:10:32.711262",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "command -v tox /home/zuul/.local/tox/bin/tox || exit 1\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": "bc764e01-f96a-1f9e-535f-000000000017-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-07-23 06:10:32.705913",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "bc764e01-f96a-1f9e-535f-000000000017-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:32.941781Z",
                            "start": "2026-07-23T06:10:32.282401Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000017",
                        "name": "Check if tox is installed"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_preinstalled.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:32.976124Z",
                            "start": "2026-07-23T06:10:32.949404Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000018",
                        "name": "Export preinstalled tox_executable"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/usr/bin/python3",
                                "-m",
                                "venv",
                                "/home/zuul/.local/tox"
                            ],
                            "delta": "0:00:03.913064",
                            "end": "2026-07-23 06:10:37.349180",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/bin/python3 -m venv /home/zuul/.local/tox",
                                    "_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": "bc764e01-f96a-1f9e-535f-00000000001a-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:33.436116",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "bc764e01-f96a-1f9e-535f-00000000001a-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:37.668620Z",
                            "start": "2026-07-23T06:10:33.021782Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000001a",
                        "name": "Create local venv"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ensure_tox_pip_version is not false",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:37.743206Z",
                            "start": "2026-07-23T06:10:37.706588Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000001b",
                        "name": "Upgrade pip in the local venv"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/pip",
                                "install",
                                "tox"
                            ],
                            "delta": "0:00:02.769636",
                            "end": "2026-07-23 06:10:40.991442",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/pip install tox",
                                    "_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": "bc764e01-f96a-1f9e-535f-00000000001c-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:38.221806",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Looking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64\nCollecting tox\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/6b/3d/7ba55871e9d794d40b6c8424f2e5d1b267ea5d9a4bd2175e08b57960ba13/tox-4.58.0-py3-none-any.whl.metadata (3.8 kB)\nCollecting cachetools>=7.0.3 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/6c/9b/8bd3cf22c5559a39e905b4884f773768f849091d91e374212d5a9ab66cd7/cachetools-7.1.5-py3-none-any.whl.metadata (5.5 kB)\nCollecting colorama>=0.4.6 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\nCollecting filelock>=3.25 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/06/79/b4c714bef36bc4ec2beeae1e0c124f0223888cd8c6feb1cdc56038116920/filelock-3.32.0-py3-none-any.whl.metadata (2.0 kB)\nCollecting packaging>=26 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl.metadata (3.5 kB)\nCollecting platformdirs>=4.9.4 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/7d/68/d8d58938dfb1370b266a1a729e6d77a985be23689a0496498ee17b2cbf90/platformdirs-4.11.0-py3-none-any.whl.metadata (5.5 kB)\nCollecting pluggy>=1.6 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB)\nCollecting pyproject-api>=1.10 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/a3/6a/2822ee12bafe87af8f6cc620f7d1f126e77f82ce56ba888b94a9af5a979c/pyproject_api-1.11.0-py3-none-any.whl.metadata (2.3 kB)\nCollecting python-discovery>=1.4.4 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/c7/7b/14882602ddee241d7984a742fcb423cb4a30fb0d6efc546ac3129fba475a/python_discovery-1.5.0-py3-none-any.whl.metadata (5.0 kB)\nCollecting tomli-w>=1.2 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl.metadata (5.7 kB)\nCollecting virtualenv>=21.1 (from tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/a5/7a/ae29312b1e88a22e81f5d21fc11526d2a114089776c2550d2b205b6c2a47/virtualenv-21.7.0-py3-none-any.whl.metadata (3.5 kB)\nCollecting distlib<1,>=0.3.7 (from virtualenv>=21.1->tox)\n  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/02/08/9c41fb51ab5b43eb21674aff13df270e8ba6c4b29c8624e328dc7a9482af/distlib-0.4.3-py2.py3-none-any.whl.metadata (5.3 kB)\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/6b/3d/7ba55871e9d794d40b6c8424f2e5d1b267ea5d9a4bd2175e08b57960ba13/tox-4.58.0-py3-none-any.whl (223 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 223.3/223.3 kB 24.6 MB/s eta 0:00:00\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/6c/9b/8bd3cf22c5559a39e905b4884f773768f849091d91e374212d5a9ab66cd7/cachetools-7.1.5-py3-none-any.whl (16 kB)\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl (25 kB)\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/06/79/b4c714bef36bc4ec2beeae1e0c124f0223888cd8c6feb1cdc56038116920/filelock-3.32.0-py3-none-any.whl (97 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 97.7/97.7 kB 11.4 MB/s eta 0:00:00\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl (100 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 100.2/100.2 kB 4.6 MB/s eta 0:00:00\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/7d/68/d8d58938dfb1370b266a1a729e6d77a985be23689a0496498ee17b2cbf90/platformdirs-4.11.0-py3-none-any.whl (23 kB)\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl (20 kB)\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/a3/6a/2822ee12bafe87af8f6cc620f7d1f126e77f82ce56ba888b94a9af5a979c/pyproject_api-1.11.0-py3-none-any.whl (13 kB)\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/c7/7b/14882602ddee241d7984a742fcb423cb4a30fb0d6efc546ac3129fba475a/python_discovery-1.5.0-py3-none-any.whl (34 kB)\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl (6.7 kB)\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/a5/7a/ae29312b1e88a22e81f5d21fc11526d2a114089776c2550d2b205b6c2a47/virtualenv-21.7.0-py3-none-any.whl (5.5 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.5/5.5 MB 88.3 MB/s eta 0:00:00\nDownloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/02/08/9c41fb51ab5b43eb21674aff13df270e8ba6c4b29c8624e328dc7a9482af/distlib-0.4.3-py2.py3-none-any.whl (470 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 470.6/470.6 kB 42.2 MB/s eta 0:00:00\nInstalling collected packages: distlib, tomli-w, pluggy, platformdirs, packaging, filelock, colorama, cachetools, python-discovery, pyproject-api, virtualenv, tox\nSuccessfully installed cachetools-7.1.5 colorama-0.4.6 distlib-0.4.3 filelock-3.32.0 packaging-26.2 platformdirs-4.11.0 pluggy-1.6.0 pyproject-api-1.11.0 python-discovery-1.5.0 tomli-w-1.2.0 tox-4.58.0 virtualenv-21.7.0",
                            "stdout_lines": [
                                "Looking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64",
                                "Collecting tox",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/6b/3d/7ba55871e9d794d40b6c8424f2e5d1b267ea5d9a4bd2175e08b57960ba13/tox-4.58.0-py3-none-any.whl.metadata (3.8 kB)",
                                "Collecting cachetools>=7.0.3 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/6c/9b/8bd3cf22c5559a39e905b4884f773768f849091d91e374212d5a9ab66cd7/cachetools-7.1.5-py3-none-any.whl.metadata (5.5 kB)",
                                "Collecting colorama>=0.4.6 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)",
                                "Collecting filelock>=3.25 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/06/79/b4c714bef36bc4ec2beeae1e0c124f0223888cd8c6feb1cdc56038116920/filelock-3.32.0-py3-none-any.whl.metadata (2.0 kB)",
                                "Collecting packaging>=26 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl.metadata (3.5 kB)",
                                "Collecting platformdirs>=4.9.4 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/7d/68/d8d58938dfb1370b266a1a729e6d77a985be23689a0496498ee17b2cbf90/platformdirs-4.11.0-py3-none-any.whl.metadata (5.5 kB)",
                                "Collecting pluggy>=1.6 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB)",
                                "Collecting pyproject-api>=1.10 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/a3/6a/2822ee12bafe87af8f6cc620f7d1f126e77f82ce56ba888b94a9af5a979c/pyproject_api-1.11.0-py3-none-any.whl.metadata (2.3 kB)",
                                "Collecting python-discovery>=1.4.4 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/c7/7b/14882602ddee241d7984a742fcb423cb4a30fb0d6efc546ac3129fba475a/python_discovery-1.5.0-py3-none-any.whl.metadata (5.0 kB)",
                                "Collecting tomli-w>=1.2 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl.metadata (5.7 kB)",
                                "Collecting virtualenv>=21.1 (from tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/a5/7a/ae29312b1e88a22e81f5d21fc11526d2a114089776c2550d2b205b6c2a47/virtualenv-21.7.0-py3-none-any.whl.metadata (3.5 kB)",
                                "Collecting distlib<1,>=0.3.7 (from virtualenv>=21.1->tox)",
                                "  Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/02/08/9c41fb51ab5b43eb21674aff13df270e8ba6c4b29c8624e328dc7a9482af/distlib-0.4.3-py2.py3-none-any.whl.metadata (5.3 kB)",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/6b/3d/7ba55871e9d794d40b6c8424f2e5d1b267ea5d9a4bd2175e08b57960ba13/tox-4.58.0-py3-none-any.whl (223 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 223.3/223.3 kB 24.6 MB/s eta 0:00:00",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/6c/9b/8bd3cf22c5559a39e905b4884f773768f849091d91e374212d5a9ab66cd7/cachetools-7.1.5-py3-none-any.whl (16 kB)",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl (25 kB)",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/06/79/b4c714bef36bc4ec2beeae1e0c124f0223888cd8c6feb1cdc56038116920/filelock-3.32.0-py3-none-any.whl (97 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 97.7/97.7 kB 11.4 MB/s eta 0:00:00",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl (100 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 100.2/100.2 kB 4.6 MB/s eta 0:00:00",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/7d/68/d8d58938dfb1370b266a1a729e6d77a985be23689a0496498ee17b2cbf90/platformdirs-4.11.0-py3-none-any.whl (23 kB)",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl (20 kB)",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/a3/6a/2822ee12bafe87af8f6cc620f7d1f126e77f82ce56ba888b94a9af5a979c/pyproject_api-1.11.0-py3-none-any.whl (13 kB)",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/c7/7b/14882602ddee241d7984a742fcb423cb4a30fb0d6efc546ac3129fba475a/python_discovery-1.5.0-py3-none-any.whl (34 kB)",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl (6.7 kB)",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/a5/7a/ae29312b1e88a22e81f5d21fc11526d2a114089776c2550d2b205b6c2a47/virtualenv-21.7.0-py3-none-any.whl (5.5 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.5/5.5 MB 88.3 MB/s eta 0:00:00",
                                "Downloading https://mirror.iad3.openmetal.opendev.org/pypifiles/packages/02/08/9c41fb51ab5b43eb21674aff13df270e8ba6c4b29c8624e328dc7a9482af/distlib-0.4.3-py2.py3-none-any.whl (470 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 470.6/470.6 kB 42.2 MB/s eta 0:00:00",
                                "Installing collected packages: distlib, tomli-w, pluggy, platformdirs, packaging, filelock, colorama, cachetools, python-discovery, pyproject-api, virtualenv, tox",
                                "Successfully installed cachetools-7.1.5 colorama-0.4.6 distlib-0.4.3 filelock-3.32.0 packaging-26.2 platformdirs-4.11.0 pluggy-1.6.0 pyproject-api-1.11.0 python-discovery-1.5.0 tomli-w-1.2.0 tox-4.58.0 virtualenv-21.7.0"
                            ],
                            "zuul_log_id": "bc764e01-f96a-1f9e-535f-00000000001c-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:41.446849Z",
                            "start": "2026-07-23T06:10:37.784133Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000001c",
                        "name": "Install tox to local venv"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "tox_executable": "/home/zuul/.local/tox/bin/tox"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:41.512015Z",
                            "start": "2026-07-23T06:10:41.455708Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000001d",
                        "name": "Export installed tox_executable path"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.379368",
                            "end": "2026-07-23 06:10:42.381790",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox --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": "bc764e01-f96a-1f9e-535f-00000000001f-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:42.002422",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul\n4.58.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul",
                                "4.58.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "bc764e01-f96a-1f9e-535f-00000000001f-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:42.715991Z",
                            "start": "2026-07-23T06:10:41.555237Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-00000000001f",
                        "name": "Output tox version"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "ensure_global_symlinks",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-1f9e-535f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:42.749764Z",
                            "start": "2026-07-23T06:10:42.723842Z"
                        },
                        "id": "bc764e01-f96a-1f9e-535f-000000000020",
                        "name": "Make global symlink"
                    }
                }
            ]
        }
    ],
    "stats": {
        "ubuntu-noble": {
            "changed": 8,
            "failures": 0,
            "ignored": 0,
            "ok": 14,
            "rescued": 0,
            "skipped": 15,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "0",
    "phase": "run",
    "playbook": "opendev.org/zuul/zuul-jobs/playbooks/tox/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:11:37.409444Z",
                    "start": "2026-07-23T06:10:44.235589Z"
                },
                "id": "bc764e01-f96a-a11b-c47e-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "sudo",
                                "-n",
                                "true"
                            ],
                            "delta": "0:00:00.015511",
                            "end": "2026-07-23 06:10:44.946786",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "sudo -n true",
                                    "_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": "bc764e01-f96a-a11b-c47e-000000000008-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:44.931275",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "bc764e01-f96a-a11b-c47e-000000000008-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:45.459458Z",
                            "start": "2026-07-23T06:10:44.289578Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000008",
                        "name": "Check if zuul is sudoer"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "rm",
                                "-rf",
                                "/etc/sudoers.d/zuul",
                                "/etc/sudoers.d/90-cloud-init-users"
                            ],
                            "delta": "0:00:00.004179",
                            "end": "2026-07-23 06:10:45.918342",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "rm -rf /etc/sudoers.d/zuul /etc/sudoers.d/90-cloud-init-users",
                                    "_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": "bc764e01-f96a-a11b-c47e-000000000009-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:45.914163",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "bc764e01-f96a-a11b-c47e-000000000009-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:46.173887Z",
                            "start": "2026-07-23T06:10:45.504311Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000009",
                        "name": "Remove sudo access for zuul user."
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "! sudo -n true",
                            "delta": "0:00:00.011946",
                            "end": "2026-07-23 06:10:46.617923",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "! sudo -n true",
                                    "_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": "bc764e01-f96a-a11b-c47e-00000000000a-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:46.605977",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "sudo: a password is required",
                            "stdout_lines": [
                                "sudo: a password is required"
                            ],
                            "zuul_log_id": "bc764e01-f96a-a11b-c47e-00000000000a-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:46.866068Z",
                            "start": "2026-07-23T06:10:46.212315Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-00000000000a",
                        "name": "Prove that general sudo access is actually revoked."
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": false,
                                    "get_mime": false,
                                    "path": "/home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt"
                                }
                            },
                            "stat": {
                                "atime": 1784786996.7924743,
                                "attr_flags": "e",
                                "attributes": [
                                    "extents"
                                ],
                                "block_size": 4096,
                                "blocks": 32,
                                "ctime": 1784786996.7784743,
                                "dev": 64769,
                                "device_type": 0,
                                "executable": false,
                                "exists": true,
                                "gid": 1000,
                                "gr_name": "zuul",
                                "inode": 4237547,
                                "isblk": false,
                                "ischr": false,
                                "isdir": false,
                                "isfifo": false,
                                "isgid": false,
                                "islnk": false,
                                "isreg": true,
                                "issock": false,
                                "isuid": false,
                                "mode": "0664",
                                "mtime": 1784786996.7784743,
                                "nlink": 1,
                                "path": "/home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt",
                                "pw_name": "zuul",
                                "readable": true,
                                "rgrp": true,
                                "roth": true,
                                "rusr": true,
                                "size": 12370,
                                "uid": 1000,
                                "version": "498461285",
                                "wgrp": true,
                                "woth": false,
                                "writeable": true,
                                "wusr": true,
                                "xgrp": false,
                                "xoth": false,
                                "xusr": false
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:47.465973Z",
                            "start": "2026-07-23T06:10:46.881427Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-00000000000e",
                        "name": "Check to see if the constraints file exists"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "fail",
                            "changed": false,
                            "false_condition": "tox_constraints_file is defined and not stat_results.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:47.510333Z",
                            "start": "2026-07-23T06:10:47.473875Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-00000000000f",
                        "name": "Fail if constraints file is missing"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "tox_constraints_env": {
                                    "TOX_CONSTRAINTS_FILE": "/home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt",
                                    "UPPER_CONSTRAINTS_FILE": "/home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt"
                                }
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:47.572872Z",
                            "start": "2026-07-23T06:10:47.519293Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000010",
                        "name": "Record file location"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "siblings.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:10:47.614083Z",
                            "start": "2026-07-23T06:10:47.580613Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000011",
                        "name": "Install tox siblings"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "--notest",
                                "-etranslations",
                                "-vv",
                                "--skip-missing-interpreters=false"
                            ],
                            "delta": "0:00:35.578229",
                            "end": "2026-07-23 06:11:23.670324",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox  --notest  -etranslations  -vv --skip-missing-interpreters=false",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/opendev.org/openstack/watcher-dashboard",
                                    "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": "bc764e01-f96a-a11b-c47e-000000000053-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:10:48.092095",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ROOT: 258 D setup logging to DEBUG on pid 1730 [tox/report.py:229]\n.pkg: 282 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 285 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 285 D filesystem is case-sensitive [python_discovery/_compat.py:18]\n.pkg: 289 D get interpreter info via cmd: /usr/bin/python3.12 /home/zuul/.local/tox/lib/python3.12/site-packages/python_discovery/_py_info.py 6f1ed89f5e94ee17463c7ae512efeef4 9ebcd1ed1b408d3e3870d66498e94c10 [python_discovery/_cached_py_info.py:198]\n.pkg: 358 D wrote python info of /usr/bin/python3.12 at /home/zuul/.cache/virtualenv/py_info/5/f0d7a494a3f776233427cb85a7e198c7cf4913b50a203c6febc678cc4f5bf265.json [virtualenv/app_data/via_disk_folder.py:159]\n.pkg: 358 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 358 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 360 D symlink on filesystem does work [virtualenv/info.py:51]\n.pkg: 360 D filesystem is case-sensitive [virtualenv/info.py:28]\n.pkg: 391 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 392 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 392 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 392 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 397 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 398 I find interpreter for spec PythonSpec(major=3, free_threaded=False) [python_discovery/_discovery.py:131]\n.pkg: 398 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 398 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 404 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 405 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 405 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 405 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 410 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 411 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 411 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 411 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 415 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 415 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 415 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 415 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 419 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 419 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 419 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 420 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 423 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 423 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 424 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 424 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 427 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 428 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 428 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 428 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 431 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 432 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 432 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 432 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 436 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 436 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 437 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 437 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\ntranslations: 442 I create virtual environment via CPython3Posix(dest=/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]\ntranslations: 442 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/bin [virtualenv/util/path/_sync.py:18]\ntranslations: 442 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/include [virtualenv/util/path/_sync.py:18]\ntranslations: 443 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:18]\ntranslations: 443 D write /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]\ntranslations: 443 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \tversion_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \tversion = 3.12.3 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \texecutable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \tvirtualenv = 21.7.0 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 443 D \tbase-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 444 D symlink /usr/bin/python3.12 to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/bin/python [virtualenv/util/path/_sync.py:38]\ntranslations: 444 D ============================== target debug ============================== [virtualenv/run/session.py:79]\ntranslations: 444 D debug via /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/bin/python /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:265]\ntranslations: 444 D {\n  \"sys\": {\n    \"executable\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/bin/python\",\n    \"_base_executable\": \"/usr/bin/python3.12\",\n    \"prefix\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations\",\n    \"base_prefix\": \"/usr\",\n    \"exec_prefix\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations\",\n    \"base_exec_prefix\": \"/usr\",\n    \"path\": [\n      \"/usr/lib/python312.zip\",\n      \"/usr/lib/python3.12\",\n      \"/usr/lib/python3.12/lib-dynload\",\n      \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages\"\n    ],\n    \"meta_path\": [\n      \"<class '_frozen_importlib.BuiltinImporter'>\",\n      \"<class '_frozen_importlib.FrozenImporter'>\",\n      \"<class '_frozen_importlib_external.PathFinder'>\"\n    ],\n    \"fs_encoding\": \"utf-8\",\n    \"io_encoding\": \"utf-8\"\n  },\n  \"version\": \"3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]\",\n  \"makefile_filename\": \"/usr/lib/python3.12/config-3.12-x86_64-linux-gnu/Makefile\",\n  \"os\": \"<module 'os' (frozen)>\",\n  \"site\": \"<module 'site' (frozen)>\",\n  \"datetime\": \"<module 'datetime' from '/usr/lib/python3.12/datetime.py'>\",\n  \"math\": \"<module 'math' (built-in)>\",\n  \"json\": \"<module 'json' from '/usr/lib/python3.12/json/__init__.py'>\"\n} [virtualenv/run/session.py:80]\ntranslations: 477 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84]\ntranslations: 484 D install pip from wheel /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/seed/wheels/embed/pip-26.1.2-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]\ntranslations: 485 D build install image for pip-26.1.2-py3-none-any.whl to /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any [virtualenv/seed/embed/via_app_data/pip_install/base.py:81]\ntranslations: 663 D copy /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.virtualenv to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/pip-26.1.2.virtualenv [virtualenv/util/path/_sync.py:46]\ntranslations: 664 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:46]\ntranslations: 716 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.dist-info to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/pip-26.1.2.dist-info [virtualenv/util/path/_sync.py:46]\ntranslations: 721 D generated console scripts pip3.12 pip pip3 pip-3.12 [virtualenv/seed/embed/via_app_data/pip_install/base.py:69]\ntranslations: 722 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python, Xonsh [virtualenv/run/session.py:90]\ntranslations: 729 D write /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]\ntranslations: 729 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \tversion_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \tversion = 3.12.3 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \texecutable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \tvirtualenv = 21.7.0 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 729 D \tbase-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]\ntranslations: 770 W install_deps> python -I -m pip install -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt -c /home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt [tox/tox_env/api.py:485]\nLooking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64\nCollecting pbr!=2.1.0,>=2.0.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 4))\n  Downloading pbr-7.0.3-py2.py3-none-any.whl.metadata (3.8 kB)\nCollecting horizon>=18.2.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading horizon-26.0.0-py3-none-any.whl.metadata (5.3 kB)\nCollecting oslo.utils>=8.0.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 8))\n  Downloading oslo_utils-10.1.1-py3-none-any.whl.metadata (2.1 kB)\nCollecting PyYAML>=3.12 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 9))\n  Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)\nCollecting python-watcherclient>=4.9.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading python_watcherclient-4.10.0-py3-none-any.whl.metadata (5.4 kB)\nCollecting hacking<7.1.0,>=7.0.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))\n  Downloading hacking-7.0.0-py3-none-any.whl.metadata (7.1 kB)\nCollecting coverage!=4.4,>=4.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 3))\n  Downloading coverage-7.14.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (8.6 kB)\nCollecting testscenarios>=0.4 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 4))\n  Downloading testscenarios-0.6.2-py3-none-any.whl.metadata (13 kB)\nCollecting testtools>=2.2.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 5))\n  Downloading testtools-2.9.1-py3-none-any.whl.metadata (5.4 kB)\nCollecting oslotest>=3.8.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 6))\n  Downloading oslotest-6.1.1-py3-none-any.whl.metadata (1.8 kB)\nCollecting oslo.log>=3.37.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))\n  Downloading oslo_log-8.3.0-py3-none-any.whl.metadata (2.5 kB)\nCollecting keystoneauth1>=3.4.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 9))\n  Downloading keystoneauth1-5.15.0-py3-none-any.whl.metadata (2.8 kB)\nCollecting playwright>=1.58.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 10))\n  Downloading playwright-1.60.0-py3-none-manylinux1_x86_64.whl.metadata (3.5 kB)\nCollecting flake8~=7.1.1 (from hacking<7.1.0,>=7.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))\n  Downloading flake8-7.1.2-py2.py3-none-any.whl.metadata (3.8 kB)\nCollecting mccabe<0.8.0,>=0.7.0 (from flake8~=7.1.1->hacking<7.1.0,>=7.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))\n  Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)\nCollecting pycodestyle<2.13.0,>=2.12.0 (from flake8~=7.1.1->hacking<7.1.0,>=7.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))\n  Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB)\nCollecting pyflakes<3.3.0,>=3.2.0 (from flake8~=7.1.1->hacking<7.1.0,>=7.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))\n  Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB)\nCollecting setuptools (from pbr!=2.1.0,>=2.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 4))\n  Downloading setuptools-83.0.0-py3-none-any.whl.metadata (6.6 kB)\nCollecting Babel>=2.6.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading babel-2.18.0-py3-none-any.whl.metadata (2.2 kB)\nCollecting Django>=4.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading django-5.2.15-py3-none-any.whl.metadata (4.1 kB)\nCollecting django-compressor>=4.4 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading django_compressor-4.6.0-py3-none-any.whl.metadata (5.2 kB)\nCollecting django-debreach>=1.4.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading django_debreach-2.1.0-py3-none-any.whl.metadata (3.7 kB)\nCollecting futurist>=1.2.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading futurist-3.4.0-py3-none-any.whl.metadata (2.1 kB)\nCollecting iso8601>=0.1.11 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading iso8601-2.1.0-py3-none-any.whl.metadata (3.7 kB)\nCollecting netaddr>=0.7.18 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading netaddr-1.3.0-py3-none-any.whl.metadata (5.0 kB)\nCollecting openstacksdk>=4.5.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading openstacksdk-4.17.0-py3-none-any.whl.metadata (12 kB)\nCollecting oslo.concurrency>=4.5.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading oslo_concurrency-7.6.1-py3-none-any.whl.metadata (2.2 kB)\nCollecting oslo.config>=8.8.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading oslo_config-10.5.0-py3-none-any.whl.metadata (2.3 kB)\nCollecting oslo.i18n>=5.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading oslo_i18n-6.9.0-py3-none-any.whl.metadata (2.0 kB)\nCollecting oslo.policy>=3.11.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading oslo_policy-6.0.0-py3-none-any.whl.metadata (2.2 kB)\nCollecting oslo.serialization>=4.3.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading oslo_serialization-5.11.0-py3-none-any.whl.metadata (2.1 kB)\nCollecting oslo.upgradecheck>=1.5.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading oslo_upgradecheck-2.8.0-py3-none-any.whl.metadata (1.8 kB)\nCollecting osprofiler>=3.4.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading osprofiler-4.4.0-py3-none-any.whl.metadata (3.1 kB)\nCollecting libsass>=0.23.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading libsass-0.23.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (4.2 kB)\nCollecting Pillow>=9.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading pillow-12.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (8.8 kB)\nCollecting python-cinderclient>=8.0.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading python_cinderclient-9.9.0-py3-none-any.whl.metadata (19 kB)\nCollecting python-glanceclient>=2.8.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading python_glanceclient-4.12.0-py3-none-any.whl.metadata (4.0 kB)\nCollecting python-keystoneclient>=3.22.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading python_keystoneclient-5.8.0-py3-none-any.whl.metadata (3.8 kB)\nCollecting python-novaclient>=9.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading python_novaclient-18.13.0-py3-none-any.whl.metadata (3.2 kB)\nCollecting python-swiftclient>=3.2.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading python_swiftclient-4.10.0-py3-none-any.whl.metadata (3.9 kB)\nCollecting qrcode>=8.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading qrcode-8.2-py3-none-any.whl.metadata (17 kB)\nCollecting requests>=2.25.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)\nCollecting semantic-version>=2.3.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading semantic_version-2.10.0-py2.py3-none-any.whl.metadata (9.7 kB)\nCollecting XStatic>=1.0.3 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading XStatic-1.0.3-py3-none-any.whl.metadata (1.4 kB)\nCollecting XStatic-Angular>=1.8.2.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_angular-1.8.2.3-py2.py3-none-any.whl.metadata (934 bytes)\nCollecting XStatic-Angular-Bootstrap>=2.2.0.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_angular_bootstrap-2.5.0.1-py2.py3-none-any.whl.metadata (1.1 kB)\nCollecting XStatic-Angular-FileUpload>=12.0.4.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_angular_fileupload-12.2.13.2-py2.py3-none-any.whl.metadata (1.1 kB)\nCollecting XStatic-Angular-Gettext>=2.3.8.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_angular_gettext-2.4.1.1-py2.py3-none-any.whl.metadata (999 bytes)\nCollecting XStatic-Angular-lrdragndrop>=1.0.2.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_angular_lrdragndrop-1.0.2.7-py3-none-any.whl.metadata (1.0 kB)\nCollecting XStatic-Angular-Schema-Form>=0.8.13.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_angular_schema_form-0.8.13.1-py3-none-any.whl.metadata (982 bytes)\nCollecting XStatic-Bootstrap-Datepicker>=1.3.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_bootstrap_datepicker-1.4.0.1-py3-none-any.whl.metadata (1.0 kB)\nCollecting XStatic-Bootstrap-SCSS>=3.3.7.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_bootstrap_scss-3.4.1.1-py2.py3-none-any.whl.metadata (940 bytes)\nCollecting XStatic-bootswatch>=3.3.7.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_bootswatch-3.3.7.1-py2.py3-none-any.whl.metadata (953 bytes)\nCollecting XStatic-D3>=3.5.17.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_d3-3.5.17.1-py2.py3-none-any.whl.metadata (862 bytes)\nCollecting XStatic-Hogan>=2.0.0.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_hogan-2.0.0.5-py3-none-any.whl.metadata (904 bytes)\nCollecting XStatic-Font-Awesome>=6.2.1.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_font_awesome-6.2.1.2-py3-none-any.whl.metadata (1.0 kB)\nCollecting XStatic-Jasmine>=2.4.1.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_jasmine-2.4.1.3-py2.py3-none-any.whl.metadata (939 bytes)\nCollecting XStatic-jQuery>=3.5.1.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_jquery-3.7.1.1-py3-none-any.whl.metadata (888 bytes)\nCollecting XStatic-JQuery-Migrate>=3 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_jquery_migrate-3.3.2.2-py3-none-any.whl.metadata (1.4 kB)\nCollecting XStatic-JQuery.quicksearch>=2.0.3.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_jquery_quicksearch-2.0.3.3-py3-none-any.whl.metadata (1.0 kB)\nCollecting XStatic-JQuery.TableSorter>=2.14.5.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_jquery_tablesorter-2.14.5.3-py3-none-any.whl.metadata (1000 bytes)\nCollecting XStatic-jquery-ui>=1.13.0.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_jquery_ui-1.13.0.2-py3-none-any.whl.metadata (965 bytes)\nCollecting XStatic-JSEncrypt>=2.3.1.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_jsencrypt-2.3.1.2-py2.py3-none-any.whl.metadata (917 bytes)\nCollecting XStatic-mdi>=1.6.50.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_mdi-1.6.50.3-py2.py3-none-any.whl.metadata (960 bytes)\nCollecting XStatic-objectpath>=1.2.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_objectpath-1.2.1.1-py3-none-any.whl.metadata (971 bytes)\nCollecting XStatic-Rickshaw>=1.5.0.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_rickshaw-1.5.1.3-py3-none-any.whl.metadata (929 bytes)\nCollecting XStatic-roboto-fontface>=0.5.0.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_roboto_fontface-0.8.0.1-py2.py3-none-any.whl.metadata (1.0 kB)\nCollecting XStatic-smart-table>=1.4.13.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_smart_table-1.4.13.3-py2.py3-none-any.whl.metadata (1.0 kB)\nCollecting XStatic-Spin>=1.2.5.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading XStatic_Spin-1.2.5.3-py3-none-any.whl.metadata (741 bytes)\nCollecting XStatic-term.js>=0.0.7.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_term_js-0.0.7.1-py3-none-any.whl.metadata (1.2 kB)\nCollecting XStatic-tv4>=1.2.7.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading xstatic_tv4-1.2.7.1-py3-none-any.whl.metadata (982 bytes)\nCollecting pyparsing>=2.1.0 (from oslo.utils>=8.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 8))\n  Downloading pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB)\nCollecting packaging>=20.4 (from oslo.utils>=8.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 8))\n  Using cached packaging-26.2-py3-none-any.whl.metadata (3.5 kB)\nCollecting psutil>=3.2.2 (from oslo.utils>=8.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 8))\n  Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.metadata (22 kB)\nCollecting cliff!=2.9.0,>=2.11.0 (from python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading cliff-4.15.0-py3-none-any.whl.metadata (2.1 kB)\nCollecting osc-lib>=1.10.0 (from python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading osc_lib-4.7.0-py3-none-any.whl.metadata (3.8 kB)\nCollecting fixtures>=3.0.0 (from oslotest>=3.8.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 6))\n  Downloading fixtures-4.3.2-py3-none-any.whl.metadata (22 kB)\nCollecting oslo.context>=2.21.0 (from oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))\n  Downloading oslo_context-6.5.0-py3-none-any.whl.metadata (2.3 kB)\nCollecting python-dateutil>=2.7.0 (from oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))\n  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)\nCollecting debtcollector>=3.0.0 (from oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))\n  Downloading debtcollector-3.1.0-py3-none-any.whl.metadata (2.6 kB)\nCollecting stevedore>=1.20.0 (from keystoneauth1>=3.4.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 9))\n  Downloading stevedore-5.9.0-py3-none-any.whl.metadata (2.3 kB)\nCollecting os-service-types>=1.2.0 (from keystoneauth1>=3.4.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 9))\n  Downloading os_service_types-1.8.2-py3-none-any.whl.metadata (1.9 kB)\nCollecting typing-extensions>=4.12 (from keystoneauth1>=3.4.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 9))\n  Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)\nCollecting pyee<14,>=13 (from playwright>=1.58.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 10))\n  Downloading pyee-13.0.1-py3-none-any.whl.metadata (3.0 kB)\nCollecting greenlet<4.0.0,>=3.1.1 (from playwright>=1.58.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 10))\n  Downloading greenlet-3.5.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (3.8 kB)\nCollecting autopage>=0.4.0 (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading autopage-0.6.0-py3-none-any.whl.metadata (8.1 kB)\nCollecting cmd2>=3.0.0 (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading cmd2-4.0.0-py3-none-any.whl.metadata (16 kB)\nCollecting PrettyTable>=0.7.2 (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading prettytable-3.18.0-py3-none-any.whl.metadata (37 kB)\nCollecting prompt-toolkit>=3.0.52 (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading prompt_toolkit-3.0.52-py3-none-any.whl.metadata (6.4 kB)\nCollecting pyperclip>=1.8.2 (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading pyperclip-1.11.0-py3-none-any.whl.metadata (2.4 kB)\nCollecting rich>=15.0.0 (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading rich-15.0.0-py3-none-any.whl.metadata (18 kB)\nCollecting rich-argparse>=1.7.2 (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading rich_argparse-1.8.0-py3-none-any.whl.metadata (15 kB)\nCollecting wrapt>=2.1.0 (from debtcollector>=3.0.0->oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))\n  Downloading wrapt-2.2.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (7.4 kB)\nCollecting asgiref>=3.8.1 (from Django>=4.2->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading asgiref-3.11.1-py3-none-any.whl.metadata (9.3 kB)\nCollecting sqlparse>=0.3.1 (from Django>=4.2->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading sqlparse-0.5.5-py3-none-any.whl.metadata (4.7 kB)\nCollecting django-appconf>=1.0.3 (from django-compressor>=4.4->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading django_appconf-1.2.0-py3-none-any.whl.metadata (5.5 kB)\nCollecting rcssmin>=1.2.1 (from django-compressor>=4.4->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading rcssmin-1.2.2-cp312-cp312-manylinux1_x86_64.whl.metadata (4.8 kB)\nCollecting rjsmin>=1.2.4 (from django-compressor>=4.4->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading rjsmin-1.2.5-cp312-cp312-manylinux1_x86_64.whl.metadata (4.6 kB)\nCollecting cryptography>=2.7 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (5.4 kB)\nCollecting decorator>=4.4.1 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading decorator-5.3.1-py3-none-any.whl.metadata (3.9 kB)\nCollecting dogpile.cache>=0.6.5 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading dogpile_cache-1.5.0-py3-none-any.whl.metadata (5.5 kB)\nCollecting jmespath>=0.9.0 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading jmespath-1.1.0-py3-none-any.whl.metadata (7.6 kB)\nCollecting jsonpatch!=1.20,>=1.16 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading jsonpatch-1.33-py2.py3-none-any.whl.metadata (3.0 kB)\nCollecting platformdirs>=3 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading platformdirs-4.10.0-py3-none-any.whl.metadata (5.5 kB)\nCollecting cffi>=1.12 (from cryptography>=2.7->openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB)\nCollecting pycparser (from cffi>=1.12->cryptography>=2.7->openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)\nCollecting jsonpointer>=1.9 (from jsonpatch!=1.20,>=1.16->openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading jsonpointer-3.1.1-py3-none-any.whl.metadata (2.4 kB)\nCollecting fasteners>=0.7.0 (from oslo.concurrency>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading fasteners-0.20-py3-none-any.whl.metadata (4.8 kB)\nCollecting rfc3986>=1.2.0 (from oslo.config>=8.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading rfc3986-2.0.0-py2.py3-none-any.whl.metadata (6.6 kB)\nCollecting msgpack>=0.5.2 (from oslo.serialization>=4.3.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading msgpack-1.2.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)\nCollecting WebOb>=1.7.1 (from osprofiler>=3.4.2->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading webob-1.8.10-py2.py3-none-any.whl.metadata (12 kB)\nCollecting wcwidth>=0.3.5 (from PrettyTable>=0.7.2->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading wcwidth-0.8.1-py3-none-any.whl.metadata (43 kB)\nCollecting six>=1.5 (from python-dateutil>=2.7.0->oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))\n  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)\nCollecting warlock>=1.2.0 (from python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading warlock-2.1.0-py3-none-any.whl.metadata (4.0 kB)\nCollecting pyOpenSSL>=17.1.0 (from python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading pyOpenSSL-24.2.1-py3-none-any.whl.metadata (13 kB)\nCollecting charset_normalizer<4,>=2 (from requests>=2.25.1->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading charset_normalizer-3.4.7-cp312-cp312-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.25.1->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB)\nCollecting urllib3<3,>=1.26 (from requests>=2.25.1->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB)\nCollecting certifi>=2023.5.7 (from requests>=2.25.1->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)\nCollecting markdown-it-py>=2.2.0 (from rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading markdown_it_py-4.2.0-py3-none-any.whl.metadata (7.4 kB)\nCollecting pygments<3.0.0,>=2.13.0 (from rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB)\nCollecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))\n  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)\nCollecting jsonschema~=4.0 (from warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading jsonschema-4.26.0-py3-none-any.whl.metadata (7.6 kB)\nCollecting attrs>=22.2.0 (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)\nCollecting jsonschema-specifications>=2023.03.6 (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB)\nCollecting referencing>=0.28.4 (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB)\nCollecting rpds-py>=0.25.0 (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))\n  Downloading rpds_py-2026.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB)\nDownloading hacking-7.0.0-py3-none-any.whl (40 kB)\nDownloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)\nDownloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)\nDownloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)\nDownloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)\nDownloading pbr-7.0.3-py2.py3-none-any.whl (131 kB)\nDownloading horizon-26.0.0-py3-none-any.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 64.5 MB/s  0:00:00\nDownloading oslo_utils-10.1.1-py3-none-any.whl (154 kB)\nDownloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 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 807.9/807.9 kB 50.2 MB/s  0:00:00\nDownloading python_watcherclient-4.10.0-py3-none-any.whl (140 kB)\nDownloading coverage-7.14.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (255 kB)\nDownloading testscenarios-0.6.2-py3-none-any.whl (12 kB)\nDownloading testtools-2.9.1-py3-none-any.whl (110 kB)\nDownloading oslotest-6.1.1-py3-none-any.whl (30 kB)\nDownloading oslo_log-8.3.0-py3-none-any.whl (77 kB)\nDownloading keystoneauth1-5.15.0-py3-none-any.whl (342 kB)\nDownloading playwright-1.60.0-py3-none-manylinux1_x86_64.whl (47.5 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 47.5/47.5 MB 134.5 MB/s  0:00:00\nDownloading greenlet-3.5.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (614 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 614.2/614.2 kB 38.1 MB/s  0:00:00\nDownloading pyee-13.0.1-py3-none-any.whl (15 kB)\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 101.4 MB/s  0:00:00\nDownloading cliff-4.15.0-py3-none-any.whl (86 kB)\nDownloading autopage-0.6.0-py3-none-any.whl (30 kB)\nDownloading cmd2-4.0.0-py3-none-any.whl (180 kB)\nDownloading debtcollector-3.1.0-py3-none-any.whl (24 kB)\nDownloading django-5.2.15-py3-none-any.whl (8.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 8.3/8.3 MB 122.4 MB/s  0:00:00\nDownloading asgiref-3.11.1-py3-none-any.whl (24 kB)\nDownloading django_compressor-4.6.0-py3-none-any.whl (96 kB)\nDownloading django_appconf-1.2.0-py3-none-any.whl (6.5 kB)\nDownloading django_debreach-2.1.0-py3-none-any.whl (7.7 kB)\nDownloading fixtures-4.3.2-py3-none-any.whl (41 kB)\nDownloading futurist-3.4.0-py3-none-any.whl (43 kB)\nDownloading iso8601-2.1.0-py3-none-any.whl (7.5 kB)\nDownloading libsass-0.23.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (9.4 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.4/9.4 MB 82.5 MB/s  0:00:00\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 26.9 MB/s  0:00:00\nDownloading openstacksdk-4.17.0-py3-none-any.whl (2.0 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.0/2.0 MB 73.6 MB/s  0:00:00\nDownloading cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl (4.0 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.0/4.0 MB 70.9 MB/s  0:00:00\nDownloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (219 kB)\nDownloading decorator-5.3.1-py3-none-any.whl (10 kB)\nDownloading dogpile_cache-1.5.0-py3-none-any.whl (64 kB)\nDownloading jmespath-1.1.0-py3-none-any.whl (20 kB)\nDownloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB)\nDownloading jsonpointer-3.1.1-py3-none-any.whl (7.7 kB)\nDownloading os_service_types-1.8.2-py3-none-any.whl (24 kB)\nDownloading osc_lib-4.7.0-py3-none-any.whl (97 kB)\nDownloading oslo_concurrency-7.6.1-py3-none-any.whl (49 kB)\nDownloading fasteners-0.20-py3-none-any.whl (18 kB)\nDownloading oslo_config-10.5.0-py3-none-any.whl (137 kB)\nDownloading oslo_context-6.5.0-py3-none-any.whl (20 kB)\nDownloading oslo_i18n-6.9.0-py3-none-any.whl (47 kB)\nDownloading oslo_policy-6.0.0-py3-none-any.whl (89 kB)\nDownloading oslo_serialization-5.11.0-py3-none-any.whl (27 kB)\nDownloading msgpack-1.2.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (419 kB)\nDownloading oslo_upgradecheck-2.8.0-py3-none-any.whl (14 kB)\nDownloading osprofiler-4.4.0-py3-none-any.whl (95 kB)\nUsing cached packaging-26.2-py3-none-any.whl (100 kB)\nDownloading pillow-12.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.1 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.1/7.1 MB 79.4 MB/s  0:00:00\nDownloading platformdirs-4.10.0-py3-none-any.whl (22 kB)\nDownloading prettytable-3.18.0-py3-none-any.whl (37 kB)\nDownloading prompt_toolkit-3.0.52-py3-none-any.whl (391 kB)\nDownloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 kB)\nDownloading pyparsing-3.3.2-py3-none-any.whl (122 kB)\nDownloading pyperclip-1.11.0-py3-none-any.whl (11 kB)\nDownloading python_cinderclient-9.9.0-py3-none-any.whl (256 kB)\nDownloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)\nDownloading python_glanceclient-4.12.0-py3-none-any.whl (202 kB)\nDownloading pyOpenSSL-24.2.1-py3-none-any.whl (58 kB)\nDownloading python_keystoneclient-5.8.0-py3-none-any.whl (397 kB)\nDownloading python_novaclient-18.13.0-py3-none-any.whl (336 kB)\nDownloading python_swiftclient-4.10.0-py3-none-any.whl (88 kB)\nDownloading qrcode-8.2-py3-none-any.whl (45 kB)\nDownloading rcssmin-1.2.2-cp312-cp312-manylinux1_x86_64.whl (49 kB)\nDownloading requests-2.34.2-py3-none-any.whl (73 kB)\nDownloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (216 kB)\nDownloading idna-3.18-py3-none-any.whl (65 kB)\nDownloading urllib3-2.7.0-py3-none-any.whl (131 kB)\nDownloading certifi-2026.7.22-py3-none-any.whl (136 kB)\nDownloading rfc3986-2.0.0-py2.py3-none-any.whl (31 kB)\nDownloading rich-15.0.0-py3-none-any.whl (310 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 66.9 MB/s  0:00:00\nDownloading markdown_it_py-4.2.0-py3-none-any.whl (91 kB)\nDownloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\nDownloading rich_argparse-1.8.0-py3-none-any.whl (25 kB)\nDownloading rjsmin-1.2.5-cp312-cp312-manylinux1_x86_64.whl (31 kB)\nDownloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)\nDownloading six-1.17.0-py2.py3-none-any.whl (11 kB)\nDownloading sqlparse-0.5.5-py3-none-any.whl (46 kB)\nDownloading stevedore-5.9.0-py3-none-any.whl (54 kB)\nDownloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)\nDownloading warlock-2.1.0-py3-none-any.whl (10 kB)\nDownloading jsonschema-4.26.0-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 referencing-0.37.0-py3-none-any.whl (26 kB)\nDownloading rpds_py-2026.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (376 kB)\nDownloading wcwidth-0.8.1-py3-none-any.whl (323 kB)\nDownloading webob-1.8.10-py2.py3-none-any.whl (115 kB)\nDownloading wrapt-2.2.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (169 kB)\nDownloading XStatic-1.0.3-py3-none-any.whl (4.4 kB)\nDownloading xstatic_angular-1.8.2.3-py2.py3-none-any.whl (495 kB)\nDownloading xstatic_angular_bootstrap-2.5.0.1-py2.py3-none-any.whl (60 kB)\nDownloading xstatic_angular_fileupload-12.2.13.2-py2.py3-none-any.whl (194 kB)\nDownloading xstatic_angular_gettext-2.4.1.1-py2.py3-none-any.whl (11 kB)\nDownloading xstatic_angular_lrdragndrop-1.0.2.7-py3-none-any.whl (5.7 kB)\nDownloading xstatic_angular_schema_form-0.8.13.1-py3-none-any.whl (45 kB)\nDownloading xstatic_bootstrap_datepicker-1.4.0.1-py3-none-any.whl (66 kB)\nDownloading xstatic_bootstrap_scss-3.4.1.1-py2.py3-none-any.whl (249 kB)\nDownloading xstatic_bootswatch-3.3.7.1-py2.py3-none-any.whl (1.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 1.6/1.6 MB 37.0 MB/s  0:00:00\nDownloading xstatic_d3-3.5.17.1-py2.py3-none-any.whl (76 kB)\nDownloading xstatic_font_awesome-6.2.1.2-py3-none-any.whl (6.4 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 6.4/6.4 MB 100.1 MB/s  0:00:00\nDownloading xstatic_hogan-2.0.0.5-py3-none-any.whl (7.1 kB)\nDownloading xstatic_jasmine-2.4.1.3-py2.py3-none-any.whl (41 kB)\nDownloading xstatic_jquery-3.7.1.1-py3-none-any.whl (306 kB)\nDownloading xstatic_jquery_migrate-3.3.2.2-py3-none-any.whl (15 kB)\nDownloading xstatic_jquery_quicksearch-2.0.3.3-py3-none-any.whl (7.5 kB)\nDownloading xstatic_jquery_tablesorter-2.14.5.3-py3-none-any.whl (19 kB)\nDownloading xstatic_jquery_ui-1.13.0.2-py3-none-any.whl (1.8 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.8/1.8 MB 36.6 MB/s  0:00:00\nDownloading xstatic_jsencrypt-2.3.1.2-py2.py3-none-any.whl (34 kB)\nDownloading xstatic_mdi-1.6.50.3-py2.py3-none-any.whl (785 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 785.4/785.4 kB 47.8 MB/s  0:00:00\nDownloading xstatic_objectpath-1.2.1.1-py3-none-any.whl (4.7 kB)\nDownloading xstatic_rickshaw-1.5.1.3-py3-none-any.whl (28 kB)\nDownloading xstatic_roboto_fontface-0.8.0.1-py2.py3-none-any.whl (6.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 6.3/6.3 MB 90.5 MB/s  0:00:00\nDownloading xstatic_smart_table-1.4.13.3-py2.py3-none-any.whl (13 kB)\nDownloading XStatic_Spin-1.2.5.3-py3-none-any.whl (5.9 kB)\nDownloading xstatic_term_js-0.0.7.1-py3-none-any.whl (38 kB)\nDownloading xstatic_tv4-1.2.7.1-py3-none-any.whl (24 kB)\nDownloading pycparser-3.0-py3-none-any.whl (48 kB)\nDownloading setuptools-83.0.0-py3-none-any.whl (1.0 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.0/1.0 MB 53.7 MB/s  0:00:00\nInstalling collected packages: XStatic-tv4, XStatic-term.js, XStatic-Spin, XStatic-smart-table, XStatic-roboto-fontface, XStatic-Rickshaw, XStatic-objectpath, XStatic-mdi, XStatic-JSEncrypt, XStatic-JQuery.TableSorter, XStatic-JQuery.quicksearch, XStatic-JQuery-Migrate, XStatic-jQuery, XStatic-Jasmine, XStatic-Hogan, XStatic-Font-Awesome, XStatic-D3, XStatic-bootswatch, XStatic-Bootstrap-SCSS, XStatic-Bootstrap-Datepicker, XStatic-Angular-Schema-Form, XStatic-Angular-lrdragndrop, XStatic-Angular-Gettext, XStatic-Angular-FileUpload, XStatic-Angular-Bootstrap, XStatic-Angular, XStatic, rjsmin, rcssmin, pyperclip, XStatic-jquery-ui, wrapt, WebOb, wcwidth, urllib3, typing-extensions, testtools, testscenarios, stevedore, sqlparse, six, setuptools, semantic-version, rpds-py, rfc3986, qrcode, PyYAML, pyparsing, pygments, pyflakes, pycparser, pycodestyle, psutil, platformdirs, Pillow, packaging, netaddr, msgpack, mdurl, mccabe, libsass, jsonpointer, jmespath, iso8601, idna, greenlet, fixtures, fasteners, django-debreach, decorator, coverage, charset_normalizer, certifi, Babel, autopage, attrs, asgiref, requests, referencing, python-dateutil, pyee, prompt-toolkit, PrettyTable, pbr, oslotest, markdown-it-py, jsonpatch, flake8, dogpile.cache, Django, debtcollector, cffi, rich, python-swiftclient, playwright, oslo.i18n, oslo.context, os-service-types, jsonschema-specifications, hacking, futurist, django-appconf, cryptography, rich-argparse, pyOpenSSL, oslo.utils, oslo.config, keystoneauth1, jsonschema, django-compressor, warlock, python-cinderclient, oslo.serialization, oslo.concurrency, openstacksdk, cmd2, python-novaclient, python-keystoneclient, python-glanceclient, osprofiler, oslo.policy, oslo.log, cliff, oslo.upgradecheck, osc-lib, python-watcherclient, horizon\n\nSuccessfully installed Babel-2.18.0 Django-5.2.15 Pillow-12.2.0 PrettyTable-3.18.0 PyYAML-6.0.3 WebOb-1.8.10 XStatic-1.0.3 XStatic-Angular-1.8.2.3 XStatic-Angular-Bootstrap-2.5.0.1 XStatic-Angular-FileUpload-12.2.13.2 XStatic-Angular-Gettext-2.4.1.1 XStatic-Angular-Schema-Form-0.8.13.1 XStatic-Angular-lrdragndrop-1.0.2.7 XStatic-Bootstrap-Datepicker-1.4.0.1 XStatic-Bootstrap-SCSS-3.4.1.1 XStatic-D3-3.5.17.1 XStatic-Font-Awesome-6.2.1.2 XStatic-Hogan-2.0.0.5 XStatic-JQuery-Migrate-3.3.2.2 XStatic-JQuery.TableSorter-2.14.5.3 XStatic-JQuery.quicksearch-2.0.3.3 XStatic-JSEncrypt-2.3.1.2 XStatic-Jasmine-2.4.1.3 XStatic-Rickshaw-1.5.1.3 XStatic-Spin-1.2.5.3 XStatic-bootswatch-3.3.7.1 XStatic-jQuery-3.7.1.1 XStatic-jquery-ui-1.13.0.2 XStatic-mdi-1.6.50.3 XStatic-objectpath-1.2.1.1 XStatic-roboto-fontface-0.8.0.1 XStatic-smart-table-1.4.13.3 XStatic-term.js-0.0.7.1 XStatic-tv4-1.2.7.1 asgiref-3.11.1 attrs-26.1.0 autopage-0.6.0 certifi-2026.7.22 cffi-2.0.0 charset_normalizer-3.4.7 cliff-4.15.0 cmd2-4.0.0 coverage-7.14.3 cryptography-43.0.3 debtcollector-3.1.0 decorator-5.3.1 django-appconf-1.2.0 django-compressor-4.6.0 django-debreach-2.1.0 dogpile.cache-1.5.0 fasteners-0.20 fixtures-4.3.2 flake8-7.1.2 futurist-3.4.0 greenlet-3.5.3 hacking-7.0.0 horizon-26.0.0 idna-3.18 iso8601-2.1.0 jmespath-1.1.0 jsonpatch-1.33 jsonpointer-3.1.1 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 keystoneauth1-5.15.0 libsass-0.23.0 markdown-it-py-4.2.0 mccabe-0.7.0 mdurl-0.1.2 msgpack-1.2.1 netaddr-1.3.0 openstacksdk-4.17.0 os-service-types-1.8.2 osc-lib-4.7.0 oslo.concurrency-7.6.1 oslo.config-10.5.0 oslo.context-6.5.0 oslo.i18n-6.9.0 oslo.log-8.3.0 oslo.policy-6.0.0 oslo.serialization-5.11.0 oslo.upgradecheck-2.8.0 oslo.utils-10.1.1 oslotest-6.1.1 osprofiler-4.4.0 packaging-26.2 pbr-7.0.3 platformdirs-4.10.0 playwright-1.60.0 prompt-toolkit-3.0.52 psutil-7.2.2 pyOpenSSL-24.2.1 pycodestyle-2.12.1 pycparser-3.0 pyee-13.0.1 pyflakes-3.2.0 pygments-2.20.0 pyparsing-3.3.2 pyperclip-1.11.0 python-cinderclient-9.9.0 python-dateutil-2.9.0.post0 python-glanceclient-4.12.0 python-keystoneclient-5.8.0 python-novaclient-18.13.0 python-swiftclient-4.10.0 python-watcherclient-4.10.0 qrcode-8.2 rcssmin-1.2.2 referencing-0.37.0 requests-2.34.2 rfc3986-2.0.0 rich-15.0.0 rich-argparse-1.8.0 rjsmin-1.2.5 rpds-py-2026.5.1 semantic-version-2.10.0 setuptools-83.0.0 six-1.17.0 sqlparse-0.5.5 stevedore-5.9.0 testscenarios-0.6.2 testtools-2.9.1 typing-extensions-4.15.0 urllib3-2.7.0 warlock-2.1.0 wcwidth-0.8.1 wrapt-2.2.2\ntranslations: 29386 I exit 0 (28.61 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt -c /home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt pid=1741 [tox/execute/api.py:308]\n.pkg: 29390 I create virtual environment via CPython3Posix(dest=/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]\n.pkg: 29391 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/bin [virtualenv/util/path/_sync.py:18]\n.pkg: 29391 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/include [virtualenv/util/path/_sync.py:18]\n.pkg: 29391 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:18]\n.pkg: 29391 D write /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]\n.pkg: 29392 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \tversion_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \tversion = 3.12.3 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \texecutable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \tvirtualenv = 21.7.0 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D \tbase-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29392 D symlink /usr/bin/python3.12 to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/bin/python [virtualenv/util/path/_sync.py:38]\n.pkg: 29393 D ============================== target debug ============================== [virtualenv/run/session.py:79]\n.pkg: 29393 D debug via /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/bin/python /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:265]\n.pkg: 29393 D {\n  \"sys\": {\n    \"executable\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/bin/python\",\n    \"_base_executable\": \"/usr/bin/python3.12\",\n    \"prefix\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg\",\n    \"base_prefix\": \"/usr\",\n    \"exec_prefix\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg\",\n    \"base_exec_prefix\": \"/usr\",\n    \"path\": [\n      \"/usr/lib/python312.zip\",\n      \"/usr/lib/python3.12\",\n      \"/usr/lib/python3.12/lib-dynload\",\n      \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages\"\n    ],\n    \"meta_path\": [\n      \"<class '_frozen_importlib.BuiltinImporter'>\",\n      \"<class '_frozen_importlib.FrozenImporter'>\",\n      \"<class '_frozen_importlib_external.PathFinder'>\"\n    ],\n    \"fs_encoding\": \"utf-8\",\n    \"io_encoding\": \"utf-8\"\n  },\n  \"version\": \"3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]\",\n  \"makefile_filename\": \"/usr/lib/python3.12/config-3.12-x86_64-linux-gnu/Makefile\",\n  \"os\": \"<module 'os' (frozen)>\",\n  \"site\": \"<module 'site' (frozen)>\",\n  \"datetime\": \"<module 'datetime' from '/usr/lib/python3.12/datetime.py'>\",\n  \"math\": \"<module 'math' (built-in)>\",\n  \"json\": \"<module 'json' from '/usr/lib/python3.12/json/__init__.py'>\"\n} [virtualenv/run/session.py:80]\n.pkg: 29427 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84]\n.pkg: 29428 D install pip from wheel /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/seed/wheels/embed/pip-26.1.2-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]\n.pkg: 29429 D copy /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.virtualenv to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pip-26.1.2.virtualenv [virtualenv/util/path/_sync.py:46]\n.pkg: 29430 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:46]\n.pkg: 29484 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.dist-info to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pip-26.1.2.dist-info [virtualenv/util/path/_sync.py:46]\n.pkg: 29489 D generated console scripts pip3 pip pip-3.12 pip3.12 [virtualenv/seed/embed/via_app_data/pip_install/base.py:69]\n.pkg: 29490 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python, Xonsh [virtualenv/run/session.py:90]\n.pkg: 29492 D write /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]\n.pkg: 29492 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29492 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29492 D \tversion_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29493 D \tversion = 3.12.3 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29493 D \texecutable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29493 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29493 D \tvirtualenv = 21.7.0 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29493 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29493 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29493 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29493 D \tbase-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]\n.pkg: 29496 W install_requires> python -I -m pip install 'pbr>=6.1.1' [tox/tox_env/api.py:485]\nLooking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64\nCollecting pbr>=6.1.1\n  Using cached pbr-7.0.3-py2.py3-none-any.whl.metadata (3.8 kB)\nCollecting setuptools (from pbr>=6.1.1)\n  Using cached setuptools-83.0.0-py3-none-any.whl.metadata (6.6 kB)\nUsing cached pbr-7.0.3-py2.py3-none-any.whl (131 kB)\nUsing cached setuptools-83.0.0-py3-none-any.whl (1.0 MB)\nInstalling collected packages: setuptools, pbr\n\nSuccessfully installed pbr-7.0.3 setuptools-83.0.0\n.pkg: 31584 I exit 0 (2.09 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install 'pbr>=6.1.1' pid=2202 [tox/execute/api.py:308]\n.pkg: 31585 W _optional_hooks> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]\nBackend: run command _optional_hooks with args {}\nBackend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /tmp/pep517__optional_hooks-pl0n6wdg.json\n.pkg: 31741 I exit None (0.15 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2234 [tox/execute/api.py:308]\n.pkg: 31741 W get_requires_for_build_editable> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]\nBackend: run command get_requires_for_build_editable with args {'config_settings': None}\nBackend: Wrote response {'return': ['pbr>=2.0.0']} to /tmp/pep517_get_requires_for_build_editable-nhxuqnv_.json\n.pkg: 31748 I exit None (0.01 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2234 [tox/execute/api.py:308]\n.pkg: 31748 W install_requires_for_build_editable> python -I -m pip install 'pbr>=2.0.0' [tox/tox_env/api.py:485]\nLooking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64\nRequirement already satisfied: pbr>=2.0.0 in ./.tox/.pkg/lib/python3.12/site-packages (7.0.3)\nRequirement already satisfied: setuptools in ./.tox/.pkg/lib/python3.12/site-packages (from pbr>=2.0.0) (83.0.0)\n.pkg: 32195 I exit 0 (0.45 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install 'pbr>=2.0.0' pid=2243 [tox/execute/api.py:308]\n.pkg: 32196 W build_editable> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]\nBackend: run command build_editable with args {'wheel_directory': '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist', 'config_settings': None, 'metadata_directory': None}\n[pbr] Generating ChangeLog\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pbr/setupcfg.py:833: UserWarning: Unknown distribution option: 'tests_require'\n  warnings.warn(msg)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated\n!!\n\n        ********************************************************************************\n        Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).\n\n        By 2027-Feb-18, you need to update your project and remove deprecated calls\n        or your builds will no longer be supported.\n\n        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.\n        ********************************************************************************\n\n!!\n  corresp(dist, value, root_dir)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.\n!!\n\n        ********************************************************************************\n        Please consider removing the following classifiers in favor of a SPDX license expression:\n\n        License :: OSI Approved :: Apache Software License\n\n        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.\n        ********************************************************************************\n\n!!\n  dist._finalize_license_expression()\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.\n!!\n\n        ********************************************************************************\n        Please consider removing the following classifiers in favor of a SPDX license expression:\n\n        License :: OSI Approved :: Apache Software License\n\n        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.\n        ********************************************************************************\n\n!!\n  self._finalize_license_expression()\nrunning editable_wheel\ncreating /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info\nwriting /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/PKG-INFO\nwriting dependency_links to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/dependency_links.txt\nwriting requirements to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/requires.txt\nwriting top-level names to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/top_level.txt\nwriting pbr to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/pbr.json\n[pbr] Processing SOURCES.txt\nwriting manifest file '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/SOURCES.txt'\n[pbr] In git context, generating filelist from git\nwarning: no files found matching 'AUTHORS'\nwarning: no files found matching 'ChangeLog'\nwarning: no previously-included files matching '*.pyc' found anywhere in distribution\nadding license file 'LICENSE'\nwriting manifest file '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/SOURCES.txt'\ncreating '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard-15.1.0.dev32.dist-info'\ncreating /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard-15.1.0.dev32.dist-info/WHEEL\nrunning build_py\nrunning egg_info\ncreating /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info\nwriting /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/PKG-INFO\nwriting dependency_links to /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/dependency_links.txt\nwriting requirements to /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/requires.txt\nwriting top-level names to /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/top_level.txt\nwriting pbr to /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/pbr.json\n[pbr] Processing SOURCES.txt\nwriting manifest file '/tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/SOURCES.txt'\n[pbr] In git context, generating filelist from git\nwarning: no files found matching 'AUTHORS'\nwarning: no files found matching 'ChangeLog'\nwarning: no previously-included files matching '*.pyc' found anywhere in distribution\nadding license file 'LICENSE'\nwriting manifest file '/tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/SOURCES.txt'\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.api' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.api' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.api' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.api' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.api' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.common' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.common' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.common' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.common' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.common' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.conf' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.conf' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.conf' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.conf' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.conf' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.action_plans' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.action_plans' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.action_plans' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.action_plans' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.action_plans' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.actions' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.actions' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.actions' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.actions' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.actions' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.audit_templates' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.audit_templates' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.audit_templates' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.audit_templates' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.audit_templates' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.audits' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.audits' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.audits' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.audits' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.audits' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.goals' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.goals' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.goals' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.goals' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.goals' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.strategies' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.strategies' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.strategies' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.strategies' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.strategies' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.local' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.local' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.local' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.local' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.local' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.local.enabled' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.local.enabled' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.local.enabled' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.local.enabled' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.local.enabled' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.locale' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.locale' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.locale' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.locale' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.locale' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.images' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.static.infra_optim.images' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.static.infra_optim.images' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.static.infra_optim.images' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.static.infra_optim.images' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.scss' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.static.infra_optim.scss' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.static.infra_optim.scss' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.static.infra_optim.scss' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.static.infra_optim.scss' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.tests' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.static.infra_optim.tests' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.static.infra_optim.tests' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.static.infra_optim.tests' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.static.infra_optim.tests' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.client_side' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.client_side' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.client_side' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.client_side' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.client_side' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.formset_table' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.formset_table' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.formset_table' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.formset_table' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.formset_table' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.horizon.common' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.horizon.common' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.horizon.common' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.horizon.common' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.horizon.common' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.action_plans' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.action_plans' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.action_plans' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.action_plans' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.action_plans' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.actions' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.actions' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.actions' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.actions' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.actions' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.actions_history' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.actions_history' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.actions_history' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.actions_history' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.actions_history' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.audit_templates' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.audit_templates' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.audit_templates' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.audit_templates' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.audit_templates' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.audits' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.audits' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.audits' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.audits' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.audits' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.goals' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.goals' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.goals' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.goals' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.goals' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.logs' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.logs' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.logs' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.logs' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.logs' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.strategies' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.strategies' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.strategies' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.strategies' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.strategies' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templatetags' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templatetags' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templatetags' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templatetags' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templatetags' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.test.integration' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.test.integration' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.test.integration' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.test.integration' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.test.integration' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.local_fixtures' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests.local_fixtures' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests.local_fixtures' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests.local_fixtures' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests.local_fixtures' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.test_data' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests.test_data' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests.test_data' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests.test_data' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests.test_data' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.unit' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests.unit' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests.unit' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests.unit' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests.unit' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.unit.api' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests.unit.api' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests.unit.api' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests.unit.api' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests.unit.api' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.utils' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.utils' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.utils' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.utils' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.utils' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\nEditable install will be performed using a meta path finder.\n\nOptions like `package-data`, `include/exclude-package-data` or\n`packages.find.exclude/include` may have no effect.\n\nadding '__editable___watcher_dashboard_15_1_0_dev32_finder.py'\nadding '__editable__.watcher_dashboard-15.1.0.dev32.pth'\ncreating '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl' and adding '/tmp/tmpw916m2a6watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl' to it\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/licenses/LICENSE'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/METADATA'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/WHEEL'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/pbr.json'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/top_level.txt'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/RECORD'\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/editable_wheel.py:352: InformationOnly: Editable installation.\n!!\n\n        ********************************************************************************\n        Please be careful with folders in your working directory with the same\n        name as your package as they may take precedence during imports.\n        ********************************************************************************\n\n!!\n  with strategy, WheelFile(wheel_path, \"w\") as wheel_obj:\nBackend: Wrote response {'return': 'watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl'} to /tmp/pep517_build_editable-0m1u7t6q.json\n.pkg: 33869 I exit None (1.67 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2234 [tox/execute/api.py:308]\n.pkg: 33875 D package .tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl copied to .pkg/dist/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl (/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox) [tox/util/file_view.py:33]\ntranslations: 33876 W install_package_deps> python -I -m pip install 'PyYAML>=3.12' 'horizon>=18.2.0' 'oslo.utils>=8.0.0' 'pbr!=2.1.0,>=2.0.0' 'python-watcherclient>=4.9.0' -c /home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt [tox/tox_env/api.py:485]\nLooking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64\nRequirement already satisfied: PyYAML>=3.12 in ./.tox/translations/lib/python3.12/site-packages (6.0.3)\nRequirement already satisfied: horizon>=18.2.0 in ./.tox/translations/lib/python3.12/site-packages (26.0.0)\nRequirement already satisfied: oslo.utils>=8.0.0 in ./.tox/translations/lib/python3.12/site-packages (10.1.1)\nRequirement already satisfied: pbr!=2.1.0,>=2.0.0 in ./.tox/translations/lib/python3.12/site-packages (7.0.3)\nRequirement already satisfied: python-watcherclient>=4.9.0 in ./.tox/translations/lib/python3.12/site-packages (4.10.0)\nRequirement already satisfied: Babel>=2.6.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.18.0)\nRequirement already satisfied: Django>=4.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (5.2.15)\nRequirement already satisfied: django-compressor>=4.4 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.6.0)\nRequirement already satisfied: django-debreach>=1.4.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.1.0)\nRequirement already satisfied: futurist>=1.2.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.4.0)\nRequirement already satisfied: iso8601>=0.1.11 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.1.0)\nRequirement already satisfied: keystoneauth1>=4.3.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (5.15.0)\nRequirement already satisfied: netaddr>=0.7.18 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.3.0)\nRequirement already satisfied: openstacksdk>=4.5.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.17.0)\nRequirement already satisfied: oslo.concurrency>=4.5.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (7.6.1)\nRequirement already satisfied: oslo.config>=8.8.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (10.5.0)\nRequirement already satisfied: oslo.i18n>=5.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (6.9.0)\nRequirement already satisfied: oslo.policy>=3.11.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (6.0.0)\nRequirement already satisfied: oslo.serialization>=4.3.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (5.11.0)\nRequirement already satisfied: oslo.upgradecheck>=1.5.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.8.0)\nRequirement already satisfied: osprofiler>=3.4.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.4.0)\nRequirement already satisfied: libsass>=0.23.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (0.23.0)\nRequirement already satisfied: Pillow>=9.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (12.2.0)\nRequirement already satisfied: python-cinderclient>=8.0.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (9.9.0)\nRequirement already satisfied: python-glanceclient>=2.8.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.12.0)\nRequirement already satisfied: python-keystoneclient>=3.22.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (5.8.0)\nRequirement already satisfied: python-novaclient>=9.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (18.13.0)\nRequirement already satisfied: python-swiftclient>=3.2.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.10.0)\nRequirement already satisfied: qrcode>=8.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (8.2)\nRequirement already satisfied: requests>=2.25.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.34.2)\nRequirement already satisfied: semantic-version>=2.3.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.10.0)\nRequirement already satisfied: XStatic>=1.0.3 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.0.3)\nRequirement already satisfied: XStatic-Angular>=1.8.2.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.8.2.3)\nRequirement already satisfied: XStatic-Angular-Bootstrap>=2.2.0.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.5.0.1)\nRequirement already satisfied: XStatic-Angular-FileUpload>=12.0.4.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (12.2.13.2)\nRequirement already satisfied: XStatic-Angular-Gettext>=2.3.8.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.4.1.1)\nRequirement already satisfied: XStatic-Angular-lrdragndrop>=1.0.2.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.0.2.7)\nRequirement already satisfied: XStatic-Angular-Schema-Form>=0.8.13.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (0.8.13.1)\nRequirement already satisfied: XStatic-Bootstrap-Datepicker>=1.3.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.4.0.1)\nRequirement already satisfied: XStatic-Bootstrap-SCSS>=3.3.7.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.4.1.1)\nRequirement already satisfied: XStatic-bootswatch>=3.3.7.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.3.7.1)\nRequirement already satisfied: XStatic-D3>=3.5.17.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.5.17.1)\nRequirement already satisfied: XStatic-Hogan>=2.0.0.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.0.0.5)\nRequirement already satisfied: XStatic-Font-Awesome>=6.2.1.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (6.2.1.2)\nRequirement already satisfied: XStatic-Jasmine>=2.4.1.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.4.1.3)\nRequirement already satisfied: XStatic-jQuery>=3.5.1.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.7.1.1)\nRequirement already satisfied: XStatic-JQuery-Migrate>=3 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.3.2.2)\nRequirement already satisfied: XStatic-JQuery.quicksearch>=2.0.3.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.0.3.3)\nRequirement already satisfied: XStatic-JQuery.TableSorter>=2.14.5.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.14.5.3)\nRequirement already satisfied: XStatic-jquery-ui>=1.13.0.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.13.0.2)\nRequirement already satisfied: XStatic-JSEncrypt>=2.3.1.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.3.1.2)\nRequirement already satisfied: XStatic-mdi>=1.6.50.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.6.50.3)\nRequirement already satisfied: XStatic-objectpath>=1.2.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.2.1.1)\nRequirement already satisfied: XStatic-Rickshaw>=1.5.0.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.5.1.3)\nRequirement already satisfied: XStatic-roboto-fontface>=0.5.0.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (0.8.0.1)\nRequirement already satisfied: XStatic-smart-table>=1.4.13.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.4.13.3)\nRequirement already satisfied: XStatic-Spin>=1.2.5.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.2.5.3)\nRequirement already satisfied: XStatic-term.js>=0.0.7.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (0.0.7.1)\nRequirement already satisfied: XStatic-tv4>=1.2.7.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.2.7.1)\nRequirement already satisfied: pyparsing>=2.1.0 in ./.tox/translations/lib/python3.12/site-packages (from oslo.utils>=8.0.0) (3.3.2)\nRequirement already satisfied: packaging>=20.4 in ./.tox/translations/lib/python3.12/site-packages (from oslo.utils>=8.0.0) (26.2)\nRequirement already satisfied: psutil>=3.2.2 in ./.tox/translations/lib/python3.12/site-packages (from oslo.utils>=8.0.0) (7.2.2)\nRequirement already satisfied: setuptools in ./.tox/translations/lib/python3.12/site-packages (from pbr!=2.1.0,>=2.0.0) (83.0.0)\nRequirement already satisfied: cliff!=2.9.0,>=2.11.0 in ./.tox/translations/lib/python3.12/site-packages (from python-watcherclient>=4.9.0) (4.15.0)\nRequirement already satisfied: osc-lib>=1.10.0 in ./.tox/translations/lib/python3.12/site-packages (from python-watcherclient>=4.9.0) (4.7.0)\nRequirement already satisfied: autopage>=0.4.0 in ./.tox/translations/lib/python3.12/site-packages (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (0.6.0)\nRequirement already satisfied: cmd2>=3.0.0 in ./.tox/translations/lib/python3.12/site-packages (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (4.0.0)\nRequirement already satisfied: PrettyTable>=0.7.2 in ./.tox/translations/lib/python3.12/site-packages (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (3.18.0)\nRequirement already satisfied: stevedore>=5.6.0 in ./.tox/translations/lib/python3.12/site-packages (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (5.9.0)\nRequirement already satisfied: prompt-toolkit>=3.0.52 in ./.tox/translations/lib/python3.12/site-packages (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (3.0.52)\nRequirement already satisfied: pyperclip>=1.8.2 in ./.tox/translations/lib/python3.12/site-packages (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (1.11.0)\nRequirement already satisfied: rich>=15.0.0 in ./.tox/translations/lib/python3.12/site-packages (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (15.0.0)\nRequirement already satisfied: rich-argparse>=1.7.2 in ./.tox/translations/lib/python3.12/site-packages (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (1.8.0)\nRequirement already satisfied: asgiref>=3.8.1 in ./.tox/translations/lib/python3.12/site-packages (from Django>=4.2->horizon>=18.2.0) (3.11.1)\nRequirement already satisfied: sqlparse>=0.3.1 in ./.tox/translations/lib/python3.12/site-packages (from Django>=4.2->horizon>=18.2.0) (0.5.5)\nRequirement already satisfied: django-appconf>=1.0.3 in ./.tox/translations/lib/python3.12/site-packages (from django-compressor>=4.4->horizon>=18.2.0) (1.2.0)\nRequirement already satisfied: rcssmin>=1.2.1 in ./.tox/translations/lib/python3.12/site-packages (from django-compressor>=4.4->horizon>=18.2.0) (1.2.2)\nRequirement already satisfied: rjsmin>=1.2.4 in ./.tox/translations/lib/python3.12/site-packages (from django-compressor>=4.4->horizon>=18.2.0) (1.2.5)\nRequirement already satisfied: debtcollector>=3.0.0 in ./.tox/translations/lib/python3.12/site-packages (from futurist>=1.2.0->horizon>=18.2.0) (3.1.0)\nRequirement already satisfied: wrapt>=2.1.0 in ./.tox/translations/lib/python3.12/site-packages (from debtcollector>=3.0.0->futurist>=1.2.0->horizon>=18.2.0) (2.2.2)\nRequirement already satisfied: os-service-types>=1.2.0 in ./.tox/translations/lib/python3.12/site-packages (from keystoneauth1>=4.3.1->horizon>=18.2.0) (1.8.2)\nRequirement already satisfied: typing-extensions>=4.12 in ./.tox/translations/lib/python3.12/site-packages (from keystoneauth1>=4.3.1->horizon>=18.2.0) (4.15.0)\nRequirement already satisfied: cryptography>=2.7 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (43.0.3)\nRequirement already satisfied: decorator>=4.4.1 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (5.3.1)\nRequirement already satisfied: dogpile.cache>=0.6.5 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (1.5.0)\nRequirement already satisfied: jmespath>=0.9.0 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (1.1.0)\nRequirement already satisfied: jsonpatch!=1.20,>=1.16 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (1.33)\nRequirement already satisfied: platformdirs>=3 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (4.10.0)\nRequirement already satisfied: cffi>=1.12 in ./.tox/translations/lib/python3.12/site-packages (from cryptography>=2.7->openstacksdk>=4.5.0->horizon>=18.2.0) (2.0.0)\nRequirement already satisfied: pycparser in ./.tox/translations/lib/python3.12/site-packages (from cffi>=1.12->cryptography>=2.7->openstacksdk>=4.5.0->horizon>=18.2.0) (3.0)\nRequirement already satisfied: jsonpointer>=1.9 in ./.tox/translations/lib/python3.12/site-packages (from jsonpatch!=1.20,>=1.16->openstacksdk>=4.5.0->horizon>=18.2.0) (3.1.1)\nRequirement already satisfied: fasteners>=0.7.0 in ./.tox/translations/lib/python3.12/site-packages (from oslo.concurrency>=4.5.0->horizon>=18.2.0) (0.20)\nRequirement already satisfied: rfc3986>=1.2.0 in ./.tox/translations/lib/python3.12/site-packages (from oslo.config>=8.8.0->horizon>=18.2.0) (2.0.0)\nRequirement already satisfied: oslo.context>=2.22.0 in ./.tox/translations/lib/python3.12/site-packages (from oslo.policy>=3.11.0->horizon>=18.2.0) (6.5.0)\nRequirement already satisfied: msgpack>=0.5.2 in ./.tox/translations/lib/python3.12/site-packages (from oslo.serialization>=4.3.0->horizon>=18.2.0) (1.2.1)\nRequirement already satisfied: WebOb>=1.7.1 in ./.tox/translations/lib/python3.12/site-packages (from osprofiler>=3.4.2->horizon>=18.2.0) (1.8.10)\nRequirement already satisfied: wcwidth>=0.3.5 in ./.tox/translations/lib/python3.12/site-packages (from PrettyTable>=0.7.2->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (0.8.1)\nRequirement already satisfied: warlock>=1.2.0 in ./.tox/translations/lib/python3.12/site-packages (from python-glanceclient>=2.8.0->horizon>=18.2.0) (2.1.0)\nRequirement already satisfied: pyOpenSSL>=17.1.0 in ./.tox/translations/lib/python3.12/site-packages (from python-glanceclient>=2.8.0->horizon>=18.2.0) (24.2.1)\nRequirement already satisfied: charset_normalizer<4,>=2 in ./.tox/translations/lib/python3.12/site-packages (from requests>=2.25.1->horizon>=18.2.0) (3.4.7)\nRequirement already satisfied: idna<4,>=2.5 in ./.tox/translations/lib/python3.12/site-packages (from requests>=2.25.1->horizon>=18.2.0) (3.18)\nRequirement already satisfied: urllib3<3,>=1.26 in ./.tox/translations/lib/python3.12/site-packages (from requests>=2.25.1->horizon>=18.2.0) (2.7.0)\nRequirement already satisfied: certifi>=2023.5.7 in ./.tox/translations/lib/python3.12/site-packages (from requests>=2.25.1->horizon>=18.2.0) (2026.7.22)\nRequirement already satisfied: markdown-it-py>=2.2.0 in ./.tox/translations/lib/python3.12/site-packages (from rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (4.2.0)\nRequirement already satisfied: pygments<3.0.0,>=2.13.0 in ./.tox/translations/lib/python3.12/site-packages (from rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (2.20.0)\nRequirement already satisfied: mdurl~=0.1 in ./.tox/translations/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (0.1.2)\nRequirement already satisfied: jsonschema~=4.0 in ./.tox/translations/lib/python3.12/site-packages (from warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (4.26.0)\nRequirement already satisfied: attrs>=22.2.0 in ./.tox/translations/lib/python3.12/site-packages (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (26.1.0)\nRequirement already satisfied: jsonschema-specifications>=2023.03.6 in ./.tox/translations/lib/python3.12/site-packages (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (2025.9.1)\nRequirement already satisfied: referencing>=0.28.4 in ./.tox/translations/lib/python3.12/site-packages (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (0.37.0)\nRequirement already satisfied: rpds-py>=0.25.0 in ./.tox/translations/lib/python3.12/site-packages (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (2026.5.1)\ntranslations: 34868 I exit 0 (0.99 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install 'PyYAML>=3.12' 'horizon>=18.2.0' 'oslo.utils>=8.0.0' 'pbr!=2.1.0,>=2.0.0' 'python-watcherclient>=4.9.0' -c /home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt pid=2352 [tox/execute/api.py:308]\ntranslations: 34869 W install_package> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl [tox/tox_env/api.py:485]\nLooking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64\nProcessing ./.tox/.tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl\nInstalling collected packages: watcher-dashboard\nSuccessfully installed watcher-dashboard-15.1.0.dev32\ntranslations: 35421 I exit 0 (0.55 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl pid=2485 [tox/execute/api.py:308]\n.pkg: 35423 W _exit> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]\nBackend: run command _exit with args {}\nBackend: Wrote response {'return': 0} to /tmp/pep517__exit-2ft9n5j1.json\n.pkg: 35425 I exit None (0.00 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2234 [tox/execute/api.py:308]\n.pkg: 35489 D delete package /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl [tox/tox_env/python/virtual_env/package/pyproject.py:256]\n  translations: OK (35.05 seconds)\n  congratulations :) (35.23 seconds)",
                            "stdout_lines": [
                                "ROOT: 258 D setup logging to DEBUG on pid 1730 [tox/report.py:229]",
                                ".pkg: 282 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 285 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 285 D filesystem is case-sensitive [python_discovery/_compat.py:18]",
                                ".pkg: 289 D get interpreter info via cmd: /usr/bin/python3.12 /home/zuul/.local/tox/lib/python3.12/site-packages/python_discovery/_py_info.py 6f1ed89f5e94ee17463c7ae512efeef4 9ebcd1ed1b408d3e3870d66498e94c10 [python_discovery/_cached_py_info.py:198]",
                                ".pkg: 358 D wrote python info of /usr/bin/python3.12 at /home/zuul/.cache/virtualenv/py_info/5/f0d7a494a3f776233427cb85a7e198c7cf4913b50a203c6febc678cc4f5bf265.json [virtualenv/app_data/via_disk_folder.py:159]",
                                ".pkg: 358 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 358 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 360 D symlink on filesystem does work [virtualenv/info.py:51]",
                                ".pkg: 360 D filesystem is case-sensitive [virtualenv/info.py:28]",
                                ".pkg: 391 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 392 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 392 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 392 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 397 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 398 I find interpreter for spec PythonSpec(major=3, free_threaded=False) [python_discovery/_discovery.py:131]",
                                ".pkg: 398 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 398 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 404 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 405 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 405 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 405 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 410 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 411 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 411 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 411 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 415 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 415 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 415 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 415 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 419 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 419 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 419 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 420 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 423 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 423 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 424 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 424 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 427 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 428 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 428 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 428 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 431 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 432 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 432 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 432 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 436 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 436 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 437 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 437 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                "translations: 442 I create virtual environment via CPython3Posix(dest=/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]",
                                "translations: 442 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/bin [virtualenv/util/path/_sync.py:18]",
                                "translations: 442 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/include [virtualenv/util/path/_sync.py:18]",
                                "translations: 443 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:18]",
                                "translations: 443 D write /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]",
                                "translations: 443 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \tversion_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \tversion = 3.12.3 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \texecutable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \tvirtualenv = 21.7.0 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 443 D \tbase-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 444 D symlink /usr/bin/python3.12 to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/bin/python [virtualenv/util/path/_sync.py:38]",
                                "translations: 444 D ============================== target debug ============================== [virtualenv/run/session.py:79]",
                                "translations: 444 D debug via /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/bin/python /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:265]",
                                "translations: 444 D {",
                                "  \"sys\": {",
                                "    \"executable\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/bin/python\",",
                                "    \"_base_executable\": \"/usr/bin/python3.12\",",
                                "    \"prefix\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations\",",
                                "    \"base_prefix\": \"/usr\",",
                                "    \"exec_prefix\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations\",",
                                "    \"base_exec_prefix\": \"/usr\",",
                                "    \"path\": [",
                                "      \"/usr/lib/python312.zip\",",
                                "      \"/usr/lib/python3.12\",",
                                "      \"/usr/lib/python3.12/lib-dynload\",",
                                "      \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages\"",
                                "    ],",
                                "    \"meta_path\": [",
                                "      \"<class '_frozen_importlib.BuiltinImporter'>\",",
                                "      \"<class '_frozen_importlib.FrozenImporter'>\",",
                                "      \"<class '_frozen_importlib_external.PathFinder'>\"",
                                "    ],",
                                "    \"fs_encoding\": \"utf-8\",",
                                "    \"io_encoding\": \"utf-8\"",
                                "  },",
                                "  \"version\": \"3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]\",",
                                "  \"makefile_filename\": \"/usr/lib/python3.12/config-3.12-x86_64-linux-gnu/Makefile\",",
                                "  \"os\": \"<module 'os' (frozen)>\",",
                                "  \"site\": \"<module 'site' (frozen)>\",",
                                "  \"datetime\": \"<module 'datetime' from '/usr/lib/python3.12/datetime.py'>\",",
                                "  \"math\": \"<module 'math' (built-in)>\",",
                                "  \"json\": \"<module 'json' from '/usr/lib/python3.12/json/__init__.py'>\"",
                                "} [virtualenv/run/session.py:80]",
                                "translations: 477 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84]",
                                "translations: 484 D install pip from wheel /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/seed/wheels/embed/pip-26.1.2-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]",
                                "translations: 485 D build install image for pip-26.1.2-py3-none-any.whl to /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any [virtualenv/seed/embed/via_app_data/pip_install/base.py:81]",
                                "translations: 663 D copy /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.virtualenv to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/pip-26.1.2.virtualenv [virtualenv/util/path/_sync.py:46]",
                                "translations: 664 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:46]",
                                "translations: 716 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.dist-info to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/pip-26.1.2.dist-info [virtualenv/util/path/_sync.py:46]",
                                "translations: 721 D generated console scripts pip3.12 pip pip3 pip-3.12 [virtualenv/seed/embed/via_app_data/pip_install/base.py:69]",
                                "translations: 722 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python, Xonsh [virtualenv/run/session.py:90]",
                                "translations: 729 D write /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]",
                                "translations: 729 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \tversion_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \tversion = 3.12.3 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \texecutable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \tvirtualenv = 21.7.0 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 729 D \tbase-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]",
                                "translations: 770 W install_deps> python -I -m pip install -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt -c /home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt [tox/tox_env/api.py:485]",
                                "Looking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64",
                                "Collecting pbr!=2.1.0,>=2.0.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 4))",
                                "  Downloading pbr-7.0.3-py2.py3-none-any.whl.metadata (3.8 kB)",
                                "Collecting horizon>=18.2.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading horizon-26.0.0-py3-none-any.whl.metadata (5.3 kB)",
                                "Collecting oslo.utils>=8.0.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 8))",
                                "  Downloading oslo_utils-10.1.1-py3-none-any.whl.metadata (2.1 kB)",
                                "Collecting PyYAML>=3.12 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 9))",
                                "  Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)",
                                "Collecting python-watcherclient>=4.9.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading python_watcherclient-4.10.0-py3-none-any.whl.metadata (5.4 kB)",
                                "Collecting hacking<7.1.0,>=7.0.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))",
                                "  Downloading hacking-7.0.0-py3-none-any.whl.metadata (7.1 kB)",
                                "Collecting coverage!=4.4,>=4.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 3))",
                                "  Downloading coverage-7.14.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (8.6 kB)",
                                "Collecting testscenarios>=0.4 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 4))",
                                "  Downloading testscenarios-0.6.2-py3-none-any.whl.metadata (13 kB)",
                                "Collecting testtools>=2.2.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 5))",
                                "  Downloading testtools-2.9.1-py3-none-any.whl.metadata (5.4 kB)",
                                "Collecting oslotest>=3.8.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 6))",
                                "  Downloading oslotest-6.1.1-py3-none-any.whl.metadata (1.8 kB)",
                                "Collecting oslo.log>=3.37.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))",
                                "  Downloading oslo_log-8.3.0-py3-none-any.whl.metadata (2.5 kB)",
                                "Collecting keystoneauth1>=3.4.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 9))",
                                "  Downloading keystoneauth1-5.15.0-py3-none-any.whl.metadata (2.8 kB)",
                                "Collecting playwright>=1.58.0 (from -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 10))",
                                "  Downloading playwright-1.60.0-py3-none-manylinux1_x86_64.whl.metadata (3.5 kB)",
                                "Collecting flake8~=7.1.1 (from hacking<7.1.0,>=7.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))",
                                "  Downloading flake8-7.1.2-py2.py3-none-any.whl.metadata (3.8 kB)",
                                "Collecting mccabe<0.8.0,>=0.7.0 (from flake8~=7.1.1->hacking<7.1.0,>=7.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))",
                                "  Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)",
                                "Collecting pycodestyle<2.13.0,>=2.12.0 (from flake8~=7.1.1->hacking<7.1.0,>=7.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))",
                                "  Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB)",
                                "Collecting pyflakes<3.3.0,>=3.2.0 (from flake8~=7.1.1->hacking<7.1.0,>=7.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 2))",
                                "  Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB)",
                                "Collecting setuptools (from pbr!=2.1.0,>=2.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 4))",
                                "  Downloading setuptools-83.0.0-py3-none-any.whl.metadata (6.6 kB)",
                                "Collecting Babel>=2.6.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading babel-2.18.0-py3-none-any.whl.metadata (2.2 kB)",
                                "Collecting Django>=4.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading django-5.2.15-py3-none-any.whl.metadata (4.1 kB)",
                                "Collecting django-compressor>=4.4 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading django_compressor-4.6.0-py3-none-any.whl.metadata (5.2 kB)",
                                "Collecting django-debreach>=1.4.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading django_debreach-2.1.0-py3-none-any.whl.metadata (3.7 kB)",
                                "Collecting futurist>=1.2.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading futurist-3.4.0-py3-none-any.whl.metadata (2.1 kB)",
                                "Collecting iso8601>=0.1.11 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading iso8601-2.1.0-py3-none-any.whl.metadata (3.7 kB)",
                                "Collecting netaddr>=0.7.18 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading netaddr-1.3.0-py3-none-any.whl.metadata (5.0 kB)",
                                "Collecting openstacksdk>=4.5.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading openstacksdk-4.17.0-py3-none-any.whl.metadata (12 kB)",
                                "Collecting oslo.concurrency>=4.5.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading oslo_concurrency-7.6.1-py3-none-any.whl.metadata (2.2 kB)",
                                "Collecting oslo.config>=8.8.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading oslo_config-10.5.0-py3-none-any.whl.metadata (2.3 kB)",
                                "Collecting oslo.i18n>=5.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading oslo_i18n-6.9.0-py3-none-any.whl.metadata (2.0 kB)",
                                "Collecting oslo.policy>=3.11.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading oslo_policy-6.0.0-py3-none-any.whl.metadata (2.2 kB)",
                                "Collecting oslo.serialization>=4.3.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading oslo_serialization-5.11.0-py3-none-any.whl.metadata (2.1 kB)",
                                "Collecting oslo.upgradecheck>=1.5.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading oslo_upgradecheck-2.8.0-py3-none-any.whl.metadata (1.8 kB)",
                                "Collecting osprofiler>=3.4.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading osprofiler-4.4.0-py3-none-any.whl.metadata (3.1 kB)",
                                "Collecting libsass>=0.23.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading libsass-0.23.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (4.2 kB)",
                                "Collecting Pillow>=9.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading pillow-12.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (8.8 kB)",
                                "Collecting python-cinderclient>=8.0.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading python_cinderclient-9.9.0-py3-none-any.whl.metadata (19 kB)",
                                "Collecting python-glanceclient>=2.8.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading python_glanceclient-4.12.0-py3-none-any.whl.metadata (4.0 kB)",
                                "Collecting python-keystoneclient>=3.22.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading python_keystoneclient-5.8.0-py3-none-any.whl.metadata (3.8 kB)",
                                "Collecting python-novaclient>=9.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading python_novaclient-18.13.0-py3-none-any.whl.metadata (3.2 kB)",
                                "Collecting python-swiftclient>=3.2.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading python_swiftclient-4.10.0-py3-none-any.whl.metadata (3.9 kB)",
                                "Collecting qrcode>=8.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading qrcode-8.2-py3-none-any.whl.metadata (17 kB)",
                                "Collecting requests>=2.25.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)",
                                "Collecting semantic-version>=2.3.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading semantic_version-2.10.0-py2.py3-none-any.whl.metadata (9.7 kB)",
                                "Collecting XStatic>=1.0.3 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading XStatic-1.0.3-py3-none-any.whl.metadata (1.4 kB)",
                                "Collecting XStatic-Angular>=1.8.2.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_angular-1.8.2.3-py2.py3-none-any.whl.metadata (934 bytes)",
                                "Collecting XStatic-Angular-Bootstrap>=2.2.0.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_angular_bootstrap-2.5.0.1-py2.py3-none-any.whl.metadata (1.1 kB)",
                                "Collecting XStatic-Angular-FileUpload>=12.0.4.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_angular_fileupload-12.2.13.2-py2.py3-none-any.whl.metadata (1.1 kB)",
                                "Collecting XStatic-Angular-Gettext>=2.3.8.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_angular_gettext-2.4.1.1-py2.py3-none-any.whl.metadata (999 bytes)",
                                "Collecting XStatic-Angular-lrdragndrop>=1.0.2.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_angular_lrdragndrop-1.0.2.7-py3-none-any.whl.metadata (1.0 kB)",
                                "Collecting XStatic-Angular-Schema-Form>=0.8.13.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_angular_schema_form-0.8.13.1-py3-none-any.whl.metadata (982 bytes)",
                                "Collecting XStatic-Bootstrap-Datepicker>=1.3.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_bootstrap_datepicker-1.4.0.1-py3-none-any.whl.metadata (1.0 kB)",
                                "Collecting XStatic-Bootstrap-SCSS>=3.3.7.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_bootstrap_scss-3.4.1.1-py2.py3-none-any.whl.metadata (940 bytes)",
                                "Collecting XStatic-bootswatch>=3.3.7.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_bootswatch-3.3.7.1-py2.py3-none-any.whl.metadata (953 bytes)",
                                "Collecting XStatic-D3>=3.5.17.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_d3-3.5.17.1-py2.py3-none-any.whl.metadata (862 bytes)",
                                "Collecting XStatic-Hogan>=2.0.0.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_hogan-2.0.0.5-py3-none-any.whl.metadata (904 bytes)",
                                "Collecting XStatic-Font-Awesome>=6.2.1.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_font_awesome-6.2.1.2-py3-none-any.whl.metadata (1.0 kB)",
                                "Collecting XStatic-Jasmine>=2.4.1.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_jasmine-2.4.1.3-py2.py3-none-any.whl.metadata (939 bytes)",
                                "Collecting XStatic-jQuery>=3.5.1.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_jquery-3.7.1.1-py3-none-any.whl.metadata (888 bytes)",
                                "Collecting XStatic-JQuery-Migrate>=3 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_jquery_migrate-3.3.2.2-py3-none-any.whl.metadata (1.4 kB)",
                                "Collecting XStatic-JQuery.quicksearch>=2.0.3.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_jquery_quicksearch-2.0.3.3-py3-none-any.whl.metadata (1.0 kB)",
                                "Collecting XStatic-JQuery.TableSorter>=2.14.5.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_jquery_tablesorter-2.14.5.3-py3-none-any.whl.metadata (1000 bytes)",
                                "Collecting XStatic-jquery-ui>=1.13.0.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_jquery_ui-1.13.0.2-py3-none-any.whl.metadata (965 bytes)",
                                "Collecting XStatic-JSEncrypt>=2.3.1.1 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_jsencrypt-2.3.1.2-py2.py3-none-any.whl.metadata (917 bytes)",
                                "Collecting XStatic-mdi>=1.6.50.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_mdi-1.6.50.3-py2.py3-none-any.whl.metadata (960 bytes)",
                                "Collecting XStatic-objectpath>=1.2.1.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_objectpath-1.2.1.1-py3-none-any.whl.metadata (971 bytes)",
                                "Collecting XStatic-Rickshaw>=1.5.0.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_rickshaw-1.5.1.3-py3-none-any.whl.metadata (929 bytes)",
                                "Collecting XStatic-roboto-fontface>=0.5.0.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_roboto_fontface-0.8.0.1-py2.py3-none-any.whl.metadata (1.0 kB)",
                                "Collecting XStatic-smart-table>=1.4.13.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_smart_table-1.4.13.3-py2.py3-none-any.whl.metadata (1.0 kB)",
                                "Collecting XStatic-Spin>=1.2.5.2 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading XStatic_Spin-1.2.5.3-py3-none-any.whl.metadata (741 bytes)",
                                "Collecting XStatic-term.js>=0.0.7.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_term_js-0.0.7.1-py3-none-any.whl.metadata (1.2 kB)",
                                "Collecting XStatic-tv4>=1.2.7.0 (from horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading xstatic_tv4-1.2.7.1-py3-none-any.whl.metadata (982 bytes)",
                                "Collecting pyparsing>=2.1.0 (from oslo.utils>=8.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 8))",
                                "  Downloading pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB)",
                                "Collecting packaging>=20.4 (from oslo.utils>=8.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 8))",
                                "  Using cached packaging-26.2-py3-none-any.whl.metadata (3.5 kB)",
                                "Collecting psutil>=3.2.2 (from oslo.utils>=8.0.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 8))",
                                "  Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.metadata (22 kB)",
                                "Collecting cliff!=2.9.0,>=2.11.0 (from python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading cliff-4.15.0-py3-none-any.whl.metadata (2.1 kB)",
                                "Collecting osc-lib>=1.10.0 (from python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading osc_lib-4.7.0-py3-none-any.whl.metadata (3.8 kB)",
                                "Collecting fixtures>=3.0.0 (from oslotest>=3.8.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 6))",
                                "  Downloading fixtures-4.3.2-py3-none-any.whl.metadata (22 kB)",
                                "Collecting oslo.context>=2.21.0 (from oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))",
                                "  Downloading oslo_context-6.5.0-py3-none-any.whl.metadata (2.3 kB)",
                                "Collecting python-dateutil>=2.7.0 (from oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))",
                                "  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)",
                                "Collecting debtcollector>=3.0.0 (from oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))",
                                "  Downloading debtcollector-3.1.0-py3-none-any.whl.metadata (2.6 kB)",
                                "Collecting stevedore>=1.20.0 (from keystoneauth1>=3.4.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 9))",
                                "  Downloading stevedore-5.9.0-py3-none-any.whl.metadata (2.3 kB)",
                                "Collecting os-service-types>=1.2.0 (from keystoneauth1>=3.4.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 9))",
                                "  Downloading os_service_types-1.8.2-py3-none-any.whl.metadata (1.9 kB)",
                                "Collecting typing-extensions>=4.12 (from keystoneauth1>=3.4.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 9))",
                                "  Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)",
                                "Collecting pyee<14,>=13 (from playwright>=1.58.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 10))",
                                "  Downloading pyee-13.0.1-py3-none-any.whl.metadata (3.0 kB)",
                                "Collecting greenlet<4.0.0,>=3.1.1 (from playwright>=1.58.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 10))",
                                "  Downloading greenlet-3.5.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (3.8 kB)",
                                "Collecting autopage>=0.4.0 (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading autopage-0.6.0-py3-none-any.whl.metadata (8.1 kB)",
                                "Collecting cmd2>=3.0.0 (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading cmd2-4.0.0-py3-none-any.whl.metadata (16 kB)",
                                "Collecting PrettyTable>=0.7.2 (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading prettytable-3.18.0-py3-none-any.whl.metadata (37 kB)",
                                "Collecting prompt-toolkit>=3.0.52 (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading prompt_toolkit-3.0.52-py3-none-any.whl.metadata (6.4 kB)",
                                "Collecting pyperclip>=1.8.2 (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading pyperclip-1.11.0-py3-none-any.whl.metadata (2.4 kB)",
                                "Collecting rich>=15.0.0 (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading rich-15.0.0-py3-none-any.whl.metadata (18 kB)",
                                "Collecting rich-argparse>=1.7.2 (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading rich_argparse-1.8.0-py3-none-any.whl.metadata (15 kB)",
                                "Collecting wrapt>=2.1.0 (from debtcollector>=3.0.0->oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))",
                                "  Downloading wrapt-2.2.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (7.4 kB)",
                                "Collecting asgiref>=3.8.1 (from Django>=4.2->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading asgiref-3.11.1-py3-none-any.whl.metadata (9.3 kB)",
                                "Collecting sqlparse>=0.3.1 (from Django>=4.2->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading sqlparse-0.5.5-py3-none-any.whl.metadata (4.7 kB)",
                                "Collecting django-appconf>=1.0.3 (from django-compressor>=4.4->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading django_appconf-1.2.0-py3-none-any.whl.metadata (5.5 kB)",
                                "Collecting rcssmin>=1.2.1 (from django-compressor>=4.4->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading rcssmin-1.2.2-cp312-cp312-manylinux1_x86_64.whl.metadata (4.8 kB)",
                                "Collecting rjsmin>=1.2.4 (from django-compressor>=4.4->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading rjsmin-1.2.5-cp312-cp312-manylinux1_x86_64.whl.metadata (4.6 kB)",
                                "Collecting cryptography>=2.7 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (5.4 kB)",
                                "Collecting decorator>=4.4.1 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading decorator-5.3.1-py3-none-any.whl.metadata (3.9 kB)",
                                "Collecting dogpile.cache>=0.6.5 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading dogpile_cache-1.5.0-py3-none-any.whl.metadata (5.5 kB)",
                                "Collecting jmespath>=0.9.0 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading jmespath-1.1.0-py3-none-any.whl.metadata (7.6 kB)",
                                "Collecting jsonpatch!=1.20,>=1.16 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading jsonpatch-1.33-py2.py3-none-any.whl.metadata (3.0 kB)",
                                "Collecting platformdirs>=3 (from openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading platformdirs-4.10.0-py3-none-any.whl.metadata (5.5 kB)",
                                "Collecting cffi>=1.12 (from cryptography>=2.7->openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB)",
                                "Collecting pycparser (from cffi>=1.12->cryptography>=2.7->openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)",
                                "Collecting jsonpointer>=1.9 (from jsonpatch!=1.20,>=1.16->openstacksdk>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading jsonpointer-3.1.1-py3-none-any.whl.metadata (2.4 kB)",
                                "Collecting fasteners>=0.7.0 (from oslo.concurrency>=4.5.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading fasteners-0.20-py3-none-any.whl.metadata (4.8 kB)",
                                "Collecting rfc3986>=1.2.0 (from oslo.config>=8.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading rfc3986-2.0.0-py2.py3-none-any.whl.metadata (6.6 kB)",
                                "Collecting msgpack>=0.5.2 (from oslo.serialization>=4.3.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading msgpack-1.2.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)",
                                "Collecting WebOb>=1.7.1 (from osprofiler>=3.4.2->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading webob-1.8.10-py2.py3-none-any.whl.metadata (12 kB)",
                                "Collecting wcwidth>=0.3.5 (from PrettyTable>=0.7.2->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading wcwidth-0.8.1-py3-none-any.whl.metadata (43 kB)",
                                "Collecting six>=1.5 (from python-dateutil>=2.7.0->oslo.log>=3.37.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt (line 8))",
                                "  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)",
                                "Collecting warlock>=1.2.0 (from python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading warlock-2.1.0-py3-none-any.whl.metadata (4.0 kB)",
                                "Collecting pyOpenSSL>=17.1.0 (from python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading pyOpenSSL-24.2.1-py3-none-any.whl.metadata (13 kB)",
                                "Collecting charset_normalizer<4,>=2 (from requests>=2.25.1->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading charset_normalizer-3.4.7-cp312-cp312-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.25.1->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB)",
                                "Collecting urllib3<3,>=1.26 (from requests>=2.25.1->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB)",
                                "Collecting certifi>=2023.5.7 (from requests>=2.25.1->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)",
                                "Collecting markdown-it-py>=2.2.0 (from rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading markdown_it_py-4.2.0-py3-none-any.whl.metadata (7.4 kB)",
                                "Collecting pygments<3.0.0,>=2.13.0 (from rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB)",
                                "Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 10))",
                                "  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)",
                                "Collecting jsonschema~=4.0 (from warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading jsonschema-4.26.0-py3-none-any.whl.metadata (7.6 kB)",
                                "Collecting attrs>=22.2.0 (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)",
                                "Collecting jsonschema-specifications>=2023.03.6 (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB)",
                                "Collecting referencing>=0.28.4 (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB)",
                                "Collecting rpds-py>=0.25.0 (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0->-r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt (line 6))",
                                "  Downloading rpds_py-2026.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB)",
                                "Downloading hacking-7.0.0-py3-none-any.whl (40 kB)",
                                "Downloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)",
                                "Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)",
                                "Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)",
                                "Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)",
                                "Downloading pbr-7.0.3-py2.py3-none-any.whl (131 kB)",
                                "Downloading horizon-26.0.0-py3-none-any.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 64.5 MB/s  0:00:00",
                                "Downloading oslo_utils-10.1.1-py3-none-any.whl (154 kB)",
                                "Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 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 807.9/807.9 kB 50.2 MB/s  0:00:00",
                                "Downloading python_watcherclient-4.10.0-py3-none-any.whl (140 kB)",
                                "Downloading coverage-7.14.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (255 kB)",
                                "Downloading testscenarios-0.6.2-py3-none-any.whl (12 kB)",
                                "Downloading testtools-2.9.1-py3-none-any.whl (110 kB)",
                                "Downloading oslotest-6.1.1-py3-none-any.whl (30 kB)",
                                "Downloading oslo_log-8.3.0-py3-none-any.whl (77 kB)",
                                "Downloading keystoneauth1-5.15.0-py3-none-any.whl (342 kB)",
                                "Downloading playwright-1.60.0-py3-none-manylinux1_x86_64.whl (47.5 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 47.5/47.5 MB 134.5 MB/s  0:00:00",
                                "Downloading greenlet-3.5.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (614 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 614.2/614.2 kB 38.1 MB/s  0:00:00",
                                "Downloading pyee-13.0.1-py3-none-any.whl (15 kB)",
                                "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 101.4 MB/s  0:00:00",
                                "Downloading cliff-4.15.0-py3-none-any.whl (86 kB)",
                                "Downloading autopage-0.6.0-py3-none-any.whl (30 kB)",
                                "Downloading cmd2-4.0.0-py3-none-any.whl (180 kB)",
                                "Downloading debtcollector-3.1.0-py3-none-any.whl (24 kB)",
                                "Downloading django-5.2.15-py3-none-any.whl (8.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 8.3/8.3 MB 122.4 MB/s  0:00:00",
                                "Downloading asgiref-3.11.1-py3-none-any.whl (24 kB)",
                                "Downloading django_compressor-4.6.0-py3-none-any.whl (96 kB)",
                                "Downloading django_appconf-1.2.0-py3-none-any.whl (6.5 kB)",
                                "Downloading django_debreach-2.1.0-py3-none-any.whl (7.7 kB)",
                                "Downloading fixtures-4.3.2-py3-none-any.whl (41 kB)",
                                "Downloading futurist-3.4.0-py3-none-any.whl (43 kB)",
                                "Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB)",
                                "Downloading libsass-0.23.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (9.4 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.4/9.4 MB 82.5 MB/s  0:00:00",
                                "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 26.9 MB/s  0:00:00",
                                "Downloading openstacksdk-4.17.0-py3-none-any.whl (2.0 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.0/2.0 MB 73.6 MB/s  0:00:00",
                                "Downloading cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl (4.0 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.0/4.0 MB 70.9 MB/s  0:00:00",
                                "Downloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (219 kB)",
                                "Downloading decorator-5.3.1-py3-none-any.whl (10 kB)",
                                "Downloading dogpile_cache-1.5.0-py3-none-any.whl (64 kB)",
                                "Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)",
                                "Downloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB)",
                                "Downloading jsonpointer-3.1.1-py3-none-any.whl (7.7 kB)",
                                "Downloading os_service_types-1.8.2-py3-none-any.whl (24 kB)",
                                "Downloading osc_lib-4.7.0-py3-none-any.whl (97 kB)",
                                "Downloading oslo_concurrency-7.6.1-py3-none-any.whl (49 kB)",
                                "Downloading fasteners-0.20-py3-none-any.whl (18 kB)",
                                "Downloading oslo_config-10.5.0-py3-none-any.whl (137 kB)",
                                "Downloading oslo_context-6.5.0-py3-none-any.whl (20 kB)",
                                "Downloading oslo_i18n-6.9.0-py3-none-any.whl (47 kB)",
                                "Downloading oslo_policy-6.0.0-py3-none-any.whl (89 kB)",
                                "Downloading oslo_serialization-5.11.0-py3-none-any.whl (27 kB)",
                                "Downloading msgpack-1.2.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (419 kB)",
                                "Downloading oslo_upgradecheck-2.8.0-py3-none-any.whl (14 kB)",
                                "Downloading osprofiler-4.4.0-py3-none-any.whl (95 kB)",
                                "Using cached packaging-26.2-py3-none-any.whl (100 kB)",
                                "Downloading pillow-12.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.1 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.1/7.1 MB 79.4 MB/s  0:00:00",
                                "Downloading platformdirs-4.10.0-py3-none-any.whl (22 kB)",
                                "Downloading prettytable-3.18.0-py3-none-any.whl (37 kB)",
                                "Downloading prompt_toolkit-3.0.52-py3-none-any.whl (391 kB)",
                                "Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 kB)",
                                "Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB)",
                                "Downloading pyperclip-1.11.0-py3-none-any.whl (11 kB)",
                                "Downloading python_cinderclient-9.9.0-py3-none-any.whl (256 kB)",
                                "Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)",
                                "Downloading python_glanceclient-4.12.0-py3-none-any.whl (202 kB)",
                                "Downloading pyOpenSSL-24.2.1-py3-none-any.whl (58 kB)",
                                "Downloading python_keystoneclient-5.8.0-py3-none-any.whl (397 kB)",
                                "Downloading python_novaclient-18.13.0-py3-none-any.whl (336 kB)",
                                "Downloading python_swiftclient-4.10.0-py3-none-any.whl (88 kB)",
                                "Downloading qrcode-8.2-py3-none-any.whl (45 kB)",
                                "Downloading rcssmin-1.2.2-cp312-cp312-manylinux1_x86_64.whl (49 kB)",
                                "Downloading requests-2.34.2-py3-none-any.whl (73 kB)",
                                "Downloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (216 kB)",
                                "Downloading idna-3.18-py3-none-any.whl (65 kB)",
                                "Downloading urllib3-2.7.0-py3-none-any.whl (131 kB)",
                                "Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)",
                                "Downloading rfc3986-2.0.0-py2.py3-none-any.whl (31 kB)",
                                "Downloading rich-15.0.0-py3-none-any.whl (310 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 66.9 MB/s  0:00:00",
                                "Downloading markdown_it_py-4.2.0-py3-none-any.whl (91 kB)",
                                "Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)",
                                "Downloading rich_argparse-1.8.0-py3-none-any.whl (25 kB)",
                                "Downloading rjsmin-1.2.5-cp312-cp312-manylinux1_x86_64.whl (31 kB)",
                                "Downloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)",
                                "Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)",
                                "Downloading sqlparse-0.5.5-py3-none-any.whl (46 kB)",
                                "Downloading stevedore-5.9.0-py3-none-any.whl (54 kB)",
                                "Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)",
                                "Downloading warlock-2.1.0-py3-none-any.whl (10 kB)",
                                "Downloading jsonschema-4.26.0-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 referencing-0.37.0-py3-none-any.whl (26 kB)",
                                "Downloading rpds_py-2026.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (376 kB)",
                                "Downloading wcwidth-0.8.1-py3-none-any.whl (323 kB)",
                                "Downloading webob-1.8.10-py2.py3-none-any.whl (115 kB)",
                                "Downloading wrapt-2.2.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (169 kB)",
                                "Downloading XStatic-1.0.3-py3-none-any.whl (4.4 kB)",
                                "Downloading xstatic_angular-1.8.2.3-py2.py3-none-any.whl (495 kB)",
                                "Downloading xstatic_angular_bootstrap-2.5.0.1-py2.py3-none-any.whl (60 kB)",
                                "Downloading xstatic_angular_fileupload-12.2.13.2-py2.py3-none-any.whl (194 kB)",
                                "Downloading xstatic_angular_gettext-2.4.1.1-py2.py3-none-any.whl (11 kB)",
                                "Downloading xstatic_angular_lrdragndrop-1.0.2.7-py3-none-any.whl (5.7 kB)",
                                "Downloading xstatic_angular_schema_form-0.8.13.1-py3-none-any.whl (45 kB)",
                                "Downloading xstatic_bootstrap_datepicker-1.4.0.1-py3-none-any.whl (66 kB)",
                                "Downloading xstatic_bootstrap_scss-3.4.1.1-py2.py3-none-any.whl (249 kB)",
                                "Downloading xstatic_bootswatch-3.3.7.1-py2.py3-none-any.whl (1.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 1.6/1.6 MB 37.0 MB/s  0:00:00",
                                "Downloading xstatic_d3-3.5.17.1-py2.py3-none-any.whl (76 kB)",
                                "Downloading xstatic_font_awesome-6.2.1.2-py3-none-any.whl (6.4 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 6.4/6.4 MB 100.1 MB/s  0:00:00",
                                "Downloading xstatic_hogan-2.0.0.5-py3-none-any.whl (7.1 kB)",
                                "Downloading xstatic_jasmine-2.4.1.3-py2.py3-none-any.whl (41 kB)",
                                "Downloading xstatic_jquery-3.7.1.1-py3-none-any.whl (306 kB)",
                                "Downloading xstatic_jquery_migrate-3.3.2.2-py3-none-any.whl (15 kB)",
                                "Downloading xstatic_jquery_quicksearch-2.0.3.3-py3-none-any.whl (7.5 kB)",
                                "Downloading xstatic_jquery_tablesorter-2.14.5.3-py3-none-any.whl (19 kB)",
                                "Downloading xstatic_jquery_ui-1.13.0.2-py3-none-any.whl (1.8 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.8/1.8 MB 36.6 MB/s  0:00:00",
                                "Downloading xstatic_jsencrypt-2.3.1.2-py2.py3-none-any.whl (34 kB)",
                                "Downloading xstatic_mdi-1.6.50.3-py2.py3-none-any.whl (785 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 785.4/785.4 kB 47.8 MB/s  0:00:00",
                                "Downloading xstatic_objectpath-1.2.1.1-py3-none-any.whl (4.7 kB)",
                                "Downloading xstatic_rickshaw-1.5.1.3-py3-none-any.whl (28 kB)",
                                "Downloading xstatic_roboto_fontface-0.8.0.1-py2.py3-none-any.whl (6.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 6.3/6.3 MB 90.5 MB/s  0:00:00",
                                "Downloading xstatic_smart_table-1.4.13.3-py2.py3-none-any.whl (13 kB)",
                                "Downloading XStatic_Spin-1.2.5.3-py3-none-any.whl (5.9 kB)",
                                "Downloading xstatic_term_js-0.0.7.1-py3-none-any.whl (38 kB)",
                                "Downloading xstatic_tv4-1.2.7.1-py3-none-any.whl (24 kB)",
                                "Downloading pycparser-3.0-py3-none-any.whl (48 kB)",
                                "Downloading setuptools-83.0.0-py3-none-any.whl (1.0 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.0/1.0 MB 53.7 MB/s  0:00:00",
                                "Installing collected packages: XStatic-tv4, XStatic-term.js, XStatic-Spin, XStatic-smart-table, XStatic-roboto-fontface, XStatic-Rickshaw, XStatic-objectpath, XStatic-mdi, XStatic-JSEncrypt, XStatic-JQuery.TableSorter, XStatic-JQuery.quicksearch, XStatic-JQuery-Migrate, XStatic-jQuery, XStatic-Jasmine, XStatic-Hogan, XStatic-Font-Awesome, XStatic-D3, XStatic-bootswatch, XStatic-Bootstrap-SCSS, XStatic-Bootstrap-Datepicker, XStatic-Angular-Schema-Form, XStatic-Angular-lrdragndrop, XStatic-Angular-Gettext, XStatic-Angular-FileUpload, XStatic-Angular-Bootstrap, XStatic-Angular, XStatic, rjsmin, rcssmin, pyperclip, XStatic-jquery-ui, wrapt, WebOb, wcwidth, urllib3, typing-extensions, testtools, testscenarios, stevedore, sqlparse, six, setuptools, semantic-version, rpds-py, rfc3986, qrcode, PyYAML, pyparsing, pygments, pyflakes, pycparser, pycodestyle, psutil, platformdirs, Pillow, packaging, netaddr, msgpack, mdurl, mccabe, libsass, jsonpointer, jmespath, iso8601, idna, greenlet, fixtures, fasteners, django-debreach, decorator, coverage, charset_normalizer, certifi, Babel, autopage, attrs, asgiref, requests, referencing, python-dateutil, pyee, prompt-toolkit, PrettyTable, pbr, oslotest, markdown-it-py, jsonpatch, flake8, dogpile.cache, Django, debtcollector, cffi, rich, python-swiftclient, playwright, oslo.i18n, oslo.context, os-service-types, jsonschema-specifications, hacking, futurist, django-appconf, cryptography, rich-argparse, pyOpenSSL, oslo.utils, oslo.config, keystoneauth1, jsonschema, django-compressor, warlock, python-cinderclient, oslo.serialization, oslo.concurrency, openstacksdk, cmd2, python-novaclient, python-keystoneclient, python-glanceclient, osprofiler, oslo.policy, oslo.log, cliff, oslo.upgradecheck, osc-lib, python-watcherclient, horizon",
                                "",
                                "Successfully installed Babel-2.18.0 Django-5.2.15 Pillow-12.2.0 PrettyTable-3.18.0 PyYAML-6.0.3 WebOb-1.8.10 XStatic-1.0.3 XStatic-Angular-1.8.2.3 XStatic-Angular-Bootstrap-2.5.0.1 XStatic-Angular-FileUpload-12.2.13.2 XStatic-Angular-Gettext-2.4.1.1 XStatic-Angular-Schema-Form-0.8.13.1 XStatic-Angular-lrdragndrop-1.0.2.7 XStatic-Bootstrap-Datepicker-1.4.0.1 XStatic-Bootstrap-SCSS-3.4.1.1 XStatic-D3-3.5.17.1 XStatic-Font-Awesome-6.2.1.2 XStatic-Hogan-2.0.0.5 XStatic-JQuery-Migrate-3.3.2.2 XStatic-JQuery.TableSorter-2.14.5.3 XStatic-JQuery.quicksearch-2.0.3.3 XStatic-JSEncrypt-2.3.1.2 XStatic-Jasmine-2.4.1.3 XStatic-Rickshaw-1.5.1.3 XStatic-Spin-1.2.5.3 XStatic-bootswatch-3.3.7.1 XStatic-jQuery-3.7.1.1 XStatic-jquery-ui-1.13.0.2 XStatic-mdi-1.6.50.3 XStatic-objectpath-1.2.1.1 XStatic-roboto-fontface-0.8.0.1 XStatic-smart-table-1.4.13.3 XStatic-term.js-0.0.7.1 XStatic-tv4-1.2.7.1 asgiref-3.11.1 attrs-26.1.0 autopage-0.6.0 certifi-2026.7.22 cffi-2.0.0 charset_normalizer-3.4.7 cliff-4.15.0 cmd2-4.0.0 coverage-7.14.3 cryptography-43.0.3 debtcollector-3.1.0 decorator-5.3.1 django-appconf-1.2.0 django-compressor-4.6.0 django-debreach-2.1.0 dogpile.cache-1.5.0 fasteners-0.20 fixtures-4.3.2 flake8-7.1.2 futurist-3.4.0 greenlet-3.5.3 hacking-7.0.0 horizon-26.0.0 idna-3.18 iso8601-2.1.0 jmespath-1.1.0 jsonpatch-1.33 jsonpointer-3.1.1 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 keystoneauth1-5.15.0 libsass-0.23.0 markdown-it-py-4.2.0 mccabe-0.7.0 mdurl-0.1.2 msgpack-1.2.1 netaddr-1.3.0 openstacksdk-4.17.0 os-service-types-1.8.2 osc-lib-4.7.0 oslo.concurrency-7.6.1 oslo.config-10.5.0 oslo.context-6.5.0 oslo.i18n-6.9.0 oslo.log-8.3.0 oslo.policy-6.0.0 oslo.serialization-5.11.0 oslo.upgradecheck-2.8.0 oslo.utils-10.1.1 oslotest-6.1.1 osprofiler-4.4.0 packaging-26.2 pbr-7.0.3 platformdirs-4.10.0 playwright-1.60.0 prompt-toolkit-3.0.52 psutil-7.2.2 pyOpenSSL-24.2.1 pycodestyle-2.12.1 pycparser-3.0 pyee-13.0.1 pyflakes-3.2.0 pygments-2.20.0 pyparsing-3.3.2 pyperclip-1.11.0 python-cinderclient-9.9.0 python-dateutil-2.9.0.post0 python-glanceclient-4.12.0 python-keystoneclient-5.8.0 python-novaclient-18.13.0 python-swiftclient-4.10.0 python-watcherclient-4.10.0 qrcode-8.2 rcssmin-1.2.2 referencing-0.37.0 requests-2.34.2 rfc3986-2.0.0 rich-15.0.0 rich-argparse-1.8.0 rjsmin-1.2.5 rpds-py-2026.5.1 semantic-version-2.10.0 setuptools-83.0.0 six-1.17.0 sqlparse-0.5.5 stevedore-5.9.0 testscenarios-0.6.2 testtools-2.9.1 typing-extensions-4.15.0 urllib3-2.7.0 warlock-2.1.0 wcwidth-0.8.1 wrapt-2.2.2",
                                "translations: 29386 I exit 0 (28.61 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/requirements.txt -r /home/zuul/src/opendev.org/openstack/watcher-dashboard/test-requirements.txt -c /home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt pid=1741 [tox/execute/api.py:308]",
                                ".pkg: 29390 I create virtual environment via CPython3Posix(dest=/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]",
                                ".pkg: 29391 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/bin [virtualenv/util/path/_sync.py:18]",
                                ".pkg: 29391 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/include [virtualenv/util/path/_sync.py:18]",
                                ".pkg: 29391 D create folder /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:18]",
                                ".pkg: 29391 D write /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]",
                                ".pkg: 29392 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \tversion_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \tversion = 3.12.3 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \texecutable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \tvirtualenv = 21.7.0 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D \tbase-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29392 D symlink /usr/bin/python3.12 to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/bin/python [virtualenv/util/path/_sync.py:38]",
                                ".pkg: 29393 D ============================== target debug ============================== [virtualenv/run/session.py:79]",
                                ".pkg: 29393 D debug via /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/bin/python /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:265]",
                                ".pkg: 29393 D {",
                                "  \"sys\": {",
                                "    \"executable\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/bin/python\",",
                                "    \"_base_executable\": \"/usr/bin/python3.12\",",
                                "    \"prefix\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg\",",
                                "    \"base_prefix\": \"/usr\",",
                                "    \"exec_prefix\": \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg\",",
                                "    \"base_exec_prefix\": \"/usr\",",
                                "    \"path\": [",
                                "      \"/usr/lib/python312.zip\",",
                                "      \"/usr/lib/python3.12\",",
                                "      \"/usr/lib/python3.12/lib-dynload\",",
                                "      \"/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages\"",
                                "    ],",
                                "    \"meta_path\": [",
                                "      \"<class '_frozen_importlib.BuiltinImporter'>\",",
                                "      \"<class '_frozen_importlib.FrozenImporter'>\",",
                                "      \"<class '_frozen_importlib_external.PathFinder'>\"",
                                "    ],",
                                "    \"fs_encoding\": \"utf-8\",",
                                "    \"io_encoding\": \"utf-8\"",
                                "  },",
                                "  \"version\": \"3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]\",",
                                "  \"makefile_filename\": \"/usr/lib/python3.12/config-3.12-x86_64-linux-gnu/Makefile\",",
                                "  \"os\": \"<module 'os' (frozen)>\",",
                                "  \"site\": \"<module 'site' (frozen)>\",",
                                "  \"datetime\": \"<module 'datetime' from '/usr/lib/python3.12/datetime.py'>\",",
                                "  \"math\": \"<module 'math' (built-in)>\",",
                                "  \"json\": \"<module 'json' from '/usr/lib/python3.12/json/__init__.py'>\"",
                                "} [virtualenv/run/session.py:80]",
                                ".pkg: 29427 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84]",
                                ".pkg: 29428 D install pip from wheel /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/seed/wheels/embed/pip-26.1.2-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]",
                                ".pkg: 29429 D copy /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.virtualenv to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pip-26.1.2.virtualenv [virtualenv/util/path/_sync.py:46]",
                                ".pkg: 29430 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:46]",
                                ".pkg: 29484 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.dist-info to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pip-26.1.2.dist-info [virtualenv/util/path/_sync.py:46]",
                                ".pkg: 29489 D generated console scripts pip3 pip pip-3.12 pip3.12 [virtualenv/seed/embed/via_app_data/pip_install/base.py:69]",
                                ".pkg: 29490 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python, Xonsh [virtualenv/run/session.py:90]",
                                ".pkg: 29492 D write /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]",
                                ".pkg: 29492 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29492 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29492 D \tversion_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29493 D \tversion = 3.12.3 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29493 D \texecutable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29493 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29493 D \tvirtualenv = 21.7.0 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29493 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29493 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29493 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29493 D \tbase-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51]",
                                ".pkg: 29496 W install_requires> python -I -m pip install 'pbr>=6.1.1' [tox/tox_env/api.py:485]",
                                "Looking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64",
                                "Collecting pbr>=6.1.1",
                                "  Using cached pbr-7.0.3-py2.py3-none-any.whl.metadata (3.8 kB)",
                                "Collecting setuptools (from pbr>=6.1.1)",
                                "  Using cached setuptools-83.0.0-py3-none-any.whl.metadata (6.6 kB)",
                                "Using cached pbr-7.0.3-py2.py3-none-any.whl (131 kB)",
                                "Using cached setuptools-83.0.0-py3-none-any.whl (1.0 MB)",
                                "Installing collected packages: setuptools, pbr",
                                "",
                                "Successfully installed pbr-7.0.3 setuptools-83.0.0",
                                ".pkg: 31584 I exit 0 (2.09 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install 'pbr>=6.1.1' pid=2202 [tox/execute/api.py:308]",
                                ".pkg: 31585 W _optional_hooks> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]",
                                "Backend: run command _optional_hooks with args {}",
                                "Backend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /tmp/pep517__optional_hooks-pl0n6wdg.json",
                                ".pkg: 31741 I exit None (0.15 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2234 [tox/execute/api.py:308]",
                                ".pkg: 31741 W get_requires_for_build_editable> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]",
                                "Backend: run command get_requires_for_build_editable with args {'config_settings': None}",
                                "Backend: Wrote response {'return': ['pbr>=2.0.0']} to /tmp/pep517_get_requires_for_build_editable-nhxuqnv_.json",
                                ".pkg: 31748 I exit None (0.01 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2234 [tox/execute/api.py:308]",
                                ".pkg: 31748 W install_requires_for_build_editable> python -I -m pip install 'pbr>=2.0.0' [tox/tox_env/api.py:485]",
                                "Looking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64",
                                "Requirement already satisfied: pbr>=2.0.0 in ./.tox/.pkg/lib/python3.12/site-packages (7.0.3)",
                                "Requirement already satisfied: setuptools in ./.tox/.pkg/lib/python3.12/site-packages (from pbr>=2.0.0) (83.0.0)",
                                ".pkg: 32195 I exit 0 (0.45 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install 'pbr>=2.0.0' pid=2243 [tox/execute/api.py:308]",
                                ".pkg: 32196 W build_editable> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]",
                                "Backend: run command build_editable with args {'wheel_directory': '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist', 'config_settings': None, 'metadata_directory': None}",
                                "[pbr] Generating ChangeLog",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pbr/setupcfg.py:833: UserWarning: Unknown distribution option: 'tests_require'",
                                "  warnings.warn(msg)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).",
                                "",
                                "        By 2027-Feb-18, you need to update your project and remove deprecated calls",
                                "        or your builds will no longer be supported.",
                                "",
                                "        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  corresp(dist, value, root_dir)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        Please consider removing the following classifiers in favor of a SPDX license expression:",
                                "",
                                "        License :: OSI Approved :: Apache Software License",
                                "",
                                "        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  dist._finalize_license_expression()",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        Please consider removing the following classifiers in favor of a SPDX license expression:",
                                "",
                                "        License :: OSI Approved :: Apache Software License",
                                "",
                                "        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  self._finalize_license_expression()",
                                "running editable_wheel",
                                "creating /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info",
                                "writing /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/PKG-INFO",
                                "writing dependency_links to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/dependency_links.txt",
                                "writing requirements to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/requires.txt",
                                "writing top-level names to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/top_level.txt",
                                "writing pbr to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/pbr.json",
                                "[pbr] Processing SOURCES.txt",
                                "writing manifest file '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/SOURCES.txt'",
                                "[pbr] In git context, generating filelist from git",
                                "warning: no files found matching 'AUTHORS'",
                                "warning: no files found matching 'ChangeLog'",
                                "warning: no previously-included files matching '*.pyc' found anywhere in distribution",
                                "adding license file 'LICENSE'",
                                "writing manifest file '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard.egg-info/SOURCES.txt'",
                                "creating '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard-15.1.0.dev32.dist-info'",
                                "creating /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard-15.1.0.dev32.dist-info/WHEEL",
                                "running build_py",
                                "running egg_info",
                                "creating /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info",
                                "writing /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/PKG-INFO",
                                "writing dependency_links to /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/dependency_links.txt",
                                "writing requirements to /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/requires.txt",
                                "writing top-level names to /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/top_level.txt",
                                "writing pbr to /tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/pbr.json",
                                "[pbr] Processing SOURCES.txt",
                                "writing manifest file '/tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/SOURCES.txt'",
                                "[pbr] In git context, generating filelist from git",
                                "warning: no files found matching 'AUTHORS'",
                                "warning: no files found matching 'ChangeLog'",
                                "warning: no previously-included files matching '*.pyc' found anywhere in distribution",
                                "adding license file 'LICENSE'",
                                "writing manifest file '/tmp/tmp8iol0g3_.build-temp/watcher_dashboard.egg-info/SOURCES.txt'",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.api' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.api' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.api' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.api' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.api' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.common' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.common' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.common' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.common' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.common' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.conf' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.conf' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.conf' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.conf' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.conf' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.action_plans' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.action_plans' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.action_plans' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.action_plans' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.action_plans' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.actions' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.actions' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.actions' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.actions' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.actions' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.audit_templates' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.audit_templates' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.audit_templates' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.audit_templates' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.audit_templates' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.audits' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.audits' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.audits' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.audits' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.audits' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.goals' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.goals' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.goals' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.goals' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.goals' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.strategies' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.strategies' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.strategies' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.strategies' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.strategies' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.local' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.local' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.local' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.local' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.local' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.local.enabled' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.local.enabled' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.local.enabled' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.local.enabled' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.local.enabled' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.locale' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.locale' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.locale' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.locale' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.locale' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.images' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.static.infra_optim.images' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.static.infra_optim.images' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.static.infra_optim.images' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.static.infra_optim.images' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.scss' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.static.infra_optim.scss' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.static.infra_optim.scss' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.static.infra_optim.scss' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.static.infra_optim.scss' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.tests' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.static.infra_optim.tests' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.static.infra_optim.tests' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.static.infra_optim.tests' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.static.infra_optim.tests' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.client_side' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.client_side' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.client_side' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.client_side' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.client_side' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.formset_table' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.formset_table' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.formset_table' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.formset_table' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.formset_table' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.horizon.common' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.horizon.common' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.horizon.common' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.horizon.common' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.horizon.common' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.action_plans' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.action_plans' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.action_plans' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.action_plans' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.action_plans' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.actions' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.actions' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.actions' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.actions' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.actions' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.actions_history' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.actions_history' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.actions_history' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.actions_history' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.actions_history' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.audit_templates' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.audit_templates' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.audit_templates' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.audit_templates' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.audit_templates' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.audits' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.audits' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.audits' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.audits' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.audits' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.goals' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.goals' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.goals' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.goals' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.goals' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.logs' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.logs' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.logs' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.logs' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.logs' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.strategies' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.strategies' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.strategies' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.strategies' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.strategies' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templatetags' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templatetags' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templatetags' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templatetags' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templatetags' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.test.integration' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.test.integration' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.test.integration' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.test.integration' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.test.integration' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.local_fixtures' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests.local_fixtures' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests.local_fixtures' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests.local_fixtures' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests.local_fixtures' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.test_data' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests.test_data' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests.test_data' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests.test_data' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests.test_data' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.unit' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests.unit' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests.unit' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests.unit' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests.unit' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.unit.api' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests.unit.api' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests.unit.api' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests.unit.api' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests.unit.api' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.utils' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.utils' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.utils' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.utils' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.utils' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "Editable install will be performed using a meta path finder.",
                                "",
                                "Options like `package-data`, `include/exclude-package-data` or",
                                "`packages.find.exclude/include` may have no effect.",
                                "",
                                "adding '__editable___watcher_dashboard_15_1_0_dev32_finder.py'",
                                "adding '__editable__.watcher_dashboard-15.1.0.dev32.pth'",
                                "creating '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-b3zgbffr/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl' and adding '/tmp/tmpw916m2a6watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl' to it",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/licenses/LICENSE'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/METADATA'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/WHEEL'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/pbr.json'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/top_level.txt'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/RECORD'",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/editable_wheel.py:352: InformationOnly: Editable installation.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        Please be careful with folders in your working directory with the same",
                                "        name as your package as they may take precedence during imports.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  with strategy, WheelFile(wheel_path, \"w\") as wheel_obj:",
                                "Backend: Wrote response {'return': 'watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl'} to /tmp/pep517_build_editable-0m1u7t6q.json",
                                ".pkg: 33869 I exit None (1.67 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2234 [tox/execute/api.py:308]",
                                ".pkg: 33875 D package .tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl copied to .pkg/dist/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl (/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox) [tox/util/file_view.py:33]",
                                "translations: 33876 W install_package_deps> python -I -m pip install 'PyYAML>=3.12' 'horizon>=18.2.0' 'oslo.utils>=8.0.0' 'pbr!=2.1.0,>=2.0.0' 'python-watcherclient>=4.9.0' -c /home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt [tox/tox_env/api.py:485]",
                                "Looking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64",
                                "Requirement already satisfied: PyYAML>=3.12 in ./.tox/translations/lib/python3.12/site-packages (6.0.3)",
                                "Requirement already satisfied: horizon>=18.2.0 in ./.tox/translations/lib/python3.12/site-packages (26.0.0)",
                                "Requirement already satisfied: oslo.utils>=8.0.0 in ./.tox/translations/lib/python3.12/site-packages (10.1.1)",
                                "Requirement already satisfied: pbr!=2.1.0,>=2.0.0 in ./.tox/translations/lib/python3.12/site-packages (7.0.3)",
                                "Requirement already satisfied: python-watcherclient>=4.9.0 in ./.tox/translations/lib/python3.12/site-packages (4.10.0)",
                                "Requirement already satisfied: Babel>=2.6.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.18.0)",
                                "Requirement already satisfied: Django>=4.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (5.2.15)",
                                "Requirement already satisfied: django-compressor>=4.4 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.6.0)",
                                "Requirement already satisfied: django-debreach>=1.4.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.1.0)",
                                "Requirement already satisfied: futurist>=1.2.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.4.0)",
                                "Requirement already satisfied: iso8601>=0.1.11 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.1.0)",
                                "Requirement already satisfied: keystoneauth1>=4.3.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (5.15.0)",
                                "Requirement already satisfied: netaddr>=0.7.18 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.3.0)",
                                "Requirement already satisfied: openstacksdk>=4.5.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.17.0)",
                                "Requirement already satisfied: oslo.concurrency>=4.5.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (7.6.1)",
                                "Requirement already satisfied: oslo.config>=8.8.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (10.5.0)",
                                "Requirement already satisfied: oslo.i18n>=5.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (6.9.0)",
                                "Requirement already satisfied: oslo.policy>=3.11.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (6.0.0)",
                                "Requirement already satisfied: oslo.serialization>=4.3.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (5.11.0)",
                                "Requirement already satisfied: oslo.upgradecheck>=1.5.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.8.0)",
                                "Requirement already satisfied: osprofiler>=3.4.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.4.0)",
                                "Requirement already satisfied: libsass>=0.23.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (0.23.0)",
                                "Requirement already satisfied: Pillow>=9.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (12.2.0)",
                                "Requirement already satisfied: python-cinderclient>=8.0.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (9.9.0)",
                                "Requirement already satisfied: python-glanceclient>=2.8.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.12.0)",
                                "Requirement already satisfied: python-keystoneclient>=3.22.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (5.8.0)",
                                "Requirement already satisfied: python-novaclient>=9.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (18.13.0)",
                                "Requirement already satisfied: python-swiftclient>=3.2.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (4.10.0)",
                                "Requirement already satisfied: qrcode>=8.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (8.2)",
                                "Requirement already satisfied: requests>=2.25.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.34.2)",
                                "Requirement already satisfied: semantic-version>=2.3.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.10.0)",
                                "Requirement already satisfied: XStatic>=1.0.3 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.0.3)",
                                "Requirement already satisfied: XStatic-Angular>=1.8.2.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.8.2.3)",
                                "Requirement already satisfied: XStatic-Angular-Bootstrap>=2.2.0.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.5.0.1)",
                                "Requirement already satisfied: XStatic-Angular-FileUpload>=12.0.4.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (12.2.13.2)",
                                "Requirement already satisfied: XStatic-Angular-Gettext>=2.3.8.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.4.1.1)",
                                "Requirement already satisfied: XStatic-Angular-lrdragndrop>=1.0.2.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.0.2.7)",
                                "Requirement already satisfied: XStatic-Angular-Schema-Form>=0.8.13.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (0.8.13.1)",
                                "Requirement already satisfied: XStatic-Bootstrap-Datepicker>=1.3.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.4.0.1)",
                                "Requirement already satisfied: XStatic-Bootstrap-SCSS>=3.3.7.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.4.1.1)",
                                "Requirement already satisfied: XStatic-bootswatch>=3.3.7.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.3.7.1)",
                                "Requirement already satisfied: XStatic-D3>=3.5.17.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.5.17.1)",
                                "Requirement already satisfied: XStatic-Hogan>=2.0.0.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.0.0.5)",
                                "Requirement already satisfied: XStatic-Font-Awesome>=6.2.1.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (6.2.1.2)",
                                "Requirement already satisfied: XStatic-Jasmine>=2.4.1.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.4.1.3)",
                                "Requirement already satisfied: XStatic-jQuery>=3.5.1.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.7.1.1)",
                                "Requirement already satisfied: XStatic-JQuery-Migrate>=3 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (3.3.2.2)",
                                "Requirement already satisfied: XStatic-JQuery.quicksearch>=2.0.3.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.0.3.3)",
                                "Requirement already satisfied: XStatic-JQuery.TableSorter>=2.14.5.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.14.5.3)",
                                "Requirement already satisfied: XStatic-jquery-ui>=1.13.0.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.13.0.2)",
                                "Requirement already satisfied: XStatic-JSEncrypt>=2.3.1.1 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (2.3.1.2)",
                                "Requirement already satisfied: XStatic-mdi>=1.6.50.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.6.50.3)",
                                "Requirement already satisfied: XStatic-objectpath>=1.2.1.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.2.1.1)",
                                "Requirement already satisfied: XStatic-Rickshaw>=1.5.0.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.5.1.3)",
                                "Requirement already satisfied: XStatic-roboto-fontface>=0.5.0.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (0.8.0.1)",
                                "Requirement already satisfied: XStatic-smart-table>=1.4.13.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.4.13.3)",
                                "Requirement already satisfied: XStatic-Spin>=1.2.5.2 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.2.5.3)",
                                "Requirement already satisfied: XStatic-term.js>=0.0.7.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (0.0.7.1)",
                                "Requirement already satisfied: XStatic-tv4>=1.2.7.0 in ./.tox/translations/lib/python3.12/site-packages (from horizon>=18.2.0) (1.2.7.1)",
                                "Requirement already satisfied: pyparsing>=2.1.0 in ./.tox/translations/lib/python3.12/site-packages (from oslo.utils>=8.0.0) (3.3.2)",
                                "Requirement already satisfied: packaging>=20.4 in ./.tox/translations/lib/python3.12/site-packages (from oslo.utils>=8.0.0) (26.2)",
                                "Requirement already satisfied: psutil>=3.2.2 in ./.tox/translations/lib/python3.12/site-packages (from oslo.utils>=8.0.0) (7.2.2)",
                                "Requirement already satisfied: setuptools in ./.tox/translations/lib/python3.12/site-packages (from pbr!=2.1.0,>=2.0.0) (83.0.0)",
                                "Requirement already satisfied: cliff!=2.9.0,>=2.11.0 in ./.tox/translations/lib/python3.12/site-packages (from python-watcherclient>=4.9.0) (4.15.0)",
                                "Requirement already satisfied: osc-lib>=1.10.0 in ./.tox/translations/lib/python3.12/site-packages (from python-watcherclient>=4.9.0) (4.7.0)",
                                "Requirement already satisfied: autopage>=0.4.0 in ./.tox/translations/lib/python3.12/site-packages (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (0.6.0)",
                                "Requirement already satisfied: cmd2>=3.0.0 in ./.tox/translations/lib/python3.12/site-packages (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (4.0.0)",
                                "Requirement already satisfied: PrettyTable>=0.7.2 in ./.tox/translations/lib/python3.12/site-packages (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (3.18.0)",
                                "Requirement already satisfied: stevedore>=5.6.0 in ./.tox/translations/lib/python3.12/site-packages (from cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (5.9.0)",
                                "Requirement already satisfied: prompt-toolkit>=3.0.52 in ./.tox/translations/lib/python3.12/site-packages (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (3.0.52)",
                                "Requirement already satisfied: pyperclip>=1.8.2 in ./.tox/translations/lib/python3.12/site-packages (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (1.11.0)",
                                "Requirement already satisfied: rich>=15.0.0 in ./.tox/translations/lib/python3.12/site-packages (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (15.0.0)",
                                "Requirement already satisfied: rich-argparse>=1.7.2 in ./.tox/translations/lib/python3.12/site-packages (from cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (1.8.0)",
                                "Requirement already satisfied: asgiref>=3.8.1 in ./.tox/translations/lib/python3.12/site-packages (from Django>=4.2->horizon>=18.2.0) (3.11.1)",
                                "Requirement already satisfied: sqlparse>=0.3.1 in ./.tox/translations/lib/python3.12/site-packages (from Django>=4.2->horizon>=18.2.0) (0.5.5)",
                                "Requirement already satisfied: django-appconf>=1.0.3 in ./.tox/translations/lib/python3.12/site-packages (from django-compressor>=4.4->horizon>=18.2.0) (1.2.0)",
                                "Requirement already satisfied: rcssmin>=1.2.1 in ./.tox/translations/lib/python3.12/site-packages (from django-compressor>=4.4->horizon>=18.2.0) (1.2.2)",
                                "Requirement already satisfied: rjsmin>=1.2.4 in ./.tox/translations/lib/python3.12/site-packages (from django-compressor>=4.4->horizon>=18.2.0) (1.2.5)",
                                "Requirement already satisfied: debtcollector>=3.0.0 in ./.tox/translations/lib/python3.12/site-packages (from futurist>=1.2.0->horizon>=18.2.0) (3.1.0)",
                                "Requirement already satisfied: wrapt>=2.1.0 in ./.tox/translations/lib/python3.12/site-packages (from debtcollector>=3.0.0->futurist>=1.2.0->horizon>=18.2.0) (2.2.2)",
                                "Requirement already satisfied: os-service-types>=1.2.0 in ./.tox/translations/lib/python3.12/site-packages (from keystoneauth1>=4.3.1->horizon>=18.2.0) (1.8.2)",
                                "Requirement already satisfied: typing-extensions>=4.12 in ./.tox/translations/lib/python3.12/site-packages (from keystoneauth1>=4.3.1->horizon>=18.2.0) (4.15.0)",
                                "Requirement already satisfied: cryptography>=2.7 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (43.0.3)",
                                "Requirement already satisfied: decorator>=4.4.1 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (5.3.1)",
                                "Requirement already satisfied: dogpile.cache>=0.6.5 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (1.5.0)",
                                "Requirement already satisfied: jmespath>=0.9.0 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (1.1.0)",
                                "Requirement already satisfied: jsonpatch!=1.20,>=1.16 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (1.33)",
                                "Requirement already satisfied: platformdirs>=3 in ./.tox/translations/lib/python3.12/site-packages (from openstacksdk>=4.5.0->horizon>=18.2.0) (4.10.0)",
                                "Requirement already satisfied: cffi>=1.12 in ./.tox/translations/lib/python3.12/site-packages (from cryptography>=2.7->openstacksdk>=4.5.0->horizon>=18.2.0) (2.0.0)",
                                "Requirement already satisfied: pycparser in ./.tox/translations/lib/python3.12/site-packages (from cffi>=1.12->cryptography>=2.7->openstacksdk>=4.5.0->horizon>=18.2.0) (3.0)",
                                "Requirement already satisfied: jsonpointer>=1.9 in ./.tox/translations/lib/python3.12/site-packages (from jsonpatch!=1.20,>=1.16->openstacksdk>=4.5.0->horizon>=18.2.0) (3.1.1)",
                                "Requirement already satisfied: fasteners>=0.7.0 in ./.tox/translations/lib/python3.12/site-packages (from oslo.concurrency>=4.5.0->horizon>=18.2.0) (0.20)",
                                "Requirement already satisfied: rfc3986>=1.2.0 in ./.tox/translations/lib/python3.12/site-packages (from oslo.config>=8.8.0->horizon>=18.2.0) (2.0.0)",
                                "Requirement already satisfied: oslo.context>=2.22.0 in ./.tox/translations/lib/python3.12/site-packages (from oslo.policy>=3.11.0->horizon>=18.2.0) (6.5.0)",
                                "Requirement already satisfied: msgpack>=0.5.2 in ./.tox/translations/lib/python3.12/site-packages (from oslo.serialization>=4.3.0->horizon>=18.2.0) (1.2.1)",
                                "Requirement already satisfied: WebOb>=1.7.1 in ./.tox/translations/lib/python3.12/site-packages (from osprofiler>=3.4.2->horizon>=18.2.0) (1.8.10)",
                                "Requirement already satisfied: wcwidth>=0.3.5 in ./.tox/translations/lib/python3.12/site-packages (from PrettyTable>=0.7.2->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (0.8.1)",
                                "Requirement already satisfied: warlock>=1.2.0 in ./.tox/translations/lib/python3.12/site-packages (from python-glanceclient>=2.8.0->horizon>=18.2.0) (2.1.0)",
                                "Requirement already satisfied: pyOpenSSL>=17.1.0 in ./.tox/translations/lib/python3.12/site-packages (from python-glanceclient>=2.8.0->horizon>=18.2.0) (24.2.1)",
                                "Requirement already satisfied: charset_normalizer<4,>=2 in ./.tox/translations/lib/python3.12/site-packages (from requests>=2.25.1->horizon>=18.2.0) (3.4.7)",
                                "Requirement already satisfied: idna<4,>=2.5 in ./.tox/translations/lib/python3.12/site-packages (from requests>=2.25.1->horizon>=18.2.0) (3.18)",
                                "Requirement already satisfied: urllib3<3,>=1.26 in ./.tox/translations/lib/python3.12/site-packages (from requests>=2.25.1->horizon>=18.2.0) (2.7.0)",
                                "Requirement already satisfied: certifi>=2023.5.7 in ./.tox/translations/lib/python3.12/site-packages (from requests>=2.25.1->horizon>=18.2.0) (2026.7.22)",
                                "Requirement already satisfied: markdown-it-py>=2.2.0 in ./.tox/translations/lib/python3.12/site-packages (from rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (4.2.0)",
                                "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in ./.tox/translations/lib/python3.12/site-packages (from rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (2.20.0)",
                                "Requirement already satisfied: mdurl~=0.1 in ./.tox/translations/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich>=15.0.0->cmd2>=3.0.0->cliff!=2.9.0,>=2.11.0->python-watcherclient>=4.9.0) (0.1.2)",
                                "Requirement already satisfied: jsonschema~=4.0 in ./.tox/translations/lib/python3.12/site-packages (from warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (4.26.0)",
                                "Requirement already satisfied: attrs>=22.2.0 in ./.tox/translations/lib/python3.12/site-packages (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (26.1.0)",
                                "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in ./.tox/translations/lib/python3.12/site-packages (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (2025.9.1)",
                                "Requirement already satisfied: referencing>=0.28.4 in ./.tox/translations/lib/python3.12/site-packages (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (0.37.0)",
                                "Requirement already satisfied: rpds-py>=0.25.0 in ./.tox/translations/lib/python3.12/site-packages (from jsonschema~=4.0->warlock>=1.2.0->python-glanceclient>=2.8.0->horizon>=18.2.0) (2026.5.1)",
                                "translations: 34868 I exit 0 (0.99 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install 'PyYAML>=3.12' 'horizon>=18.2.0' 'oslo.utils>=8.0.0' 'pbr!=2.1.0,>=2.0.0' 'python-watcherclient>=4.9.0' -c /home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt pid=2352 [tox/execute/api.py:308]",
                                "translations: 34869 W install_package> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl [tox/tox_env/api.py:485]",
                                "Looking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64",
                                "Processing ./.tox/.tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl",
                                "Installing collected packages: watcher-dashboard",
                                "Successfully installed watcher-dashboard-15.1.0.dev32",
                                "translations: 35421 I exit 0 (0.55 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl pid=2485 [tox/execute/api.py:308]",
                                ".pkg: 35423 W _exit> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]",
                                "Backend: run command _exit with args {}",
                                "Backend: Wrote response {'return': 0} to /tmp/pep517__exit-2ft9n5j1.json",
                                ".pkg: 35425 I exit None (0.00 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2234 [tox/execute/api.py:308]",
                                ".pkg: 35489 D delete package /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/1/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl [tox/tox_env/python/virtual_env/package/pyproject.py:256]",
                                "  translations: OK (35.05 seconds)",
                                "  congratulations :) (35.23 seconds)"
                            ],
                            "zuul_log_id": "bc764e01-f96a-a11b-c47e-000000000053-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:23.959723Z",
                            "start": "2026-07-23T06:10:47.667639Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000053",
                        "name": "Run tox without tests"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "tempfile",
                            "changed": true,
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "path": null,
                                    "prefix": "ansible.",
                                    "state": "file",
                                    "suffix": ""
                                }
                            },
                            "mode": "0600",
                            "owner": "zuul",
                            "path": "/tmp/ansible._1jtl5__",
                            "size": 0,
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:24.589254Z",
                            "start": "2026-07-23T06:11:23.989696Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000054",
                        "name": "Create a tempfile to save tox showconfig"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "--version",
                                "--quiet"
                            ],
                            "delta": "0:00:00.342312",
                            "end": "2026-07-23 06:11:25.340077",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox --version --quiet",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/opendev.org/openstack/watcher-dashboard",
                                    "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": "bc764e01-f96a-a11b-c47e-000000000055-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:11:24.997765",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "4.58.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "4.58.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "bc764e01-f96a-a11b-c47e-000000000055-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:25.803444Z",
                            "start": "2026-07-23T06:11:24.641540Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000055",
                        "name": "Detect tox version"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "/home/zuul/.local/tox/bin/tox   config   -etranslations  > /tmp/ansible._1jtl5__",
                            "delta": "0:00:00.435509",
                            "end": "2026-07-23 06:11:26.759438",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox   config   -etranslations  > /tmp/ansible._1jtl5__",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": "src/opendev.org/openstack/watcher-dashboard",
                                    "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": "bc764e01-f96a-a11b-c47e-000000000056-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:11:26.323929",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "bc764e01-f96a-a11b-c47e-000000000056-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:27.024961Z",
                            "start": "2026-07-23T06:11:25.853898Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000056",
                        "name": "Get tox envlist config"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "tox_install_sibling_packages",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "project_dir": "src/opendev.org/openstack/watcher-dashboard",
                                    "projects": [
                                        {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/requirements",
                                            "checkout": "master",
                                            "checkout_description": "zuul branch",
                                            "commit": "7c466f62332c8ba87b4b139f83fc1882038200a6",
                                            "name": "openstack/requirements",
                                            "required": true,
                                            "short_name": "requirements",
                                            "src_dir": "src/opendev.org/openstack/requirements"
                                        }
                                    ],
                                    "tox_constraints_file": "/home/zuul/src/opendev.org/openstack/requirements/upper-constraints.txt",
                                    "tox_package_name": null,
                                    "tox_show_config": "/tmp/ansible._1jtl5__"
                                }
                            },
                            "msg": "Using envlist: ['translations']\nProcessing siblings for watcher-dashboard from src/opendev.org/openstack/watcher-dashboard\nSibling openstack_requirements at src/opendev.org/openstack/requirements\nFound asgiref python package installed\nFound attrs python package installed\nFound autopage python package installed\nFound babel python package installed\nFound certifi python package installed\nFound cffi python package installed\nFound charset-normalizer python package installed\nFound cliff python package installed\nFound cmd2 python package installed\nFound coverage python package installed\nFound cryptography python package installed\nFound debtcollector python package installed\nFound decorator python package installed\nFound Django python package installed\nFound django-appconf python package installed\nFound django-debreach python package installed\nFound django_compressor python package installed\nFound dogpile.cache python package installed\nFound fasteners python package installed\nFound fixtures python package installed\nFound flake8 python package installed\nFound futurist python package installed\nFound greenlet python package installed\nFound hacking python package installed\nFound horizon python package installed\nFound idna python package installed\nFound iso8601 python package installed\nFound jmespath python package installed\nFound jsonpatch python package installed\nFound jsonpointer python package installed\nFound jsonschema python package installed\nFound jsonschema-specifications python package installed\nFound keystoneauth1 python package installed\nFound libsass python package installed\nFound markdown-it-py python package installed\nFound mccabe python package installed\nFound mdurl python package installed\nFound msgpack python package installed\nFound netaddr python package installed\nFound openstacksdk python package installed\nFound os-service-types python package installed\nFound osc-lib python package installed\nFound oslo.concurrency python package installed\nFound oslo.config python package installed\nFound oslo.context python package installed\nFound oslo.i18n python package installed\nFound oslo.log python package installed\nFound oslo.policy python package installed\nFound oslo.serialization python package installed\nFound oslo.upgradecheck python package installed\nFound oslo.utils python package installed\nFound oslotest python package installed\nFound osprofiler python package installed\nFound packaging python package installed\nFound pbr python package installed\nFound pillow python package installed\nFound platformdirs python package installed\nFound playwright python package installed\nFound prettytable python package installed\nFound prompt_toolkit python package installed\nFound psutil python package installed\nFound pycodestyle python package installed\nFound pycparser python package installed\nFound pyee python package installed\nFound pyflakes python package installed\nFound Pygments python package installed\nFound pyOpenSSL python package installed\nFound pyparsing python package installed\nFound pyperclip python package installed\nFound python-cinderclient python package installed\nFound python-dateutil python package installed\nFound python-glanceclient python package installed\nFound python-keystoneclient python package installed\nFound python-novaclient python package installed\nFound python-swiftclient python package installed\nFound python-watcherclient python package installed\nFound PyYAML python package installed\nFound qrcode python package installed\nFound rcssmin python package installed\nFound referencing python package installed\nFound requests python package installed\nFound rfc3986 python package installed\nFound rich python package installed\nFound rich-argparse python package installed\nFound rjsmin python package installed\nFound rpds-py python package installed\nFound semantic-version python package installed\nFound setuptools python package installed\nFound six python package installed\nFound sqlparse python package installed\nFound stevedore python package installed\nFound testscenarios python package installed\nFound testtools python package installed\nFound typing_extensions python package installed\nFound urllib3 python package installed\nFound warlock python package installed\nFound watcher-dashboard python package installed\nSkipping watcher-dashboard because it's us\nFound wcwidth python package installed\nFound WebOb python package installed\nFound wrapt python package installed\nFound XStatic python package installed\nFound XStatic-Angular python package installed\nFound XStatic-Angular-Bootstrap python package installed\nFound XStatic-Angular-FileUpload python package installed\nFound XStatic-Angular-Gettext python package installed\nFound XStatic-Angular-lrdragndrop python package installed\nFound XStatic-Angular-Schema-Form python package installed\nFound XStatic-Bootstrap-Datepicker python package installed\nFound XStatic-Bootstrap-SCSS python package installed\nFound XStatic-bootswatch python package installed\nFound XStatic-D3 python package installed\nFound XStatic-Font-Awesome python package installed\nFound XStatic-Hogan python package installed\nFound XStatic-Jasmine python package installed\nFound XStatic-jQuery python package installed\nFound XStatic-JQuery-Migrate python package installed\nFound XStatic-jquery-ui python package installed\nFound XStatic-JQuery.quicksearch python package installed\nFound XStatic-JQuery.TableSorter python package installed\nFound XStatic-JSEncrypt python package installed\nFound XStatic-mdi python package installed\nFound XStatic-objectpath python package installed\nFound XStatic-Rickshaw python package installed\nFound XStatic-roboto-fontface python package installed\nFound XStatic-smart-table python package installed\nFound XStatic-Spin python package installed\nFound XStatic-term.js python package installed\nFound XStatic-tv4 python package installed"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:28.100966Z",
                            "start": "2026-07-23T06:11:27.037806Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000057",
                        "name": "Install any sibling python packages"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/ansible._1jtl5__",
                                    "state": "absent"
                                },
                                "before": {
                                    "path": "/tmp/ansible._1jtl5__",
                                    "state": "file"
                                }
                            },
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/ansible._1jtl5__",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "absent",
                                    "unsafe_writes": false
                                }
                            },
                            "path": "/tmp/ansible._1jtl5__",
                            "state": "absent"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:28.771775Z",
                            "start": "2026-07-23T06:11:28.111006Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000058",
                        "name": "Remove tempfile"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "debug",
                            "changed": false,
                            "msg": "/home/zuul/.local/tox/bin/tox   -etranslations  -vv --skip-missing-interpreters=false"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:28.836230Z",
                            "start": "2026-07-23T06:11:28.780214Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000012",
                        "name": "Emit tox command"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "-etranslations",
                                "-vv",
                                "--skip-missing-interpreters=false"
                            ],
                            "delta": "0:00:06.880949",
                            "end": "2026-07-23 06:11:36.099052",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox   -etranslations  -vv --skip-missing-interpreters=false",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/opendev.org/openstack/watcher-dashboard",
                                    "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": "bc764e01-f96a-a11b-c47e-000000000014-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:11:29.218103",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ROOT: 243 D setup logging to DEBUG on pid 2541 [tox/report.py:229]\n.pkg: 268 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 270 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 271 D filesystem is case-sensitive [python_discovery/_compat.py:18]\n.pkg: 274 D got python info of /usr/bin/python3.12 from /home/zuul/.cache/virtualenv/py_info/5/f0d7a494a3f776233427cb85a7e198c7cf4913b50a203c6febc678cc4f5bf265.json [virtualenv/app_data/via_disk_folder.py:139]\n.pkg: 275 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 275 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 276 D symlink on filesystem does work [virtualenv/info.py:51]\n.pkg: 276 D filesystem is case-sensitive [virtualenv/info.py:28]\n.pkg: 306 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 307 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 307 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 307 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 312 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 313 I find interpreter for spec PythonSpec(major=3, free_threaded=False) [python_discovery/_discovery.py:131]\n.pkg: 313 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 313 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 320 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 320 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 320 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 320 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 325 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 326 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 326 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 326 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 330 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 330 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 331 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 331 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 334 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 335 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 335 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 335 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 338 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 339 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 339 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 339 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 342 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 343 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 343 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 343 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 347 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 347 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 347 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 348 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 351 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\n.pkg: 352 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]\n.pkg: 352 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\n.pkg: 352 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\n.pkg: 404 W _optional_hooks> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]\nBackend: run command _optional_hooks with args {}\nBackend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /tmp/pep517__optional_hooks-gso4rw3u.json\n.pkg: 551 I exit None (0.15 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2548 [tox/execute/api.py:308]\n.pkg: 552 W get_requires_for_build_editable> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]\nBackend: run command get_requires_for_build_editable with args {'config_settings': None}\nBackend: Wrote response {'return': ['pbr>=2.0.0']} to /tmp/pep517_get_requires_for_build_editable-4y1gvkl8.json\n.pkg: 559 I exit None (0.01 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2548 [tox/execute/api.py:308]\n.pkg: 560 W build_editable> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]\nBackend: run command build_editable with args {'wheel_directory': '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist', 'config_settings': None, 'metadata_directory': None}\n[pbr] Generating ChangeLog\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pbr/setupcfg.py:833: UserWarning: Unknown distribution option: 'tests_require'\n  warnings.warn(msg)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated\n!!\n\n        ********************************************************************************\n        Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).\n\n        By 2027-Feb-18, you need to update your project and remove deprecated calls\n        or your builds will no longer be supported.\n\n        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.\n        ********************************************************************************\n\n!!\n  corresp(dist, value, root_dir)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.\n!!\n\n        ********************************************************************************\n        Please consider removing the following classifiers in favor of a SPDX license expression:\n\n        License :: OSI Approved :: Apache Software License\n\n        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.\n        ********************************************************************************\n\n!!\n  dist._finalize_license_expression()\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.\n!!\n\n        ********************************************************************************\n        Please consider removing the following classifiers in favor of a SPDX license expression:\n\n        License :: OSI Approved :: Apache Software License\n\n        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.\n        ********************************************************************************\n\n!!\n  self._finalize_license_expression()\nrunning editable_wheel\ncreating /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info\nwriting /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/PKG-INFO\nwriting dependency_links to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/dependency_links.txt\nwriting requirements to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/requires.txt\nwriting top-level names to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/top_level.txt\nwriting pbr to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/pbr.json\n[pbr] Processing SOURCES.txt\nwriting manifest file '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/SOURCES.txt'\n[pbr] In git context, generating filelist from git\nwarning: no files found matching 'AUTHORS'\nwarning: no files found matching 'ChangeLog'\nwarning: no previously-included files matching '*.pyc' found anywhere in distribution\nadding license file 'LICENSE'\nwriting manifest file '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/SOURCES.txt'\ncreating '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard-15.1.0.dev32.dist-info'\ncreating /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard-15.1.0.dev32.dist-info/WHEEL\nrunning build_py\nrunning egg_info\ncreating /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info\nwriting /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/PKG-INFO\nwriting dependency_links to /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/dependency_links.txt\nwriting requirements to /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/requires.txt\nwriting top-level names to /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/top_level.txt\nwriting pbr to /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/pbr.json\n[pbr] Processing SOURCES.txt\nwriting manifest file '/tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/SOURCES.txt'\n[pbr] In git context, generating filelist from git\nwarning: no files found matching 'AUTHORS'\nwarning: no files found matching 'ChangeLog'\nwarning: no previously-included files matching '*.pyc' found anywhere in distribution\nadding license file 'LICENSE'\nwriting manifest file '/tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/SOURCES.txt'\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.api' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.api' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.api' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.api' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.api' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.common' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.common' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.common' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.common' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.common' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.conf' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.conf' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.conf' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.conf' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.conf' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.action_plans' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.action_plans' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.action_plans' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.action_plans' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.action_plans' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.actions' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.actions' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.actions' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.actions' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.actions' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.audit_templates' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.audit_templates' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.audit_templates' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.audit_templates' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.audit_templates' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.audits' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.audits' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.audits' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.audits' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.audits' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.goals' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.goals' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.goals' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.goals' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.goals' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.strategies' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.content.strategies' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.content.strategies' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.content.strategies' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.content.strategies' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.local' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.local' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.local' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.local' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.local' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.local.enabled' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.local.enabled' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.local.enabled' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.local.enabled' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.local.enabled' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.locale' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.locale' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.locale' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.locale' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.locale' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.images' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.static.infra_optim.images' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.static.infra_optim.images' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.static.infra_optim.images' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.static.infra_optim.images' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.scss' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.static.infra_optim.scss' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.static.infra_optim.scss' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.static.infra_optim.scss' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.static.infra_optim.scss' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.tests' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.static.infra_optim.tests' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.static.infra_optim.tests' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.static.infra_optim.tests' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.static.infra_optim.tests' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.client_side' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.client_side' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.client_side' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.client_side' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.client_side' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.formset_table' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.formset_table' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.formset_table' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.formset_table' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.formset_table' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.horizon.common' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.horizon.common' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.horizon.common' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.horizon.common' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.horizon.common' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.action_plans' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.action_plans' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.action_plans' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.action_plans' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.action_plans' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.actions' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.actions' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.actions' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.actions' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.actions' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.actions_history' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.actions_history' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.actions_history' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.actions_history' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.actions_history' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.audit_templates' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.audit_templates' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.audit_templates' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.audit_templates' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.audit_templates' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.audits' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.audits' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.audits' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.audits' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.audits' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.goals' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.goals' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.goals' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.goals' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.goals' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.logs' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.logs' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.logs' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.logs' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.logs' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.strategies' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templates.infra_optim.strategies' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templates.infra_optim.strategies' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templates.infra_optim.strategies' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templates.infra_optim.strategies' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templatetags' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.templatetags' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.templatetags' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.templatetags' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.templatetags' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.test.integration' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.test.integration' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.test.integration' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.test.integration' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.test.integration' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.local_fixtures' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests.local_fixtures' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests.local_fixtures' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests.local_fixtures' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests.local_fixtures' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.test_data' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests.test_data' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests.test_data' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests.test_data' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests.test_data' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.unit' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests.unit' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests.unit' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests.unit' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests.unit' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.unit.api' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.tests.unit.api' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.tests.unit.api' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.tests.unit.api' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.tests.unit.api' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.utils' is absent from the `packages` configuration.\n!!\n\n        ********************************************************************************\n        ############################\n        # Package would be ignored #\n        ############################\n        Python recognizes 'watcher_dashboard.utils' as an importable package[^1],\n        but it is absent from setuptools' `packages` configuration.\n\n        This leads to an ambiguous overall configuration. If you want to distribute this\n        package, please make sure that 'watcher_dashboard.utils' is explicitly added\n        to the `packages` configuration field.\n\n        Alternatively, you can also rely on setuptools' discovery methods\n        (for example by using `find_namespace_packages(...)`/`find_namespace:`\n        instead of `find_packages(...)`/`find:`).\n\n        You can read more about \"package discovery\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html\n\n        If you don't want 'watcher_dashboard.utils' to be distributed and are\n        already explicitly excluding 'watcher_dashboard.utils' via\n        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,\n        you can try to use `exclude_package_data`, or `include-package-data=False` in\n        combination with a more fine grained `package-data` configuration.\n\n        You can read more about \"package data files\" on setuptools documentation page:\n\n        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html\n\n\n        [^1]: For Python, any directory (with suitable naming) can be imported,\n              even if it does not contain any `.py` files.\n              On the other hand, currently there is no concept of package data\n              directory, all directories are treated like packages.\n        ********************************************************************************\n\n!!\n  check.warn(importable)\nEditable install will be performed using a meta path finder.\n\nOptions like `package-data`, `include/exclude-package-data` or\n`packages.find.exclude/include` may have no effect.\n\nadding '__editable___watcher_dashboard_15_1_0_dev32_finder.py'\nadding '__editable__.watcher_dashboard-15.1.0.dev32.pth'\ncreating '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl' and adding '/tmp/tmpkc5mmwm_watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl' to it\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/licenses/LICENSE'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/METADATA'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/WHEEL'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/pbr.json'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/top_level.txt'\nadding 'watcher_dashboard-15.1.0.dev32.dist-info/RECORD'\n/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/editable_wheel.py:352: InformationOnly: Editable installation.\n!!\n\n        ********************************************************************************\n        Please be careful with folders in your working directory with the same\n        name as your package as they may take precedence during imports.\n        ********************************************************************************\n\n!!\n  with strategy, WheelFile(wheel_path, \"w\") as wheel_obj:\nBackend: Wrote response {'return': 'watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl'} to /tmp/pep517_build_editable-lbwmtgcj.json\n.pkg: 2219 I exit None (1.66 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2548 [tox/execute/api.py:308]\n.pkg: 2224 D package .tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl copied to .pkg/dist/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl (/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox) [tox/util/file_view.py:33]\ntranslations: 2225 W install_package> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl [tox/tox_env/api.py:485]\nLooking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64\nProcessing ./.tox/.tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl\nInstalling collected packages: watcher-dashboard\n  Attempting uninstall: watcher-dashboard\n    Found existing installation: watcher-dashboard 15.1.0.dev32\n    Uninstalling watcher-dashboard-15.1.0.dev32:\n      Successfully uninstalled watcher-dashboard-15.1.0.dev32\nSuccessfully installed watcher-dashboard-15.1.0.dev32\ntranslations: 2930 I exit 0 (0.70 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl pid=2638 [tox/execute/api.py:308]\ntranslations: 2932 W commands[0]> .tox/translations/bin/python /home/zuul/src/opendev.org/openstack/watcher-dashboard/manage.py extract_messages --module watcher_dashboard -v 0 --traceback [tox/tox_env/api.py:485]\nWARNING:root:\"dashboards\" and \"default_dashboard\" in (local_)settings is DEPRECATED now and may be unsupported in some future release. The preferred way to specify the order of dashboards and the default dashboard is the pluggable dashboard mechanism (in /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/local/enabled, /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/openstack_dashboard/enabled).\ntranslations: 4915 I exit 0 (1.98 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> .tox/translations/bin/python /home/zuul/src/opendev.org/openstack/watcher-dashboard/manage.py extract_messages --module watcher_dashboard -v 0 --traceback pid=2667 [tox/execute/api.py:308]\ntranslations: 4915 W commands[1]> .tox/translations/bin/python /home/zuul/src/opendev.org/openstack/watcher-dashboard/manage.py compilemessages -v 0 --traceback [tox/tox_env/api.py:485]\nWARNING:root:\"dashboards\" and \"default_dashboard\" in (local_)settings is DEPRECATED now and may be unsupported in some future release. The preferred way to specify the order of dashboards and the default dashboard is the pluggable dashboard mechanism (in /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/local/enabled, /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/openstack_dashboard/enabled).\ntranslations: 6725 I exit 0 (1.81 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> .tox/translations/bin/python /home/zuul/src/opendev.org/openstack/watcher-dashboard/manage.py compilemessages -v 0 --traceback pid=2673 [tox/execute/api.py:308]\ntranslations: 6726 W commands[2]> cp /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/locale/django.pot /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/locale/djangojs.pot /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/log/ [tox/tox_env/api.py:485]\ntranslations: 6730 I exit 0 (0.00 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> cp /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/locale/django.pot /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/locale/djangojs.pot /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/log/ pid=3198 [tox/execute/api.py:308]\n.pkg: 6731 W _exit> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]\nBackend: run command _exit with args {}\nBackend: Wrote response {'return': 0} to /tmp/pep517__exit-dy8qfqod.json\n.pkg: 6733 I exit None (0.00 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2548 [tox/execute/api.py:308]\n.pkg: 6797 D delete package /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl [tox/tox_env/python/virtual_env/package/pyproject.py:256]\n  translations: OK (6.44=setup[2.65]+cmd[1.98,1.81,0.00] seconds)\n  congratulations :) (6.56 seconds)",
                            "stdout_lines": [
                                "ROOT: 243 D setup logging to DEBUG on pid 2541 [tox/report.py:229]",
                                ".pkg: 268 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 270 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 271 D filesystem is case-sensitive [python_discovery/_compat.py:18]",
                                ".pkg: 274 D got python info of /usr/bin/python3.12 from /home/zuul/.cache/virtualenv/py_info/5/f0d7a494a3f776233427cb85a7e198c7cf4913b50a203c6febc678cc4f5bf265.json [virtualenv/app_data/via_disk_folder.py:139]",
                                ".pkg: 275 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 275 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 276 D symlink on filesystem does work [virtualenv/info.py:51]",
                                ".pkg: 276 D filesystem is case-sensitive [virtualenv/info.py:28]",
                                ".pkg: 306 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 307 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 307 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 307 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 312 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 313 I find interpreter for spec PythonSpec(major=3, free_threaded=False) [python_discovery/_discovery.py:131]",
                                ".pkg: 313 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 313 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 320 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 320 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 320 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 320 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 325 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 326 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 326 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 326 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 330 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 330 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 331 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 331 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 334 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 335 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 335 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 335 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 338 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 339 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 339 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 339 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 342 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 343 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 343 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 343 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 347 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 347 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 347 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 348 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 351 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                ".pkg: 352 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:131]",
                                ".pkg: 352 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                ".pkg: 352 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                ".pkg: 404 W _optional_hooks> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]",
                                "Backend: run command _optional_hooks with args {}",
                                "Backend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /tmp/pep517__optional_hooks-gso4rw3u.json",
                                ".pkg: 551 I exit None (0.15 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2548 [tox/execute/api.py:308]",
                                ".pkg: 552 W get_requires_for_build_editable> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]",
                                "Backend: run command get_requires_for_build_editable with args {'config_settings': None}",
                                "Backend: Wrote response {'return': ['pbr>=2.0.0']} to /tmp/pep517_get_requires_for_build_editable-4y1gvkl8.json",
                                ".pkg: 559 I exit None (0.01 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2548 [tox/execute/api.py:308]",
                                ".pkg: 560 W build_editable> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]",
                                "Backend: run command build_editable with args {'wheel_directory': '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist', 'config_settings': None, 'metadata_directory': None}",
                                "[pbr] Generating ChangeLog",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/pbr/setupcfg.py:833: UserWarning: Unknown distribution option: 'tests_require'",
                                "  warnings.warn(msg)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).",
                                "",
                                "        By 2027-Feb-18, you need to update your project and remove deprecated calls",
                                "        or your builds will no longer be supported.",
                                "",
                                "        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  corresp(dist, value, root_dir)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        Please consider removing the following classifiers in favor of a SPDX license expression:",
                                "",
                                "        License :: OSI Approved :: Apache Software License",
                                "",
                                "        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  dist._finalize_license_expression()",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        Please consider removing the following classifiers in favor of a SPDX license expression:",
                                "",
                                "        License :: OSI Approved :: Apache Software License",
                                "",
                                "        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  self._finalize_license_expression()",
                                "running editable_wheel",
                                "creating /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info",
                                "writing /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/PKG-INFO",
                                "writing dependency_links to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/dependency_links.txt",
                                "writing requirements to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/requires.txt",
                                "writing top-level names to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/top_level.txt",
                                "writing pbr to /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/pbr.json",
                                "[pbr] Processing SOURCES.txt",
                                "writing manifest file '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/SOURCES.txt'",
                                "[pbr] In git context, generating filelist from git",
                                "warning: no files found matching 'AUTHORS'",
                                "warning: no files found matching 'ChangeLog'",
                                "warning: no previously-included files matching '*.pyc' found anywhere in distribution",
                                "adding license file 'LICENSE'",
                                "writing manifest file '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard.egg-info/SOURCES.txt'",
                                "creating '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard-15.1.0.dev32.dist-info'",
                                "creating /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard-15.1.0.dev32.dist-info/WHEEL",
                                "running build_py",
                                "running egg_info",
                                "creating /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info",
                                "writing /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/PKG-INFO",
                                "writing dependency_links to /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/dependency_links.txt",
                                "writing requirements to /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/requires.txt",
                                "writing top-level names to /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/top_level.txt",
                                "writing pbr to /tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/pbr.json",
                                "[pbr] Processing SOURCES.txt",
                                "writing manifest file '/tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/SOURCES.txt'",
                                "[pbr] In git context, generating filelist from git",
                                "warning: no files found matching 'AUTHORS'",
                                "warning: no files found matching 'ChangeLog'",
                                "warning: no previously-included files matching '*.pyc' found anywhere in distribution",
                                "adding license file 'LICENSE'",
                                "writing manifest file '/tmp/tmp9ua4hiw_.build-temp/watcher_dashboard.egg-info/SOURCES.txt'",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.api' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.api' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.api' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.api' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.api' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.common' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.common' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.common' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.common' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.common' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.conf' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.conf' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.conf' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.conf' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.conf' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.action_plans' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.action_plans' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.action_plans' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.action_plans' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.action_plans' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.actions' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.actions' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.actions' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.actions' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.actions' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.audit_templates' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.audit_templates' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.audit_templates' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.audit_templates' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.audit_templates' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.audits' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.audits' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.audits' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.audits' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.audits' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.goals' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.goals' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.goals' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.goals' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.goals' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.content.strategies' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.content.strategies' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.content.strategies' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.content.strategies' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.content.strategies' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.local' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.local' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.local' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.local' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.local' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.local.enabled' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.local.enabled' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.local.enabled' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.local.enabled' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.local.enabled' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.locale' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.locale' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.locale' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.locale' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.locale' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.images' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.static.infra_optim.images' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.static.infra_optim.images' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.static.infra_optim.images' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.static.infra_optim.images' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.scss' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.static.infra_optim.scss' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.static.infra_optim.scss' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.static.infra_optim.scss' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.static.infra_optim.scss' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.static.infra_optim.tests' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.static.infra_optim.tests' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.static.infra_optim.tests' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.static.infra_optim.tests' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.static.infra_optim.tests' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.client_side' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.client_side' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.client_side' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.client_side' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.client_side' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.formset_table' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.formset_table' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.formset_table' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.formset_table' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.formset_table' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.horizon.common' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.horizon.common' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.horizon.common' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.horizon.common' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.horizon.common' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.action_plans' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.action_plans' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.action_plans' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.action_plans' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.action_plans' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.actions' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.actions' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.actions' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.actions' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.actions' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.actions_history' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.actions_history' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.actions_history' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.actions_history' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.actions_history' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.audit_templates' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.audit_templates' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.audit_templates' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.audit_templates' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.audit_templates' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.audits' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.audits' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.audits' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.audits' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.audits' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.goals' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.goals' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.goals' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.goals' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.goals' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.logs' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.logs' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.logs' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.logs' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.logs' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templates.infra_optim.strategies' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templates.infra_optim.strategies' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templates.infra_optim.strategies' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templates.infra_optim.strategies' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templates.infra_optim.strategies' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.templatetags' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.templatetags' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.templatetags' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.templatetags' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.templatetags' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.test.integration' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.test.integration' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.test.integration' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.test.integration' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.test.integration' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.local_fixtures' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests.local_fixtures' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests.local_fixtures' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests.local_fixtures' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests.local_fixtures' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.test_data' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests.test_data' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests.test_data' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests.test_data' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests.test_data' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.unit' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests.unit' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests.unit' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests.unit' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests.unit' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.tests.unit.api' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.tests.unit.api' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.tests.unit.api' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.tests.unit.api' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.tests.unit.api' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'watcher_dashboard.utils' is absent from the `packages` configuration.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        ############################",
                                "        # Package would be ignored #",
                                "        ############################",
                                "        Python recognizes 'watcher_dashboard.utils' as an importable package[^1],",
                                "        but it is absent from setuptools' `packages` configuration.",
                                "",
                                "        This leads to an ambiguous overall configuration. If you want to distribute this",
                                "        package, please make sure that 'watcher_dashboard.utils' is explicitly added",
                                "        to the `packages` configuration field.",
                                "",
                                "        Alternatively, you can also rely on setuptools' discovery methods",
                                "        (for example by using `find_namespace_packages(...)`/`find_namespace:`",
                                "        instead of `find_packages(...)`/`find:`).",
                                "",
                                "        You can read more about \"package discovery\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html",
                                "",
                                "        If you don't want 'watcher_dashboard.utils' to be distributed and are",
                                "        already explicitly excluding 'watcher_dashboard.utils' via",
                                "        `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,",
                                "        you can try to use `exclude_package_data`, or `include-package-data=False` in",
                                "        combination with a more fine grained `package-data` configuration.",
                                "",
                                "        You can read more about \"package data files\" on setuptools documentation page:",
                                "",
                                "        - https://setuptools.pypa.io/en/latest/userguide/datafiles.html",
                                "",
                                "",
                                "        [^1]: For Python, any directory (with suitable naming) can be imported,",
                                "              even if it does not contain any `.py` files.",
                                "              On the other hand, currently there is no concept of package data",
                                "              directory, all directories are treated like packages.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  check.warn(importable)",
                                "Editable install will be performed using a meta path finder.",
                                "",
                                "Options like `package-data`, `include/exclude-package-data` or",
                                "`packages.find.exclude/include` may have no effect.",
                                "",
                                "adding '__editable___watcher_dashboard_15_1_0_dev32_finder.py'",
                                "adding '__editable__.watcher_dashboard-15.1.0.dev32.pth'",
                                "creating '/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/dist/.tmp-d9gx0_4h/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl' and adding '/tmp/tmpkc5mmwm_watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl' to it",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/licenses/LICENSE'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/METADATA'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/WHEEL'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/pbr.json'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/top_level.txt'",
                                "adding 'watcher_dashboard-15.1.0.dev32.dist-info/RECORD'",
                                "/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.pkg/lib/python3.12/site-packages/setuptools/command/editable_wheel.py:352: InformationOnly: Editable installation.",
                                "!!",
                                "",
                                "        ********************************************************************************",
                                "        Please be careful with folders in your working directory with the same",
                                "        name as your package as they may take precedence during imports.",
                                "        ********************************************************************************",
                                "",
                                "!!",
                                "  with strategy, WheelFile(wheel_path, \"w\") as wheel_obj:",
                                "Backend: Wrote response {'return': 'watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl'} to /tmp/pep517_build_editable-lbwmtgcj.json",
                                ".pkg: 2219 I exit None (1.66 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2548 [tox/execute/api.py:308]",
                                ".pkg: 2224 D package .tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl copied to .pkg/dist/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl (/home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox) [tox/util/file_view.py:33]",
                                "translations: 2225 W install_package> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl [tox/tox_env/api.py:485]",
                                "Looking in indexes: https://mirror.iad3.openmetal.opendev.org/pypi/simple, https://mirror.iad3.openmetal.opendev.org/wheel/ubuntu-24.04-x86_64",
                                "Processing ./.tox/.tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl",
                                "Installing collected packages: watcher-dashboard",
                                "  Attempting uninstall: watcher-dashboard",
                                "    Found existing installation: watcher-dashboard 15.1.0.dev32",
                                "    Uninstalling watcher-dashboard-15.1.0.dev32:",
                                "      Successfully uninstalled watcher-dashboard-15.1.0.dev32",
                                "Successfully installed watcher-dashboard-15.1.0.dev32",
                                "translations: 2930 I exit 0 (0.70 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl pid=2638 [tox/execute/api.py:308]",
                                "translations: 2932 W commands[0]> .tox/translations/bin/python /home/zuul/src/opendev.org/openstack/watcher-dashboard/manage.py extract_messages --module watcher_dashboard -v 0 --traceback [tox/tox_env/api.py:485]",
                                "WARNING:root:\"dashboards\" and \"default_dashboard\" in (local_)settings is DEPRECATED now and may be unsupported in some future release. The preferred way to specify the order of dashboards and the default dashboard is the pluggable dashboard mechanism (in /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/local/enabled, /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/openstack_dashboard/enabled).",
                                "translations: 4915 I exit 0 (1.98 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> .tox/translations/bin/python /home/zuul/src/opendev.org/openstack/watcher-dashboard/manage.py extract_messages --module watcher_dashboard -v 0 --traceback pid=2667 [tox/execute/api.py:308]",
                                "translations: 4915 W commands[1]> .tox/translations/bin/python /home/zuul/src/opendev.org/openstack/watcher-dashboard/manage.py compilemessages -v 0 --traceback [tox/tox_env/api.py:485]",
                                "WARNING:root:\"dashboards\" and \"default_dashboard\" in (local_)settings is DEPRECATED now and may be unsupported in some future release. The preferred way to specify the order of dashboards and the default dashboard is the pluggable dashboard mechanism (in /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/local/enabled, /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/lib/python3.12/site-packages/openstack_dashboard/enabled).",
                                "translations: 6725 I exit 0 (1.81 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> .tox/translations/bin/python /home/zuul/src/opendev.org/openstack/watcher-dashboard/manage.py compilemessages -v 0 --traceback pid=2673 [tox/execute/api.py:308]",
                                "translations: 6726 W commands[2]> cp /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/locale/django.pot /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/locale/djangojs.pot /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/log/ [tox/tox_env/api.py:485]",
                                "translations: 6730 I exit 0 (0.00 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> cp /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/locale/django.pot /home/zuul/src/opendev.org/openstack/watcher-dashboard/watcher_dashboard/locale/djangojs.pot /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/translations/log/ pid=3198 [tox/execute/api.py:308]",
                                ".pkg: 6731 W _exit> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build [tox/tox_env/api.py:485]",
                                "Backend: run command _exit with args {}",
                                "Backend: Wrote response {'return': 0} to /tmp/pep517__exit-dy8qfqod.json",
                                ".pkg: 6733 I exit None (0.00 seconds) /home/zuul/src/opendev.org/openstack/watcher-dashboard> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True pbr.build pid=2548 [tox/execute/api.py:308]",
                                ".pkg: 6797 D delete package /home/zuul/src/opendev.org/openstack/watcher-dashboard/.tox/.tmp/package/2/watcher_dashboard-15.1.0.dev32-0.editable-py3-none-any.whl [tox/tox_env/python/virtual_env/package/pyproject.py:256]",
                                "  translations: OK (6.44=setup[2.65]+cmd[1.98,1.81,0.00] seconds)",
                                "  congratulations :) (6.56 seconds)"
                            ],
                            "zuul_log_id": "bc764e01-f96a-a11b-c47e-000000000014-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:36.600292Z",
                            "start": "2026-07-23T06:11:28.875462Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000014",
                        "name": "Run tox"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "tox_parse_output",
                            "changed": false,
                            "failed_when_result": false,
                            "file_comments": {},
                            "invocation": {
                                "module_args": {
                                    "tox_envlist": "translations",
                                    "tox_output": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
                                    "workdir": "src/opendev.org/openstack/watcher-dashboard"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:37.344045Z",
                            "start": "2026-07-23T06:11:36.617562Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000015",
                        "name": "Look for output"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "zuul_return",
                            "changed": false,
                            "false_condition": "file_comments.file_comments",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-a11b-c47e-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:37.409444Z",
                            "start": "2026-07-23T06:11:37.363132Z"
                        },
                        "id": "bc764e01-f96a-a11b-c47e-000000000016",
                        "name": "Return file comments to Zuul"
                    }
                }
            ]
        }
    ],
    "stats": {
        "ubuntu-noble": {
            "changed": 9,
            "failures": 0,
            "ignored": 0,
            "ok": 15,
            "rescued": 0,
            "skipped": 2,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "0",
    "phase": "post",
    "playbook": "opendev.org/zuul/zuul-jobs/playbooks/tox/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:11:42.938539Z",
                    "start": "2026-07-23T06:11:38.902540Z"
                },
                "id": "bc764e01-f96a-7313-cbac-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:39.006953Z",
                            "start": "2026-07-23T06:11:38.927217Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-000000000007",
                        "name": "Set tox log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/tox"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:39.073549Z",
                            "start": "2026-07-23T06:11:39.016773Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-000000000008",
                        "name": "Set tox log path for single node"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/tox",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/tox",
                                    "state": "absent"
                                }
                            },
                            "gid": 10001,
                            "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": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/tox",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "zuul",
                            "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/tox",
                            "size": 4096,
                            "state": "directory",
                            "uid": 10001
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:39.678327Z",
                            "start": "2026-07-23T06:11:39.082246Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-000000000009",
                        "name": "Ensure local tox dir"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "zuul_use_fetch_output",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:39.754458Z",
                            "start": "2026-07-23T06:11:39.688227Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-00000000000a",
                        "name": "Ensure zuul-output tox dir"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "envlist": [
                                    "translations"
                                ]
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:39.815958Z",
                            "start": "2026-07-23T06:11:39.763264Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-00000000000b",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.337507",
                            "end": "2026-07-23 06:11:40.833807",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox --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": "bc764e01-f96a-7313-cbac-00000000000c-1-ubuntunoble",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-23 06:11:40.496300",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul\n4.58.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul",
                                "4.58.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "bc764e01-f96a-7313-cbac-00000000000c-1-ubuntunoble"
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:41.022332Z",
                            "start": "2026-07-23T06:11:39.858171Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-00000000000c",
                        "name": "Get tox version"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "tox_envlist is not defined or not tox_envlist",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:41.204215Z",
                            "start": "2026-07-23T06:11:41.061527Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-00000000000d",
                        "name": "Find all default environments"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_default_environments.stdout_lines is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:41.248701Z",
                            "start": "2026-07-23T06:11:41.212951Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-00000000000e",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "(tox_envlist is defined and tox_envlist == 'ALL') or (envlist is defined and not envlist)",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:41.324832Z",
                            "start": "2026-07-23T06:11:41.288205Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-00000000000f",
                        "name": "Find all default environments"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_all_environments.stdout_lines is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:41.369452Z",
                            "start": "2026-07-23T06:11:41.334281Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-000000000010",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "copy",
                            "changed": false,
                            "msg": "All items skipped",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_testenv",
                                    "changed": false,
                                    "false_condition": "zuul_use_fetch_output",
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true,
                                    "zj_testenv": "translations"
                                }
                            ],
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:41.457067Z",
                            "start": "2026-07-23T06:11:41.378881Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-000000000011",
                        "name": "Copy tox logs"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_testenv",
                                    "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@200.225.47.50:src/opendev.org/openstack/watcher-dashboard/.tox/translations/log/ /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/tox/translations",
                                    "failed": false,
                                    "failed_when_result": 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/651a921bc59b43eb939457845a5f03ac/work/logs/tox/translations",
                                            "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@200.225.47.50:src/opendev.org/openstack/watcher-dashboard/.tox/translations/log/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": "created directory /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/tox/translations\ncd+++++++++ ./\n>f+++++++++ 1-install_package.log\n>f+++++++++ 2-commands[0].log\n>f+++++++++ 3-commands[1].log\n>f+++++++++ 4-commands[2].log\n>f+++++++++ django.pot\n>f+++++++++ djangojs.pot\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        "created directory /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/tox/translations",
                                        "cd+++++++++ ./",
                                        ">f+++++++++ 1-install_package.log",
                                        ">f+++++++++ 2-commands[0].log",
                                        ">f+++++++++ 3-commands[1].log",
                                        ">f+++++++++ 4-commands[2].log",
                                        ">f+++++++++ django.pot",
                                        ">f+++++++++ djangojs.pot"
                                    ],
                                    "zj_testenv": "translations"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-7313-cbac-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:42.938539Z",
                            "start": "2026-07-23T06:11:41.467839Z"
                        },
                        "id": "bc764e01-f96a-7313-cbac-000000000013",
                        "name": "Collect tox logs"
                    }
                }
            ]
        }
    ],
    "stats": {
        "ubuntu-noble": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 7,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "1",
    "phase": "post",
    "playbook": "opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:11:45.541149Z",
                    "start": "2026-07-23T06:11:44.381412Z"
                },
                "id": "bc764e01-f96a-f509-f689-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "script",
                            "changed": true,
                            "exception": "NoneType: None\n",
                            "failed_when_result": false,
                            "msg": "non-zero return code",
                            "rc": 1,
                            "stderr": "OpenSSH_9.2p1 Debian-2+deb12u10, OpenSSL 3.0.20 7 Apr 2026\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: mux_client_request_session: master session id: 2\r\nShared connection to 200.225.47.50 closed.\r\n",
                            "stderr_lines": [
                                "OpenSSH_9.2p1 Debian-2+deb12u10, OpenSSL 3.0.20 7 Apr 2026",
                                "debug1: auto-mux: Trying existing master",
                                "debug1: mux_client_request_session: master session id: 2",
                                "Shared connection to 200.225.47.50 closed."
                            ],
                            "stdout": "",
                            "stdout_lines": []
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-f509-f689-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:45.264608Z",
                            "start": "2026-07-23T06:11:44.404685Z"
                        },
                        "id": "bc764e01-f96a-f509-f689-000000000007",
                        "name": "Find stestr or testr executable"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-f509-f689-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:45.299533Z",
                            "start": "2026-07-23T06:11:45.273869Z"
                        },
                        "id": "bc764e01-f96a-f509-f689-000000000009",
                        "name": "Get the list of directories with subunit files"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "find",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-f509-f689-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:45.334062Z",
                            "start": "2026-07-23T06:11:45.308393Z"
                        },
                        "id": "bc764e01-f96a-f509-f689-00000000000a",
                        "name": "Find any inflight partial subunit files"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "copy",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-f509-f689-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:45.369277Z",
                            "start": "2026-07-23T06:11:45.343947Z"
                        },
                        "id": "bc764e01-f96a-f509-f689-00000000000c",
                        "name": "Copy any inflight subunit files"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "tempfile",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-f509-f689-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:45.403193Z",
                            "start": "2026-07-23T06:11:45.378368Z"
                        },
                        "id": "bc764e01-f96a-f509-f689-00000000000f",
                        "name": "Create a temporary file to store the subunit stream"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "shell",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-f509-f689-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:45.437186Z",
                            "start": "2026-07-23T06:11:45.412448Z"
                        },
                        "id": "bc764e01-f96a-f509-f689-000000000010",
                        "name": "Generate subunit file"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "copy",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-f509-f689-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:45.472055Z",
                            "start": "2026-07-23T06:11:45.446898Z"
                        },
                        "id": "bc764e01-f96a-f509-f689-000000000012",
                        "name": "Copy the combined subunit file to the zuul work directory"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-f509-f689-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:45.507784Z",
                            "start": "2026-07-23T06:11:45.482963Z"
                        },
                        "id": "bc764e01-f96a-f509-f689-000000000013",
                        "name": "Remove the temporary file"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-f509-f689-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:45.541149Z",
                            "start": "2026-07-23T06:11:45.516477Z"
                        },
                        "id": "bc764e01-f96a-f509-f689-000000000014",
                        "name": "Process and fetch subunit results"
                    }
                }
            ]
        }
    ],
    "stats": {
        "ubuntu-noble": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 8,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "2",
    "phase": "post",
    "playbook": "opendev.org/opendev/base-jobs/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:11:53.690323Z",
                    "start": "2026-07-23T06:11:46.969766Z"
                },
                "id": "bc764e01-f96a-aa63-c45c-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-aa63-c45c-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:47.073864Z",
                            "start": "2026-07-23T06:11:46.995197Z"
                        },
                        "id": "bc764e01-f96a-aa63-c45c-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-aa63-c45c-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:47.149707Z",
                            "start": "2026-07-23T06:11:47.082395Z"
                        },
                        "id": "bc764e01-f96a-aa63-c45c-000000000009",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 10001,
                                    "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": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 10001,
                                    "zj_output_dir": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 10001,
                                    "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": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 10001,
                                    "zj_output_dir": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 10001,
                                    "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": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 10001,
                                    "zj_output_dir": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-aa63-c45c-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:48.404548Z",
                            "start": "2026-07-23T06:11:47.157754Z"
                        },
                        "id": "bc764e01-f96a-aa63-c45c-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "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@200.225.47.50:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/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@200.225.47.50:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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@200.225.47.50:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/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@200.225.47.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/651a921bc59b43eb939457845a5f03ac/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@200.225.47.50:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/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@200.225.47.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/651a921bc59b43eb939457845a5f03ac/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-aa63-c45c-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:52.358193Z",
                            "start": "2026-07-23T06:11:48.414714Z"
                        },
                        "id": "bc764e01-f96a-aa63-c45c-00000000000c",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "shell",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/work/artifacts/* /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.008083",
                                    "end": "2026-07-23 06:11:52.968522",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/work/artifacts/* /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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-07-23 06:11:52.960439",
                                    "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/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/work/docs/* /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.006974",
                                    "end": "2026-07-23 06:11:53.326142",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/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/651a921bc59b43eb939457845a5f03ac/work/docs/* /var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/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-07-23 06:11:53.319168",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "bc764e01-f96a-aa63-c45c-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:53.375867Z",
                            "start": "2026-07-23T06:11:52.373476Z"
                        },
                        "id": "bc764e01-f96a-aa63-c45c-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "raw",
                            "changed": false,
                            "false_condition": "not (zuul_success | bool)",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:53.460735Z",
                            "start": "2026-07-23T06:11:53.391402Z"
                        },
                        "id": "bc764e01-f96a-aa63-c45c-000000000014",
                        "name": "Get df disk usage"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "raw",
                            "changed": false,
                            "false_condition": "not (zuul_success | bool)",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:53.536389Z",
                            "start": "2026-07-23T06:11:53.470072Z"
                        },
                        "id": "bc764e01-f96a-aa63-c45c-000000000015",
                        "name": "Get df inode usage"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "raw",
                            "changed": false,
                            "false_condition": "not (zuul_success | bool)",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:53.613639Z",
                            "start": "2026-07-23T06:11:53.546200Z"
                        },
                        "id": "bc764e01-f96a-aa63-c45c-000000000016",
                        "name": "Get l2 networking"
                    }
                },
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "action": "raw",
                            "changed": false,
                            "false_condition": "not (zuul_success | bool)",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:53.690323Z",
                            "start": "2026-07-23T06:11:53.623160Z"
                        },
                        "id": "bc764e01-f96a-aa63-c45c-000000000017",
                        "name": "Get l3 networking"
                    }
                }
            ]
        }
    ],
    "stats": {
        "ubuntu-noble": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 4,
            "rescued": 0,
            "skipped": 5,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "master",
    "index": "3",
    "phase": "post",
    "playbook": "opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-23T06:11:55.963198Z",
                    "start": "2026-07-23T06:11:55.156275Z"
                },
                "id": "bc764e01-f96a-f788-687f-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "ubuntu-noble": {
                            "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCdMKsd7gnZ4EPlRLHcr2nzrD724f+uVpzGmhzmPOdtzdk3a16KRGcUsxumGa+A3tdILo6vMGYTHhWcUTCKtg1IGTECE0+/GLcp7XK+15Zgdywp84ZLZ0OZCXEEdZThxd/GJUGxl4x34tayC/EOnS7EXowzJwCjJcpKNEh3v49VA4EP5wOOlKpFk1T9Jqq4LwvaDwn3GOsv9KammSdxOTxNjnd6AEma2jkUzw9iT+gfITnvxgV2IyfJNgBmsrBODvqnTCHOcNB+8MNkQ9y4fwSwUGLXQlyPFn/HQwPX3L52jW5vDo2xZucremAGQCei/3ad4uTMgDz35eFb7YF5Y395lzNcHxgI+su8WnCDNo3SKiLvW1DBw5JFyMYZC19vE+4aHtw85oXnWqE0V90l4siQKSfOcZJoEtxiKGkH9k8ZnCipeHGKlu6dm6JXhuNmmT+9Xd7XBUppYZvGQ2HPUQocGLQ7qbOtdK9Om4uQy+SNzsN+z57ULXqavdyy3KRB2Rk= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCdMKsd7gnZ4EPlRLHcr2nzrD724f+uVpzGmhzmPOdtzdk3a16KRGcUsxumGa+A3tdILo6vMGYTHhWcUTCKtg1IGTECE0+/GLcp7XK+15Zgdywp84ZLZ0OZCXEEdZThxd/GJUGxl4x34tayC/EOnS7EXowzJwCjJcpKNEh3v49VA4EP5wOOlKpFk1T9Jqq4LwvaDwn3GOsv9KammSdxOTxNjnd6AEma2jkUzw9iT+gfITnvxgV2IyfJNgBmsrBODvqnTCHOcNB+8MNkQ9y4fwSwUGLXQlyPFn/HQwPX3L52jW5vDo2xZucremAGQCei/3ad4uTMgDz35eFb7YF5Y395lzNcHxgI+su8WnCDNo3SKiLvW1DBw5JFyMYZC19vE+4aHtw85oXnWqE0V90l4siQKSfOcZJoEtxiKGkH9k8ZnCipeHGKlu6dm6JXhuNmmT+9Xd7XBUppYZvGQ2HPUQocGLQ7qbOtdK9Om4uQy+SNzsN+z57ULXqavdyy3KRB2Rk= 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": "bc764e01-f96a-f788-687f-000000000005",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/651a921bc59b43eb939457845a5f03ac/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-23T06:11:55.963198Z",
                            "start": "2026-07-23T06:11:55.177953Z"
                        },
                        "id": "bc764e01-f96a-f788-687f-000000000007",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "ubuntu-noble": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
