[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "gitlab.com/softwarefactory-project/centosinfra-prod/dci-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T16:21:49.635081Z",
                    "start": "2026-06-16T16:21:47.048338Z"
                },
                "id": "0a580a2a-001b-1345-d57a-000000000002",
                "name": "localhost"
            },
            "tasks": [
                {
                    "hosts": {
                        "localhost": {
                            "action": "gather_facts",
                            "ansible_facts": {
                                "ansible_apparmor": {
                                    "status": "disabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_bios_date": "NA",
                                "ansible_bios_vendor": "NA",
                                "ansible_bios_version": "NA",
                                "ansible_board_asset_tag": "NA",
                                "ansible_board_name": "NA",
                                "ansible_board_serial": "NA",
                                "ansible_board_vendor": "NA",
                                "ansible_board_version": "NA",
                                "ansible_chassis_asset_tag": "NA",
                                "ansible_chassis_serial": "NA",
                                "ansible_chassis_vendor": "NA",
                                "ansible_chassis_version": "NA",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "(hd0,gpt3)/vmlinuz-5.14.0-427.13.1.el9_4.x86_64",
                                    "console": "ttyS0,115200n8",
                                    "crashkernel": "1G-4G:192M,4G-64G:256M,64G-:512M",
                                    "net.ifnames": "0",
                                    "no_timer_check": true,
                                    "root": "UUID=2fb0abc1-9d08-48bc-9719-108d4ed14685"
                                },
                                "ansible_date_time": {
                                    "date": "2026-06-16",
                                    "day": "16",
                                    "epoch": "1781626907",
                                    "epoch_int": "1781626907",
                                    "hour": "16",
                                    "iso8601": "2026-06-16T16:21:47Z",
                                    "iso8601_basic": "20260616T162147634049",
                                    "iso8601_basic_short": "20260616T162147",
                                    "iso8601_micro": "2026-06-16T16:21:47.634049Z",
                                    "minute": "21",
                                    "month": "06",
                                    "second": "47",
                                    "time": "16:21:47",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Tuesday",
                                    "weekday_number": "2",
                                    "weeknumber": "24",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Redhat",
                                "ansible_distribution_major_version": "9",
                                "ansible_distribution_release": "Plow",
                                "ansible_distribution_version": "9.7",
                                "ansible_dns": {
                                    "nameservers": [
                                        "10.43.0.10"
                                    ],
                                    "options": {
                                        "ndots": "5"
                                    },
                                    "search": [
                                        "sf.svc.cluster.local",
                                        "svc.cluster.local",
                                        "cluster.local",
                                        "softwarefactory-project.io"
                                    ]
                                },
                                "ansible_domain": "zuul-executor-headless.sf.svc.cluster.local",
                                "ansible_effective_group_id": 0,
                                "ansible_effective_user_id": 1000,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/ansible/pre_playbook_0/ansible.cfg",
                                    "FLUENT_BIT_PORT": "tcp://10.43.174.239:2020",
                                    "FLUENT_BIT_PORT_2020_TCP": "tcp://10.43.174.239:2020",
                                    "FLUENT_BIT_PORT_2020_TCP_ADDR": "10.43.174.239",
                                    "FLUENT_BIT_PORT_2020_TCP_PORT": "2020",
                                    "FLUENT_BIT_PORT_2020_TCP_PROTO": "tcp",
                                    "FLUENT_BIT_PORT_24224_TCP": "tcp://10.43.174.239:24224",
                                    "FLUENT_BIT_PORT_24224_TCP_ADDR": "10.43.174.239",
                                    "FLUENT_BIT_PORT_24224_TCP_PORT": "24224",
                                    "FLUENT_BIT_PORT_24224_TCP_PROTO": "tcp",
                                    "FLUENT_BIT_PORT_5140_TCP": "tcp://10.43.174.239:5140",
                                    "FLUENT_BIT_PORT_5140_TCP_ADDR": "10.43.174.239",
                                    "FLUENT_BIT_PORT_5140_TCP_PORT": "5140",
                                    "FLUENT_BIT_PORT_5140_TCP_PROTO": "tcp",
                                    "FLUENT_BIT_SERVICE_HOST": "10.43.174.239",
                                    "FLUENT_BIT_SERVICE_PORT": "2020",
                                    "FLUENT_BIT_SERVICE_PORT_FB_FWD_INPUT": "24224",
                                    "FLUENT_BIT_SERVICE_PORT_FB_HTTP_INPUT": "5140",
                                    "FLUENT_BIT_SERVICE_PORT_HTTP": "2020",
                                    "HOME": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work",
                                    "HOSTNAME": "zuul-executor-0",
                                    "K8S_COMPONENT": "zuul",
                                    "K8S_CONTAINER": "zuul-executor",
                                    "K8S_LABELS_APP": "sf",
                                    "K8S_LABELS_RUN": "zuul-executor",
                                    "K8S_NAMESPACE": "sf",
                                    "K8S_NODENAME": "microshift-ze01.softwarefactory-project.io",
                                    "K8S_PODIP": "10.42.0.27",
                                    "K8S_PODNAME": "zuul-executor-0",
                                    "KUBECONFIG": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/kube/config",
                                    "KUBERNETES_PORT": "tcp://10.43.0.1:443",
                                    "KUBERNETES_PORT_443_TCP": "tcp://10.43.0.1:443",
                                    "KUBERNETES_PORT_443_TCP_ADDR": "10.43.0.1",
                                    "KUBERNETES_PORT_443_TCP_PORT": "443",
                                    "KUBERNETES_PORT_443_TCP_PROTO": "tcp",
                                    "KUBERNETES_SERVICE_HOST": "10.43.0.1",
                                    "KUBERNETES_SERVICE_PORT": "443",
                                    "KUBERNETES_SERVICE_PORT_HTTPS": "443",
                                    "LC_CTYPE": "C.UTF-8",
                                    "NSS_SDB_USE_CACHE": "no",
                                    "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                    "PWD": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_0/gitlab.com/softwarefactory-project/centosinfra-prod/dci-config/playbooks/base",
                                    "PYTHONPATH": "/var/lib/zuul/ansible/9",
                                    "REQUESTS_CA_BUNDLE": "/etc/ssl/certs/ca-bundle.crt",
                                    "SHLVL": "1",
                                    "SSH_AGENT_PID": "795243",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-XXXXXXzQxm5w/agent.795242",
                                    "TERM": "xterm",
                                    "TMP": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/tmp",
                                    "XDG_CACHE_HOME": "/var/cache/dhall",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824",
                                    "_": "/usr/lib/zuul/ansible/9/bin/python",
                                    "container": "oci"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "zuul-executor-0.zuul-executor-headless.sf.svc.cluster.local",
                                "ansible_hostname": "zuul-executor-0",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.14.0-427.13.1.el9_4.x86_64",
                                "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Wed Apr 10 10:29:16 EDT 2024",
                                "ansible_loadavg": {
                                    "15m": 1.31,
                                    "1m": 1.22,
                                    "5m": 1.31
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 1334,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 8300,
                                        "used": 7436
                                    },
                                    "real": {
                                        "free": 1334,
                                        "total": 15736,
                                        "used": 14402
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 15736,
                                "ansible_mounts": [
                                    {
                                        "block_available": 20625386,
                                        "block_size": 4096,
                                        "block_total": 25884155,
                                        "block_used": 5258769,
                                        "device": "/dev/vda4",
                                        "fstype": "xfs",
                                        "inode_available": 51132611,
                                        "inode_total": 51801024,
                                        "inode_used": 668413,
                                        "mount": "/etc/hosts",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 84481581056,
                                        "size_total": 106021498880,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5051799,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2796137,
                                        "device": "/dev/topolvm/fca70fb6-33c3-4b13-ac96-46f2db9c32d6",
                                        "fstype": "xfs",
                                        "inode_available": 15194928,
                                        "inode_total": 15728640,
                                        "inode_used": 533712,
                                        "mount": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work",
                                        "options": "rw,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 20692168704,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 20625386,
                                        "block_size": 4096,
                                        "block_total": 25884155,
                                        "block_used": 5258769,
                                        "device": "/dev/vda4",
                                        "fstype": "xfs",
                                        "inode_available": 51132611,
                                        "inode_total": 51801024,
                                        "inode_used": 668413,
                                        "mount": "/etc/pki/ca-trust/extracted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 84481581056,
                                        "size_total": 106021498880,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5051799,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2796137,
                                        "device": "/dev/topolvm/fca70fb6-33c3-4b13-ac96-46f2db9c32d6",
                                        "fstype": "xfs",
                                        "inode_available": 15194928,
                                        "inode_total": 15728640,
                                        "inode_used": 533712,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 20692168704,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5051799,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2796137,
                                        "device": "/dev/topolvm/fca70fb6-33c3-4b13-ac96-46f2db9c32d6",
                                        "fstype": "xfs",
                                        "inode_available": 15194928,
                                        "inode_total": 15728640,
                                        "inode_used": 533712,
                                        "mount": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/ansible",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 20692168704,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5051799,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2796137,
                                        "device": "/dev/topolvm/fca70fb6-33c3-4b13-ac96-46f2db9c32d6",
                                        "fstype": "xfs",
                                        "inode_available": 15194928,
                                        "inode_total": 15728640,
                                        "inode_used": 533712,
                                        "mount": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/kube",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 20692168704,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5051799,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2796137,
                                        "device": "/dev/topolvm/fca70fb6-33c3-4b13-ac96-46f2db9c32d6",
                                        "fstype": "xfs",
                                        "inode_available": 15194928,
                                        "inode_total": 15728640,
                                        "inode_used": 533712,
                                        "mount": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 20692168704,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5051799,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2796137,
                                        "device": "/dev/topolvm/fca70fb6-33c3-4b13-ac96-46f2db9c32d6",
                                        "fstype": "xfs",
                                        "inode_available": 15194928,
                                        "inode_total": 15728640,
                                        "inode_used": 533712,
                                        "mount": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 20692168704,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5051799,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2796137,
                                        "device": "/dev/topolvm/fca70fb6-33c3-4b13-ac96-46f2db9c32d6",
                                        "fstype": "xfs",
                                        "inode_available": 15194928,
                                        "inode_total": 15728640,
                                        "inode_used": 533712,
                                        "mount": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/ansible/pre_playbook_0",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 20692168704,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5051799,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2796137,
                                        "device": "/dev/topolvm/fca70fb6-33c3-4b13-ac96-46f2db9c32d6",
                                        "fstype": "xfs",
                                        "inode_available": 15194928,
                                        "inode_total": 15728640,
                                        "inode_used": 533712,
                                        "mount": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/.ansible",
                                        "options": "rw,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 20692168704,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "zuul-executor-0",
                                "ansible_os_family": "Redhat",
                                "ansible_pkg_mgr": "unknown",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "(hd0,gpt3)/vmlinuz-5.14.0-427.13.1.el9_4.x86_64",
                                    "console": [
                                        "tty0",
                                        "ttyS0,115200n8"
                                    ],
                                    "crashkernel": "1G-4G:192M,4G-64G:256M,64G-:512M",
                                    "net.ifnames": "0",
                                    "no_timer_check": true,
                                    "root": "UUID=2fb0abc1-9d08-48bc-9719-108d4ed14685"
                                },
                                "ansible_processor": [
                                    "0",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "1",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "2",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "3",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "4",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "5",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "6",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "7",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor"
                                ],
                                "ansible_processor_cores": 1,
                                "ansible_processor_count": 8,
                                "ansible_processor_nproc": 8,
                                "ansible_processor_threads_per_core": 1,
                                "ansible_processor_vcpus": 8,
                                "ansible_product_name": "NA",
                                "ansible_product_serial": "NA",
                                "ansible_product_uuid": "NA",
                                "ansible_product_version": "NA",
                                "ansible_python": {
                                    "executable": "/usr/lib/zuul/ansible/9/bin/python",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 13,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        13,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.13",
                                "ansible_real_group_id": 0,
                                "ansible_real_user_id": 1000,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "bwrap",
                                "ansible_swapfree_mb": 0,
                                "ansible_swaptotal_mb": 0,
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": [
                                    ""
                                ],
                                "ansible_system_capabilities_enforced": "True",
                                "ansible_system_vendor": "NA",
                                "ansible_uptime_seconds": 10359063,
                                "ansible_user_dir": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work",
                                "ansible_user_gecos": "1000 user",
                                "ansible_user_gid": 0,
                                "ansible_user_id": "1000",
                                "ansible_user_shell": "/sbin/nologin",
                                "ansible_user_uid": 1000,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "guest",
                                "ansible_virtualization_tech_guest": [
                                    "container"
                                ],
                                "ansible_virtualization_tech_host": [
                                    "kvm"
                                ],
                                "ansible_virtualization_type": "container",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "deprecations": [],
                            "warnings": []
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:47.953553Z",
                            "start": "2026-06-16T16:21:47.055701Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-0000000000a3",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000008",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:47.980121Z",
                            "start": "2026-06-16T16:21:47.961294Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000000a",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "b5b/dci/b5ba9e19a7e44ecc999a92aa524b8af1"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-0000000000c6",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:48.028994Z",
                            "start": "2026-06-16T16:21:47.989864Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-0000000000c8",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.18\nJob: dci-python-test-with-dciclient-job\nPipeline: check\nExecutor: 38.102.83.47\nTriggered by: https://github.com/distributedci/dci-ansible/pull/5\nEvent ID: 3cc5ab60-699f-11f1-9e8d-3a4f54de6971\n"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000008",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:48.091696Z",
                            "start": "2026-06-16T16:21:48.040010Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000000b",
                        "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: testrunner\nHostname: 559b2dcfae15\nUsername: zuul\nDistro: RedHat 8.10\nProvider: k1s06\nRegion: \nLabel: zuul-worker-ubi8\nProduct Name: OpenStack Nova\nInterface IP: zuul-worker-ubi8-0000076244\n",
                                    "zj_item": "testrunner"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000008",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:48.232631Z",
                            "start": "2026-06-16T16:21:48.097315Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000000c",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "mode": "0755",
                                    "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "mode": "02755",
                                    "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/zuul-info",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 493,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "1000",
                            "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/zuul-info",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-00000000001b",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:48.677689Z",
                            "start": "2026-06-16T16:21:48.237818Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000001d",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "47e02b7cdb773fe7251286f658742725c68efe89",
                            "dest": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "47e02b7cdb773fe7251286f658742725c68efe89",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/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/b5ba9e19a7e44ecc999a92aa524b8af1/work/.ansible/tmp/ansible-tmp-1781626908.7306526-57-217923225210919/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8ef63ac0edc45e1a3cc3a1508b9e3281",
                            "mode": "0644",
                            "owner": "1000",
                            "size": 24317,
                            "src": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/.ansible/tmp/ansible-tmp-1781626908.7306526-57-217923225210919/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-00000000001b",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:49.635081Z",
                            "start": "2026-06-16T16:21:48.685311Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000001e",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T16:22:36.569334Z",
                    "start": "2026-06-16T16:21:49.644231Z"
                },
                "id": "0a580a2a-001b-1345-d57a-000000000026",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "testrunner": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-00000000002c",
                        "name": "start-zuul-console",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/start-zuul-console"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.559093Z",
                            "start": "2026-06-16T16:21:49.656371Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000002e",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.599918Z",
                            "start": "2026-06-16T16:21:55.572053Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000003b",
                        "name": "Define zuul_info_dir fact"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.645017Z",
                            "start": "2026-06-16T16:21:55.608048Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000003c",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "setup",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.679911Z",
                            "start": "2026-06-16T16:21:55.653899Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000003d",
                        "name": "Collect information about the host"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.714320Z",
                            "start": "2026-06-16T16:21:55.687691Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000003e",
                        "name": "Sanitize hostname"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "template",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.762029Z",
                            "start": "2026-06-16T16:21:55.724930Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000003f",
                        "name": "Write out all ansible variables/facts known for each host"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "zuul_debug_info",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.799723Z",
                            "start": "2026-06-16T16:21:55.771148Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-000000000041",
                        "name": "Collect information about zuul worker"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "template",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.843672Z",
                            "start": "2026-06-16T16:21:55.807823Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-000000000042",
                        "name": "Write out all zuul information for each host"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "zuul_console",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000059",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.878673Z",
                            "start": "2026-06-16T16:21:55.860932Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000005b",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "synchronize",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": false,
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000059",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.920207Z",
                            "start": "2026-06-16T16:21:55.893969Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000005c",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "stat",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000068",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:55.973666Z",
                            "start": "2026-06-16T16:21:55.935612Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000006a",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_connection != 'kubectl'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000068",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:56.021151Z",
                            "start": "2026-06-16T16:21:55.982408Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000006b",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_pod",
                                    "include": "rsync.yaml",
                                    "include_args": {},
                                    "zj_pod": [
                                        "testrunner",
                                        {
                                            "context": "main:zuul-worker/38-102-83-49:9023",
                                            "namespace": "main",
                                            "pod": "zuul-worker-ubi8-0000076244",
                                            "resources": {
                                                "cores": 0,
                                                "instances": 1,
                                                "ram": 0
                                            },
                                            "stream_port1": 35031,
                                            "stream_port2": 40741
                                        }
                                    ]
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000078",
                        "name": "prepare-workspace-openshift",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-openshift"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:56.103177Z",
                            "start": "2026-06-16T16:21:56.034953Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-00000000007a",
                        "name": "Include rsync tasks"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "oc",
                                "--context",
                                "main:zuul-worker/38-102-83-49:9023",
                                "--namespace",
                                "main",
                                "exec",
                                "zuul-worker-ubi8-0000076244",
                                "mkdir",
                                "src"
                            ],
                            "delta": "0:00:00.939629",
                            "end": "2026-06-16 16:21:57.514977",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "oc --context \"main:zuul-worker/38-102-83-49:9023\"\n   --namespace \"main\"\n   exec zuul-worker-ubi8-0000076244 mkdir src\n",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0a580a2a-001b-1345-d57a-000000000126-0-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:21:56.575348",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-001b-1345-d57a-000000000126-0-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000078",
                        "name": "prepare-workspace-openshift",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-openshift"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:57.586475Z",
                            "start": "2026-06-16T16:21:56.123982Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-000000000126",
                        "name": "Create src directory"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000078",
                        "name": "prepare-workspace-openshift",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-openshift"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:21:59.986033Z",
                            "start": "2026-06-16T16:21:57.596502Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-000000000127",
                        "name": "Copy src repos to the pod"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/var/lib/zuul-ssh/..data/priv"
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000085",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:00.450028Z",
                            "start": "2026-06-16T16:21:59.998005Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-000000000087",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "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": "/root/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/root/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": "/root/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/root/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": "/root/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/root/zuul-output/docs",
                                    "state": "absent",
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000092",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:18.330250Z",
                            "start": "2026-06-16T16:22:00.456859Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-000000000094",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/root/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/root/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/root/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/root/zuul-output/logs",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/root/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/root/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/root/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/root/zuul-output/artifacts",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/root/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/root/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/root/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/root/zuul-output/docs",
                                    "size": 6,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1345-d57a-000000000092",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:36.569334Z",
                            "start": "2026-06-16T16:22:18.334958Z"
                        },
                        "id": "0a580a2a-001b-1345-d57a-000000000096",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "localhost": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 6,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        },
        "testrunner": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 7,
            "rescued": 0,
            "skipped": 11,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "master",
    "index": "1",
    "phase": "pre",
    "playbook": "opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T16:22:56.237521Z",
                    "start": "2026-06-16T16:22:37.278346Z"
                },
                "id": "0a580a2a-001b-a31e-b57f-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "bindep"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:37.336238Z",
                            "start": "2026-06-16T16:22:37.287983Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000004",
                        "name": "Install binary dependencies"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "find.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:37.378868Z",
                            "start": "2026-06-16T16:22:37.351560Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-00000000001e",
                        "name": "Include find tasks"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "src/github.com/distributedci/dci-ansible/bindep.txt"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:43.445772Z",
                            "start": "2026-06-16T16:22:37.388758Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-00000000003e",
                        "name": "Look for bindep.txt"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "bindep_file_stat.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:43.470157Z",
                            "start": "2026-06-16T16:22:43.452741Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-00000000003f",
                        "name": "Define bindep_file fact"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "src/github.com/distributedci/dci-ansible/other-requirements.txt"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:49.465484Z",
                            "start": "2026-06-16T16:22:43.477708Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000040",
                        "name": "Look for other-requirements.txt"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "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": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:49.509071Z",
                            "start": "2026-06-16T16:22:49.472164Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000041",
                        "name": "Define bindep_file fact"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "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": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:49.553100Z",
                            "start": "2026-06-16T16:22:49.516650Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000042",
                        "name": "Look for bindep fallback file"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "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": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:49.596978Z",
                            "start": "2026-06-16T16:22:49.560727Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000043",
                        "name": "Define bindep_file fact"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "bindep_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:49.644141Z",
                            "start": "2026-06-16T16:22:49.606842Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-00000000001f",
                        "name": "Include bindep tasks"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "bindep_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:49.691259Z",
                            "start": "2026-06-16T16:22:49.652118Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000020",
                        "name": "Include install tasks"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "bindep_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-a31e-b57f-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:49.754520Z",
                            "start": "2026-06-16T16:22:49.698629Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000021",
                        "name": "Include package tasks"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "test-setup"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:49.790758Z",
                            "start": "2026-06-16T16:22:49.768113Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000005",
                        "name": "Run test-setup role"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "stat",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "src/github.com/distributedci/dci-ansible/tools/test-setup.sh"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-a31e-b57f-00000000008f",
                        "name": "test-setup",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/test-setup"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:55.662726Z",
                            "start": "2026-06-16T16:22:49.818780Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000091",
                        "name": "Check if project's tools/test-setup.sh exists"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "p.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-a31e-b57f-00000000008f",
                        "name": "test-setup",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/test-setup"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:56.237521Z",
                            "start": "2026-06-16T16:22:55.703247Z"
                        },
                        "id": "0a580a2a-001b-a31e-b57f-000000000092",
                        "name": "Run tools/test-setup.sh"
                    }
                }
            ]
        }
    ],
    "stats": {
        "testrunner": {
            "changed": 0,
            "failures": 0,
            "ignored": 0,
            "ok": 4,
            "rescued": 0,
            "skipped": 8,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "2",
    "phase": "pre",
    "playbook": "opendev.org/zuul/zuul-jobs/playbooks/tox/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T16:23:23.098216Z",
                    "start": "2026-06-16T16:22:57.026990Z"
                },
                "id": "0a580a2a-001b-fe7e-155f-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "testrunner": {
                            "action": "assert",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:57.071937Z",
                            "start": "2026-06-16T16:22:57.038053Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000008",
                        "name": "Validate python_version value"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:57.109841Z",
                            "start": "2026-06-16T16:22:57.075787Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000000a",
                        "name": "Install specified version of python interpreter and development files (DEB)"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:57.147838Z",
                            "start": "2026-06-16T16:22:57.113310Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000000b",
                        "name": "Pull in venv package"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:57.185324Z",
                            "start": "2026-06-16T16:22:57.158595Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000000d",
                        "name": "Set default RPM package name"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:57.218778Z",
                            "start": "2026-06-16T16:22:57.192493Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000000e",
                        "name": "Set RPM package name for CentOS/RHEL 9/10"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:57.251954Z",
                            "start": "2026-06-16T16:22:57.225810Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000000f",
                        "name": "Install RPM package"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "python_use_pyenv",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:57.285578Z",
                            "start": "2026-06-16T16:22:57.259166Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000011",
                        "name": "Install python using pyenv"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:57.318218Z",
                            "start": "2026-06-16T16:22:57.292671Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000012",
                        "name": "Activate python using stow"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "ensure-pip"
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:22:57.352860Z",
                            "start": "2026-06-16T16:22:57.331079Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000016",
                        "name": "Install pip"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "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.126768",
                            "end": "2026-06-16 16:23:02.565097",
                            "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": "0a580a2a-001b-fe7e-155f-000000000081-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:23:02.438329",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/pip3\nusage: __main__.py [-h]\n                   {unpack,install,install-scripts,convert,version,help} ...\n\npositional arguments:\n  {unpack,install,install-scripts,convert,version,help}\n                        commands\n    unpack              Unpack wheel\n    install             Install wheels\n    install-scripts     Install console_scripts\n    convert             Convert egg or wininst to wheel\n    version             Print version and exit\n    help                Show this help\n\noptional arguments:\n  -h, --help            show this help message and exit",
                            "stdout_lines": [
                                "/usr/bin/pip3",
                                "usage: __main__.py [-h]",
                                "                   {unpack,install,install-scripts,convert,version,help} ...",
                                "",
                                "positional arguments:",
                                "  {unpack,install,install-scripts,convert,version,help}",
                                "                        commands",
                                "    unpack              Unpack wheel",
                                "    install             Install wheels",
                                "    install-scripts     Install console_scripts",
                                "    convert             Convert egg or wininst to wheel",
                                "    version             Print version and exit",
                                "    help                Show this help",
                                "",
                                "optional arguments:",
                                "  -h, --help            show this help message and exit"
                            ],
                            "zuul_log_id": "0a580a2a-001b-fe7e-155f-000000000081-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:03.625711Z",
                            "start": "2026-06-16T16:22:57.404688Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000081",
                        "name": "Check if pip is installed"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "msg": "All items skipped",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_distro_os",
                                    "changed": false,
                                    "false_condition": "pip_preinstalled.rc != 0",
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true,
                                    "zj_distro_os": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/RedHat.yaml"
                                }
                            ],
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:03.678544Z",
                            "start": "2026-06-16T16:23:03.632458Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000082",
                        "name": "Install pip from packages"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "ansible_python.version.major == 2",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:03.712941Z",
                            "start": "2026-06-16T16:23:03.686530Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000087",
                        "name": "Ensure setuptools"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == 'Debian'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:04.023578Z",
                            "start": "2026-06-16T16:23:03.750835Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000088",
                        "name": "Check for ensurepip module"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "ansible_os_family == 'Debian'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:04.058663Z",
                            "start": "2026-06-16T16:23:04.032042Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000089",
                        "name": "Ensure python3-venv"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ensure_pip_from_upstream",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:04.093103Z",
                            "start": "2026-06-16T16:23:04.066924Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000008a",
                        "name": "Install pip from source"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v python3\n",
                            "delta": "0:00:00.009539",
                            "end": "2026-06-16 16:23:09.085409",
                            "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": "0a580a2a-001b-fe7e-155f-00000000008b-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:23:09.075870",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/python3",
                            "stdout_lines": [
                                "/usr/bin/python3"
                            ],
                            "zuul_log_id": "0a580a2a-001b-fe7e-155f-00000000008b-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:10.094918Z",
                            "start": "2026-06-16T16:23:04.130695Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000008b",
                        "name": "Probe for venv python full path"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "_host_virtualenv": "/usr/bin/python3 -m venv"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:10.175958Z",
                            "start": "2026-06-16T16:23:10.101645Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000008c",
                        "name": "Set host default"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "ensure_pip_virtualenv_command": "/usr/bin/python3 -m venv"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:10.238707Z",
                            "start": "2026-06-16T16:23:10.183853Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000008d",
                        "name": "Set ensure_pip_virtualenv_command"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v tox /root/.local/tox/bin/tox || exit 1\n",
                            "delta": "0:00:00.008943",
                            "end": "2026-06-16 16:23:15.212195",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "command -v tox /root/.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": "0a580a2a-001b-fe7e-155f-000000000017-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:23:15.203252",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/workspace/.local/bin/tox",
                            "stdout_lines": [
                                "/workspace/.local/bin/tox"
                            ],
                            "zuul_log_id": "0a580a2a-001b-fe7e-155f-000000000017-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:16.197001Z",
                            "start": "2026-06-16T16:23:10.276216Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000017",
                        "name": "Check if tox is installed"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "tox_executable": "/workspace/.local/bin/tox"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:16.257355Z",
                            "start": "2026-06-16T16:23:16.203163Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-000000000018",
                        "name": "Export preinstalled tox_exectuable"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "tox_preinstalled.rc != 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:16.560734Z",
                            "start": "2026-06-16T16:23:16.294890Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000001a",
                        "name": "Create local venv"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "tox_preinstalled.rc != 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:17.027344Z",
                            "start": "2026-06-16T16:23:16.629813Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000001b",
                        "name": "Install tox to local venv"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_preinstalled.rc != 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:17.061153Z",
                            "start": "2026-06-16T16:23:17.034805Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000001c",
                        "name": "Export installed tox_executable path"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.229303",
                            "end": "2026-06-16 16:23:22.033556",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/workspace/.local/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": "0a580a2a-001b-fe7e-155f-00000000001e-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:23:21.804253",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "3.28.0 imported from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "3.28.0 imported from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "0a580a2a-001b-fe7e-155f-00000000001e-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:23.067670Z",
                            "start": "2026-06-16T16:23:17.096194Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000001e",
                        "name": "Output tox version"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "ensure_global_symlinks",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fe7e-155f-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:23.098216Z",
                            "start": "2026-06-16T16:23:23.072756Z"
                        },
                        "id": "0a580a2a-001b-fe7e-155f-00000000001f",
                        "name": "Make global symlink"
                    }
                }
            ]
        }
    ],
    "stats": {
        "testrunner": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 7,
            "rescued": 0,
            "skipped": 17,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "3",
    "phase": "pre",
    "playbook": "gitlab.com/softwarefactory-project/centosinfra-prod/dci-config/playbooks/python/pre-run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T16:28:23.986566Z",
                    "start": "2026-06-16T16:23:23.843594Z"
                },
                "id": "0a580a2a-001b-6047-e3bb-000000000002",
                "name": "testrunner"
            },
            "tasks": [
                {
                    "hosts": {
                        "testrunner": {
                            "action": "ansible.builtin.command",
                            "changed": false,
                            "cmd": [
                                "readlink",
                                "-f",
                                "src/github.com/distributedci/dci-ansible"
                            ],
                            "delta": "0:00:00.008827",
                            "end": "2026-06-16 16:23:28.922590",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "readlink -f src/github.com/distributedci/dci-ansible",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0a580a2a-001b-6047-e3bb-000000000004-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:23:28.913763",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/workspace/src/github.com/distributedci/dci-ansible",
                            "stdout_lines": [
                                "/workspace/src/github.com/distributedci/dci-ansible"
                            ],
                            "zuul_log_id": "0a580a2a-001b-6047-e3bb-000000000004-1-testrunner"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:29.955581Z",
                            "start": "2026-06-16T16:23:23.864904Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000004",
                        "name": "Get full path of current project's src dir"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_basedir": "/workspace"
                            },
                            "changed": false
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:23:30.038860Z",
                            "start": "2026-06-16T16:23:29.959740Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000005",
                        "name": "Set fact for zuul_basedir"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "package",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "allow_downgrade": false,
                                    "allowerasing": false,
                                    "autoremove": false,
                                    "bugfix": false,
                                    "cacheonly": false,
                                    "conf_file": null,
                                    "disable_excludes": null,
                                    "disable_gpg_check": false,
                                    "disable_plugin": [],
                                    "disablerepo": [],
                                    "download_dir": null,
                                    "download_only": false,
                                    "enable_plugin": [],
                                    "enablerepo": [],
                                    "exclude": [],
                                    "install_repoquery": true,
                                    "install_weak_deps": true,
                                    "installroot": "/",
                                    "list": null,
                                    "lock_timeout": 30,
                                    "name": [
                                        "gcc",
                                        "git",
                                        "libpq-devel",
                                        "python3",
                                        "python3-devel",
                                        "python3-pip",
                                        "python3.12",
                                        "python3.12-devel",
                                        "python3.12-pip",
                                        "postgresql-server",
                                        "postgresql-devel"
                                    ],
                                    "nobest": false,
                                    "releasever": null,
                                    "security": false,
                                    "skip_broken": false,
                                    "sslverify": true,
                                    "state": "latest",
                                    "update_cache": false,
                                    "update_only": false,
                                    "use_backend": "auto",
                                    "validate_certs": true
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "results": [
                                "Installed: python3.12-setuptools-68.2.2-5.el8_10.noarch",
                                "Installed: postgresql-server-10.23-4.module+el8.9.0+21317+d2c6bf8a.x86_64",
                                "Installed: mpdecimal-2.5.1-3.el8.x86_64",
                                "Installed: python3.12-pip-wheel-23.2.1-4.el8.noarch",
                                "Installed: libpq-13.23-1.el8_10.x86_64",
                                "Installed: python3.12-pip-23.2.1-4.el8.noarch",
                                "Installed: libpq-devel-13.23-1.el8_10.x86_64",
                                "Installed: python3.12-3.12.13-2.el8_10.x86_64",
                                "Installed: postgresql-10.23-4.module+el8.9.0+21317+d2c6bf8a.x86_64",
                                "Installed: python3.12-devel-3.12.13-2.el8_10.x86_64",
                                "Installed: python3.12-libs-3.12.13-2.el8_10.x86_64"
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:40.265647Z",
                            "start": "2026-06-16T16:23:30.042825Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000006",
                        "name": "Install required packages"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "ensure-tox"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:40.293627Z",
                            "start": "2026-06-16T16:24:40.271814Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000007",
                        "name": "Install tox"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "ensure-pip"
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:40.344951Z",
                            "start": "2026-06-16T16:24:40.325695Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000045",
                        "name": "Install pip"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "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.127953",
                            "end": "2026-06-16 16:24:45.495126",
                            "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": "0a580a2a-001b-6047-e3bb-00000000009a-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:24:45.367173",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/pip3\nusage: __main__.py [-h]\n                   {unpack,install,install-scripts,convert,version,help} ...\n\npositional arguments:\n  {unpack,install,install-scripts,convert,version,help}\n                        commands\n    unpack              Unpack wheel\n    install             Install wheels\n    install-scripts     Install console_scripts\n    convert             Convert egg or wininst to wheel\n    version             Print version and exit\n    help                Show this help\n\noptional arguments:\n  -h, --help            show this help message and exit",
                            "stdout_lines": [
                                "/usr/bin/pip3",
                                "usage: __main__.py [-h]",
                                "                   {unpack,install,install-scripts,convert,version,help} ...",
                                "",
                                "positional arguments:",
                                "  {unpack,install,install-scripts,convert,version,help}",
                                "                        commands",
                                "    unpack              Unpack wheel",
                                "    install             Install wheels",
                                "    install-scripts     Install console_scripts",
                                "    convert             Convert egg or wininst to wheel",
                                "    version             Print version and exit",
                                "    help                Show this help",
                                "",
                                "optional arguments:",
                                "  -h, --help            show this help message and exit"
                            ],
                            "zuul_log_id": "0a580a2a-001b-6047-e3bb-00000000009a-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:46.575236Z",
                            "start": "2026-06-16T16:24:40.386794Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000009a",
                        "name": "Check if pip is installed"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "msg": "All items skipped",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_distro_os",
                                    "changed": false,
                                    "false_condition": "pip_preinstalled.rc != 0",
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true,
                                    "zj_distro_os": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/RedHat.yaml"
                                }
                            ],
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:46.618259Z",
                            "start": "2026-06-16T16:24:46.582013Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000009b",
                        "name": "Install pip from packages"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "ansible_python.version.major == 2",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:46.652070Z",
                            "start": "2026-06-16T16:24:46.625812Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-0000000000a0",
                        "name": "Ensure setuptools"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == 'Debian'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:46.980518Z",
                            "start": "2026-06-16T16:24:46.689695Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-0000000000a1",
                        "name": "Check for ensurepip module"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "ansible_os_family == 'Debian'",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:47.015723Z",
                            "start": "2026-06-16T16:24:46.989717Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-0000000000a2",
                        "name": "Ensure python3-venv"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ensure_pip_from_upstream",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:47.049417Z",
                            "start": "2026-06-16T16:24:47.023522Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-0000000000a3",
                        "name": "Install pip from source"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v python3\n",
                            "delta": "0:00:00.009488",
                            "end": "2026-06-16 16:24:52.791835",
                            "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": "0a580a2a-001b-6047-e3bb-0000000000a4-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:24:52.782347",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/python3",
                            "stdout_lines": [
                                "/usr/bin/python3"
                            ],
                            "zuul_log_id": "0a580a2a-001b-6047-e3bb-0000000000a4-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:53.788353Z",
                            "start": "2026-06-16T16:24:47.085878Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-0000000000a4",
                        "name": "Probe for venv python full path"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "_host_virtualenv": "/usr/bin/python3 -m venv"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:53.867689Z",
                            "start": "2026-06-16T16:24:53.794767Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-0000000000a5",
                        "name": "Set host default"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "ensure_pip_virtualenv_command": "/usr/bin/python3 -m venv"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:24:53.948398Z",
                            "start": "2026-06-16T16:24:53.873851Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-0000000000a6",
                        "name": "Set ensure_pip_virtualenv_command"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v /workspace/.local/bin/tox /root/.local/tox/bin/tox || exit 1\n",
                            "delta": "0:00:00.009194",
                            "end": "2026-06-16 16:24:58.983241",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "command -v /workspace/.local/bin/tox /root/.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": "0a580a2a-001b-6047-e3bb-000000000046-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:24:58.974047",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/workspace/.local/bin/tox",
                            "stdout_lines": [
                                "/workspace/.local/bin/tox"
                            ],
                            "zuul_log_id": "0a580a2a-001b-6047-e3bb-000000000046-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:25:00.034353Z",
                            "start": "2026-06-16T16:24:53.987460Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000046",
                        "name": "Check if tox is installed"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "tox_executable": "/workspace/.local/bin/tox"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:25:00.077132Z",
                            "start": "2026-06-16T16:25:00.042286Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000047",
                        "name": "Export preinstalled tox_exectuable"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "tox_preinstalled.rc != 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:25:00.434165Z",
                            "start": "2026-06-16T16:25:00.145597Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000049",
                        "name": "Create local venv"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "tox_preinstalled.rc != 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:25:00.924962Z",
                            "start": "2026-06-16T16:25:00.471488Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000004a",
                        "name": "Install tox to local venv"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_preinstalled.rc != 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:25:00.959334Z",
                            "start": "2026-06-16T16:25:00.933217Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000004b",
                        "name": "Export installed tox_executable path"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.227207",
                            "end": "2026-06-16 16:25:06.094954",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/workspace/.local/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": "0a580a2a-001b-6047-e3bb-00000000004d-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:25:05.867747",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "3.28.0 imported from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "3.28.0 imported from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "0a580a2a-001b-6047-e3bb-00000000004d-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:25:07.293108Z",
                            "start": "2026-06-16T16:25:00.994745Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000004d",
                        "name": "Output tox version"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "ensure_global_symlinks",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-6047-e3bb-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:25:07.326409Z",
                            "start": "2026-06-16T16:25:07.300797Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000004e",
                        "name": "Make global symlink"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "stat",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/dci-ansible",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "195ded490a3841b8c0e8da8948f4e705d874720f",
                                        "name": "distributedci/dci-ansible",
                                        "required": false,
                                        "short_name": "dci-ansible",
                                        "src_dir": "src/github.com/distributedci/dci-ansible"
                                    },
                                    "stat": {
                                        "atime": 1781626919.2470772,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "2384c5e04c12a4740dbd3380a21b55b16f836808",
                                        "ctime": 1781626919.2470772,
                                        "dev": 51,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 344499506,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1781626894.723607,
                                        "nlink": 1,
                                        "path": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                        "pw_name": "root",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 34,
                                        "uid": 0,
                                        "version": null,
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/dci-control-server",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "4ba1a779be565de9a6f47d616151c8b0bd23f864",
                                        "name": "distributedci/dci-control-server",
                                        "required": true,
                                        "short_name": "dci-control-server",
                                        "src_dir": "src/github.com/distributedci/dci-control-server"
                                    },
                                    "stat": {
                                        "atime": 1781626919.275078,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "f270aee2e10540b70349cbabd822a21c2fb555d0",
                                        "ctime": 1781626919.275078,
                                        "dev": 51,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 369663078,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1781626895.5976307,
                                        "nlink": 1,
                                        "path": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                        "pw_name": "root",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 71,
                                        "uid": 0,
                                        "version": null,
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/dci-pipeline",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "3f6e2d60df291b5b85c2fac4e5c17da88f50e7fc",
                                        "name": "distributedci/dci-pipeline",
                                        "required": false,
                                        "short_name": "dci-pipeline",
                                        "src_dir": "src/github.com/distributedci/dci-pipeline"
                                    },
                                    "stat": {
                                        "atime": 1781626919.6110885,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "c409b78ca429d4631f542a4ad665c7ce971d0fde",
                                        "ctime": 1781626919.6110885,
                                        "dev": 51,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 336394648,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1781626893.944586,
                                        "nlink": 1,
                                        "path": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                        "pw_name": "root",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 12,
                                        "uid": 0,
                                        "version": null,
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/python-dciclient",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "ec18fb7db4b2b1764b8a342bcad42f710ec19af3",
                                        "name": "distributedci/python-dciclient",
                                        "required": true,
                                        "short_name": "python-dciclient",
                                        "src_dir": "src/github.com/distributedci/python-dciclient"
                                    },
                                    "stat": {
                                        "atime": 1781626919.7060914,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "ad3395704c4007032ce26a4301b15abf23543967",
                                        "ctime": 1781626919.7060914,
                                        "dev": 51,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 244577216,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1781626893.234567,
                                        "nlink": 1,
                                        "path": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt",
                                        "pw_name": "root",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 52,
                                        "uid": 0,
                                        "version": null,
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/gitlab.com/softwarefactory-project/centosinfra-prod/dci-config/test-requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "gitlab.com",
                                        "canonical_name": "gitlab.com/softwarefactory-project/centosinfra-prod/dci-config",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "401c077f4f321288dc08f65b2bd861fbd6a8e7ea",
                                        "name": "softwarefactory-project/centosinfra-prod/dci-config",
                                        "required": true,
                                        "short_name": "dci-config",
                                        "src_dir": "src/gitlab.com/softwarefactory-project/centosinfra-prod/dci-config"
                                    },
                                    "stat": {
                                        "exists": false
                                    }
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:25:36.425389Z",
                            "start": "2026-06-16T16:25:07.339650Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000008",
                        "name": "Gather existing test-requirements.txt files"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "existing_requirements_files": [
                                    "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                    "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                    "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                    "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt"
                                ]
                            },
                            "changed": false
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:25:36.486812Z",
                            "start": "2026-06-16T16:25:36.434301Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000009",
                        "name": "Initialize existing_requirements_files with existing test-requirements.txt"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "stat",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/dci-ansible",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "195ded490a3841b8c0e8da8948f4e705d874720f",
                                        "name": "distributedci/dci-ansible",
                                        "required": false,
                                        "short_name": "dci-ansible",
                                        "src_dir": "src/github.com/distributedci/dci-ansible"
                                    },
                                    "stat": {
                                        "atime": 1781626919.246077,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "fa2a3f24a20dacf97659271d7cd341f8a4ddba70",
                                        "ctime": 1781626919.246077,
                                        "dev": 51,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 344499505,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1781626895.4156258,
                                        "nlink": 1,
                                        "path": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt",
                                        "pw_name": "root",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 34,
                                        "uid": 0,
                                        "version": null,
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/dci-control-server",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "4ba1a779be565de9a6f47d616151c8b0bd23f864",
                                        "name": "distributedci/dci-control-server",
                                        "required": true,
                                        "short_name": "dci-control-server",
                                        "src_dir": "src/github.com/distributedci/dci-control-server"
                                    },
                                    "stat": {
                                        "atime": 1781626919.275078,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "7ae231b431e065d5589545f62e3c391d2acc3172",
                                        "ctime": 1781626919.275078,
                                        "dev": 51,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 369663076,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1781626895.5956306,
                                        "nlink": 1,
                                        "path": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt",
                                        "pw_name": "root",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 231,
                                        "uid": 0,
                                        "version": null,
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/dci-pipeline",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "3f6e2d60df291b5b85c2fac4e5c17da88f50e7fc",
                                        "name": "distributedci/dci-pipeline",
                                        "required": false,
                                        "short_name": "dci-pipeline",
                                        "src_dir": "src/github.com/distributedci/dci-pipeline"
                                    },
                                    "stat": {
                                        "atime": 1781626919.6100883,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "be38efd1e751fecb2fddd9a5542da10a7bba342f",
                                        "ctime": 1781626919.6110885,
                                        "dev": 51,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 336394645,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1781626893.9435859,
                                        "nlink": 1,
                                        "path": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt",
                                        "pw_name": "root",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 80,
                                        "uid": 0,
                                        "version": null,
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/python-dciclient",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "ec18fb7db4b2b1764b8a342bcad42f710ec19af3",
                                        "name": "distributedci/python-dciclient",
                                        "required": true,
                                        "short_name": "python-dciclient",
                                        "src_dir": "src/github.com/distributedci/python-dciclient"
                                    },
                                    "stat": {
                                        "atime": 1781626919.7050915,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "bee3e7afb93f992ab773081a0f927bd150f7be2a",
                                        "ctime": 1781626919.7060914,
                                        "dev": 51,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 244442081,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1781626893.2335668,
                                        "nlink": 1,
                                        "path": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt",
                                        "pw_name": "root",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 29,
                                        "uid": 0,
                                        "version": null,
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": false,
                                        "xoth": false,
                                        "xusr": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": false,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "/workspace/src/gitlab.com/softwarefactory-project/centosinfra-prod/dci-config/requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "gitlab.com",
                                        "canonical_name": "gitlab.com/softwarefactory-project/centosinfra-prod/dci-config",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "401c077f4f321288dc08f65b2bd861fbd6a8e7ea",
                                        "name": "softwarefactory-project/centosinfra-prod/dci-config",
                                        "required": true,
                                        "short_name": "dci-config",
                                        "src_dir": "src/gitlab.com/softwarefactory-project/centosinfra-prod/dci-config"
                                    },
                                    "stat": {
                                        "exists": false
                                    }
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:26:04.409190Z",
                            "start": "2026-06-16T16:25:36.489737Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000000a",
                        "name": "Gather existing requirements.txt files"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "existing_requirements_files": [
                                    "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                    "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                    "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                    "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt",
                                    "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt",
                                    "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt",
                                    "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt",
                                    "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt"
                                ]
                            },
                            "changed": false
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:26:04.501411Z",
                            "start": "2026-06-16T16:26:04.416365Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000000b",
                        "name": "Append existing requirements.txt to existing_requirements_files"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "debug",
                            "changed": false,
                            "existing_requirements_files": [
                                "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt",
                                "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt",
                                "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt",
                                "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt",
                                "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt"
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:26:04.552548Z",
                            "start": "2026-06-16T16:26:04.508005Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000000c",
                        "name": "Debug all existing requirements files"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "replace",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                            "regexp": "^.*dci-control-server.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/dci-control-server",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                            "regexp": "^.*dci-control-server.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/dci-control-server",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                            "regexp": "^.*dci-control-server.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/dci-control-server",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt",
                                            "regexp": "^.*dci-control-server.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/dci-control-server",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt",
                                    "msg": "1 replacements made",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt",
                                            "regexp": "^.*dci-control-server.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/dci-control-server",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt",
                                            "regexp": "^.*dci-control-server.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/dci-control-server",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt",
                                            "regexp": "^.*dci-control-server.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/dci-control-server",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt",
                                            "regexp": "^.*dci-control-server.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/dci-control-server",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:26:50.840788Z",
                            "start": "2026-06-16T16:26:04.558531Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000000d",
                        "name": "Replace dci-control-server link in all existing requirements files"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "replace",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                            "regexp": "^.*dciclient.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/python-dciclient",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                            "regexp": "^.*dciclient.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/python-dciclient",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                    "msg": "1 replacements made",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                            "regexp": "^.*dciclient.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/python-dciclient",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt",
                                            "regexp": "^.*dciclient.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/python-dciclient",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt",
                                            "regexp": "^.*dciclient.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/python-dciclient",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt",
                                    "msg": "1 replacements made",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt",
                                            "regexp": "^.*dciclient.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/python-dciclient",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt",
                                            "regexp": "^.*dciclient.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/python-dciclient",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt",
                                    "msg": "1 replacements made",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt",
                                            "regexp": "^.*dciclient.*$",
                                            "replace": "-e /workspace/src/github.com/distributedci/python-dciclient",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt",
                                    "msg": "",
                                    "rc": 0
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:27:37.313800Z",
                            "start": "2026-06-16T16:26:50.847618Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000000e",
                        "name": "Replace dciclient link in all existing requirements files"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "slurp",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "content": "cHl0ZXN0CmZsYWtlOAotciByZXF1aXJlbWVudHMudHh0Cg==",
                                    "encoding": "base64",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "src": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt"
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                    "source": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "content": "bW9jawpweXRlc3QKLWUgL3dvcmtzcGFjZS9zcmMvZ2l0aHViLmNvbS9kaXN0cmlidXRlZGNpL3B5dGhvbi1kY2ljbGllbnQKZmxha2U4CnRveApyZXNwb25zZXMKaW1wb3J0bGliLW1ldGFkYXRhCmZyZWV6ZWd1bg==",
                                    "encoding": "base64",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "src": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt"
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                    "source": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "content": "bW9jawpweXRlc3QK",
                                    "encoding": "base64",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "src": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt"
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                    "source": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "content": "cHl0ZXN0Ci1lIC93b3Jrc3BhY2Uvc3JjL2dpdGh1Yi5jb20vZGlzdHJpYnV0ZWRjaS9kY2ktY29udHJvbC1zZXJ2ZXIKbW9jawpib3RvMwpyZXNwb25zZXM=",
                                    "encoding": "base64",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "src": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt"
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt",
                                    "source": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "content": "ZGNpYXV0aAotZSAvd29ya3NwYWNlL3NyYy9naXRodWIuY29tL2Rpc3RyaWJ1dGVkY2kvcHl0aG9uLWRjaWNsaWVudAphbnNpYmxlCnNlbGludXgK",
                                    "encoding": "base64",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "src": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt"
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt",
                                    "source": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "content": "cHlqd3QKY3J5cHRvZ3JhcGh5CnB5cGFyc2luZwpweXR6CnBzeWNvcGdbYmluYXJ5LHBvb2xdCnB5T3BlblNTTApqc29uc2NoZW1hClNRTEFsY2hlbXkKYWxlbWJpYwpzaXgKcmVxdWVzdHMKZ3VuaWNvcm5bZ2V2ZW50XQpmbGFzawpqaW5qYTIKbWFya3Vwc2FmZQppdHNkYW5nZXJvdXMKd2Vya3pldWcKU1FMQWxjaGVteS1VdGlscwpwYXNzbGliCmtvbWJ1CmJvdG8zCnJlZGlzCmRjaWF1dGgKdGVuYWNpdHkK",
                                    "encoding": "base64",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "src": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt"
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt",
                                    "source": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "content": "YW5zaWJsZS1jb3JlCmFuc2libGUtcnVubmVyCmRjaWF1dGgKLWUgL3dvcmtzcGFjZS9zcmMvZ2l0aHViLmNvbS9kaXN0cmlidXRlZGNpL3B5dGhvbi1kY2ljbGllbnQKanVuaXQteG1sCmptZXNwYXRoCnNlbGludXgKcHN1dGlsCg==",
                                    "encoding": "base64",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "src": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt"
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt",
                                    "source": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "content": "UHJldHR5VGFibGUKcmVxdWVzdHMKZGNpYXV0aAo=",
                                    "encoding": "base64",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "src": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt"
                                        }
                                    },
                                    "item": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt",
                                    "source": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt"
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:28:23.876474Z",
                            "start": "2026-06-16T16:27:37.320342Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-00000000000f",
                        "name": "Read and display all requirements files from remote host"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "debug",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "content": "cHl0ZXN0CmZsYWtlOAotciByZXF1aXJlbWVudHMudHh0Cg==",
                                        "encoding": "base64",
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "src": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt"
                                            }
                                        },
                                        "item": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                        "source": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt"
                                    },
                                    "msg": "/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt:\npytest\nflake8\n-r requirements.txt\n"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "content": "bW9jawpweXRlc3QKLWUgL3dvcmtzcGFjZS9zcmMvZ2l0aHViLmNvbS9kaXN0cmlidXRlZGNpL3B5dGhvbi1kY2ljbGllbnQKZmxha2U4CnRveApyZXNwb25zZXMKaW1wb3J0bGliLW1ldGFkYXRhCmZyZWV6ZWd1bg==",
                                        "encoding": "base64",
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "src": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt"
                                            }
                                        },
                                        "item": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt",
                                        "source": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt"
                                    },
                                    "msg": "/workspace/src/github.com/distributedci/dci-control-server/test-requirements.txt:\nmock\npytest\n-e /workspace/src/github.com/distributedci/python-dciclient\nflake8\ntox\nresponses\nimportlib-metadata\nfreezegun\n"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "content": "bW9jawpweXRlc3QK",
                                        "encoding": "base64",
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "src": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt"
                                            }
                                        },
                                        "item": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt",
                                        "source": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt"
                                    },
                                    "msg": "/workspace/src/github.com/distributedci/dci-pipeline/test-requirements.txt:\nmock\npytest\n"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "content": "cHl0ZXN0Ci1lIC93b3Jrc3BhY2Uvc3JjL2dpdGh1Yi5jb20vZGlzdHJpYnV0ZWRjaS9kY2ktY29udHJvbC1zZXJ2ZXIKbW9jawpib3RvMwpyZXNwb25zZXM=",
                                        "encoding": "base64",
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "src": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt"
                                            }
                                        },
                                        "item": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt",
                                        "source": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt"
                                    },
                                    "msg": "/workspace/src/github.com/distributedci/python-dciclient/test-requirements.txt:\npytest\n-e /workspace/src/github.com/distributedci/dci-control-server\nmock\nboto3\nresponses\n"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "content": "ZGNpYXV0aAotZSAvd29ya3NwYWNlL3NyYy9naXRodWIuY29tL2Rpc3RyaWJ1dGVkY2kvcHl0aG9uLWRjaWNsaWVudAphbnNpYmxlCnNlbGludXgK",
                                        "encoding": "base64",
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "src": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt"
                                            }
                                        },
                                        "item": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt",
                                        "source": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt"
                                    },
                                    "msg": "/workspace/src/github.com/distributedci/dci-ansible/requirements.txt:\ndciauth\n-e /workspace/src/github.com/distributedci/python-dciclient\nansible\nselinux\n"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "content": "cHlqd3QKY3J5cHRvZ3JhcGh5CnB5cGFyc2luZwpweXR6CnBzeWNvcGdbYmluYXJ5LHBvb2xdCnB5T3BlblNTTApqc29uc2NoZW1hClNRTEFsY2hlbXkKYWxlbWJpYwpzaXgKcmVxdWVzdHMKZ3VuaWNvcm5bZ2V2ZW50XQpmbGFzawpqaW5qYTIKbWFya3Vwc2FmZQppdHNkYW5nZXJvdXMKd2Vya3pldWcKU1FMQWxjaGVteS1VdGlscwpwYXNzbGliCmtvbWJ1CmJvdG8zCnJlZGlzCmRjaWF1dGgKdGVuYWNpdHkK",
                                        "encoding": "base64",
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "src": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt"
                                            }
                                        },
                                        "item": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt",
                                        "source": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt"
                                    },
                                    "msg": "/workspace/src/github.com/distributedci/dci-control-server/requirements.txt:\npyjwt\ncryptography\npyparsing\npytz\npsycopg[binary,pool]\npyOpenSSL\njsonschema\nSQLAlchemy\nalembic\nsix\nrequests\ngunicorn[gevent]\nflask\njinja2\nmarkupsafe\nitsdangerous\nwerkzeug\nSQLAlchemy-Utils\npasslib\nkombu\nboto3\nredis\ndciauth\ntenacity\n"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "content": "YW5zaWJsZS1jb3JlCmFuc2libGUtcnVubmVyCmRjaWF1dGgKLWUgL3dvcmtzcGFjZS9zcmMvZ2l0aHViLmNvbS9kaXN0cmlidXRlZGNpL3B5dGhvbi1kY2ljbGllbnQKanVuaXQteG1sCmptZXNwYXRoCnNlbGludXgKcHN1dGlsCg==",
                                        "encoding": "base64",
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "src": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt"
                                            }
                                        },
                                        "item": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt",
                                        "source": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt"
                                    },
                                    "msg": "/workspace/src/github.com/distributedci/dci-pipeline/requirements.txt:\nansible-core\nansible-runner\ndciauth\n-e /workspace/src/github.com/distributedci/python-dciclient\njunit-xml\njmespath\nselinux\npsutil\n"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "content": "UHJldHR5VGFibGUKcmVxdWVzdHMKZGNpYXV0aAo=",
                                        "encoding": "base64",
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "src": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt"
                                            }
                                        },
                                        "item": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt",
                                        "source": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt"
                                    },
                                    "msg": "/workspace/src/github.com/distributedci/python-dciclient/requirements.txt:\nPrettyTable\nrequests\ndciauth\n"
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:28:23.986566Z",
                            "start": "2026-06-16T16:28:23.879937Z"
                        },
                        "id": "0a580a2a-001b-6047-e3bb-000000000010",
                        "name": "Show contents of requirements files"
                    }
                }
            ]
        }
    ],
    "stats": {
        "testrunner": {
            "changed": 7,
            "failures": 0,
            "ignored": 0,
            "ok": 19,
            "rescued": 0,
            "skipped": 9,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "master",
    "index": "0",
    "phase": "run",
    "playbook": "opendev.org/zuul/zuul-jobs/playbooks/tox/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-06-16T16:32:08.640879Z",
                    "start": "2026-06-16T16:28:24.712146Z"
                },
                "id": "0a580a2a-001b-fb29-767a-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "sudo",
                                "-n",
                                "true"
                            ],
                            "delta": "0:00:00.043828",
                            "end": "2026-06-16 16:28:29.942880",
                            "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": "0a580a2a-001b-fb29-767a-000000000008-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:28:29.899052",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000008-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:28:31.077631Z",
                            "start": "2026-06-16T16:28:24.736564Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000008",
                        "name": "Check if zuul is sudoer"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "rm",
                                "-rf",
                                "/etc/sudoers.d/zuul",
                                "/etc/sudoers.d/90-cloud-init-users"
                            ],
                            "delta": "0:00:00.012187",
                            "end": "2026-06-16 16:28:36.094074",
                            "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": "0a580a2a-001b-fb29-767a-000000000009-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:28:36.081887",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000009-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:28:37.141748Z",
                            "start": "2026-06-16T16:28:31.114008Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000009",
                        "name": "Remove sudo access for zuul user."
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "! sudo -n true",
                            "delta": "0:00:00.039193",
                            "end": "2026-06-16 16:28:42.249318",
                            "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": "0a580a2a-001b-fb29-767a-00000000000a-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:28:42.210125",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "root is not in the sudoers file.  This incident will be reported.",
                            "stdout_lines": [
                                "root is not in the sudoers file.  This incident will be reported."
                            ],
                            "zuul_log_id": "0a580a2a-001b-fb29-767a-00000000000a-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:28:43.319424Z",
                            "start": "2026-06-16T16:28:37.180611Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-00000000000a",
                        "name": "Prove that general sudo access is actually revoked."
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "stat",
                            "changed": false,
                            "false_condition": "tox_constraints_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:28:43.368385Z",
                            "start": "2026-06-16T16:28:43.331548Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-00000000000e",
                        "name": "Check to see if the constraints file exists"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "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": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:28:43.412294Z",
                            "start": "2026-06-16T16:28:43.375874Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-00000000000f",
                        "name": "Fail if constraints file is missing"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_constraints_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:28:43.456907Z",
                            "start": "2026-06-16T16:28:43.420194Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000010",
                        "name": "Record file location"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "siblings.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:28:43.496695Z",
                            "start": "2026-06-16T16:28:43.464127Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000011",
                        "name": "Install tox siblings"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "--notest",
                                "-vv",
                                "--skip-missing-interpreters=false"
                            ],
                            "delta": "0:02:32.530030",
                            "end": "2026-06-16 16:31:21.121867",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/workspace/.local/bin/tox  --notest  -vv --skip-missing-interpreters=false",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/distributedci/dci-ansible",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000053-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:28:48.591837",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "using tox.ini: /workspace/src/github.com/distributedci/dci-ansible/tox.ini (pid 1168)\nusing tox-3.28.0 from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py (pid 1168)\nskipping sdist step\n/usr/bin/python3.6 (/usr/bin/python3.6) is {'executable': '/usr/bin/python3.6', 'implementation': 'CPython', 'version_info': [3, 6, 8, 'final', 0], 'version': '3.6.8 (default, Aug 11 2025, 09:47:15) \\n[GCC 8.5.0 20210514 (Red Hat 8.5.0-28)]', 'is_64': True, 'sysplatform': 'linux', 'os_sep': '/', 'extra_version_info': None}\npep8 uses /usr/bin/python3.6\npep8 start: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8\npep8 cannot reuse: no previous config /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/.tox-config1\npep8 create: /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8\nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1174] /workspace/src/github.com/distributedci/dci-ansible/.tox$ /usr/bin/python3.6 -m virtualenv --no-download --python /usr/bin/python3.6 pep8\ncreated virtual environment CPython3.6.8.final.0-64 in 427ms\n  creator CPython3Posix(dest=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8, clear=False, no_vcs_ignore=False, global=False)\n  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/workspace/.local/share/virtualenv)\n    added seed packages: pip==21.3.1, setuptools==59.6.0, wheel==0.37.1\n  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator\npep8 installdeps: -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt\nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1187] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/pip install -U -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt\nObtaining file:///workspace/src/github.com/distributedci/python-dciclient (from -r /workspace/src/github.com/distributedci/dci-ansible/requirements.txt (line 2))\n  Preparing metadata (setup.py): started\n  Preparing metadata (setup.py): finished with status 'done'\nCollecting pytest\n  Downloading pytest-7.0.1-py3-none-any.whl (296 kB)\nCollecting flake8\n  Downloading flake8-5.0.4-py2.py3-none-any.whl (61 kB)\nCollecting dciauth\n  Downloading dciauth-4.0.1.post202603121510-py3-none-any.whl (13 kB)\nCollecting ansible\n  Downloading ansible-4.10.0.tar.gz (36.8 MB)\n  Preparing metadata (setup.py): started\n  Preparing metadata (setup.py): finished with status 'done'\nCollecting selinux\n  Downloading selinux-0.2.1-py2.py3-none-any.whl (4.3 kB)\nCollecting py>=1.8.2\n  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)\nCollecting iniconfig\n  Downloading iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)\nCollecting importlib-metadata>=0.12\n  Using cached importlib_metadata-4.8.3-py3-none-any.whl (17 kB)\nCollecting packaging\n  Using cached packaging-21.3-py3-none-any.whl (40 kB)\nCollecting pluggy<2.0,>=0.12\n  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)\nCollecting attrs>=19.2.0\n  Downloading attrs-22.2.0-py3-none-any.whl (60 kB)\nCollecting tomli>=1.0.0\n  Downloading tomli-1.2.3-py3-none-any.whl (12 kB)\nCollecting mccabe<0.8.0,>=0.7.0\n  Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)\nCollecting pyflakes<2.6.0,>=2.5.0\n  Downloading pyflakes-2.5.0-py2.py3-none-any.whl (66 kB)\nCollecting pycodestyle<2.10.0,>=2.9.0\n  Downloading pycodestyle-2.9.1-py2.py3-none-any.whl (41 kB)\nCollecting importlib-metadata>=0.12\n  Downloading importlib_metadata-4.2.0-py3-none-any.whl (16 kB)\nCollecting PrettyTable\n  Downloading prettytable-2.5.0-py3-none-any.whl (24 kB)\nCollecting requests\n  Downloading requests-2.27.1-py2.py3-none-any.whl (63 kB)\nCollecting ansible-core~=2.11.7\n  Downloading ansible-core-2.11.12.tar.gz (7.1 MB)\n  Preparing metadata (setup.py): started\n  Preparing metadata (setup.py): finished with status 'done'\nCollecting distro>=1.3.0\n  Downloading distro-1.9.0-py3-none-any.whl (20 kB)\nRequirement already satisfied: setuptools>=39.0 in ./.tox/pep8/lib/python3.6/site-packages (from selinux->-r /workspace/src/github.com/distributedci/dci-ansible/requirements.txt (line 4)) (59.6.0)\nCollecting jinja2\n  Downloading Jinja2-3.0.3-py3-none-any.whl (133 kB)\nCollecting PyYAML\n  Downloading PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (677 kB)\nCollecting cryptography\n  Downloading cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl (3.7 MB)\nCollecting resolvelib<0.6.0,>=0.5.3\n  Downloading resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)\nCollecting typing-extensions>=3.6.4\n  Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)\nCollecting zipp>=0.5\n  Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)\nCollecting pyparsing!=3.0.5,>=2.0.2\n  Using cached pyparsing-3.1.4-py3-none-any.whl (104 kB)\nCollecting wcwidth\n  Downloading wcwidth-0.2.14-py2.py3-none-any.whl (37 kB)\nCollecting urllib3<1.27,>=1.21.1\n  Downloading urllib3-1.26.20-py2.py3-none-any.whl (144 kB)\nCollecting charset-normalizer~=2.0.0\n  Downloading charset_normalizer-2.0.12-py3-none-any.whl (39 kB)\nCollecting certifi>=2017.4.17\n  Downloading certifi-2025.4.26-py3-none-any.whl (159 kB)\nCollecting idna<4,>=2.5\n  Downloading idna-3.10-py3-none-any.whl (70 kB)\nCollecting cffi>=1.12\n  Downloading cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (402 kB)\nCollecting MarkupSafe>=2.0\n  Downloading MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)\nCollecting pycparser\n  Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)\nBuilding wheels for collected packages: ansible, ansible-core\n  Building wheel for ansible (setup.py): started\n  Building wheel for ansible (setup.py): finished with status 'done'\n  Created wheel for ansible: filename=ansible-4.10.0-py3-none-any.whl size=60568528 sha256=bf0d41a24581f0f189cb6c5be6ea38c9944c06f649f962af8b96ad2d0e3a7349\n  Stored in directory: /workspace/.cache/pip/wheels/fd/0b/73/1536be1c3fe3e172e003fa05da85642fa29210760ca928348b\n  Building wheel for ansible-core (setup.py): started\n  Building wheel for ansible-core (setup.py): finished with status 'done'\n  Created wheel for ansible-core: filename=ansible_core-2.11.12-py3-none-any.whl size=1960974 sha256=0c76b89b125928ec1fdbdd45883067ceb433e1d8d0de53bdb1d4232d3500c91a\n  Stored in directory: /workspace/.cache/pip/wheels/de/a2/0a/cfe72f018b6d3845ab54b29259c0ac20eb169d18063770c09e\nSuccessfully built ansible ansible-core\nInstalling collected packages: pycparser, zipp, typing-extensions, pyparsing, MarkupSafe, cffi, wcwidth, urllib3, resolvelib, PyYAML, packaging, jinja2, importlib-metadata, idna, cryptography, charset-normalizer, certifi, tomli, requests, pyflakes, pycodestyle, py, PrettyTable, pluggy, mccabe, iniconfig, distro, dciauth, attrs, ansible-core, selinux, pytest, flake8, dciclient, ansible\n  Running setup.py develop for dciclient\nSuccessfully installed MarkupSafe-2.0.1 PrettyTable-2.5.0 PyYAML-6.0.1 ansible-4.10.0 ansible-core-2.11.12 attrs-22.2.0 certifi-2025.4.26 cffi-1.15.1 charset-normalizer-2.0.12 cryptography-40.0.2 dciauth-4.0.1.post202603121510 dciclient-4.2.0 distro-1.9.0 flake8-5.0.4 idna-3.10 importlib-metadata-4.2.0 iniconfig-1.1.1 jinja2-3.0.3 mccabe-0.7.0 packaging-21.3 pluggy-1.0.0 py-1.11.0 pycodestyle-2.9.1 pycparser-2.21 pyflakes-2.5.0 pyparsing-3.1.4 pytest-7.0.1 requests-2.27.1 resolvelib-0.5.4 selinux-0.2.1 tomli-1.2.3 typing-extensions-4.1.1 urllib3-1.26.20 wcwidth-0.2.14 zipp-3.6.0\npep8 finish: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8 after 116.32 seconds\npep8 start: finishvenv \nwrite config to /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/.tox-config1 as '6742c0f74fd7d2805124b90b5d9444a7c0914321e07ec3a2c92289deb23c4d43 /usr/bin/python3.6\\n3.28.0 0 0 0\\n00000000000000000000000000000000 -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt'\npep8 finish: finishvenv  after 0.00 seconds\npep8 start: envreport \nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1227] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/python -m pip freeze >.tox/pep8/log/pep8-0.log\npep8 finish: envreport  after 0.49 seconds\npep8 installed: ansible==4.10.0,ansible-core==2.11.12,attrs==22.2.0,certifi==2025.4.26,cffi==1.15.1,charset-normalizer==2.0.12,cryptography==40.0.2,dciauth==4.0.1.post202603121510,-e git+file:///dev/null@ec18fb7db4b2b1764b8a342bcad42f710ec19af3#egg=dciclient,distro==1.9.0,flake8==5.0.4,idna==3.10,importlib-metadata==4.2.0,iniconfig==1.1.1,Jinja2==3.0.3,MarkupSafe==2.0.1,mccabe==0.7.0,packaging==21.3,pluggy==1.0.0,prettytable==2.5.0,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pyparsing==3.1.4,pytest==7.0.1,PyYAML==6.0.1,requests==2.27.1,resolvelib==0.5.4,selinux==0.2.1,tomli==1.2.3,typing_extensions==4.1.1,urllib3==1.26.20,wcwidth==0.2.14,zipp==3.6.0\npy36 uses /usr/bin/python3.6\npy36 start: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/py36\npy36 cannot reuse: no previous config /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/.tox-config1\npy36 create: /workspace/src/github.com/distributedci/dci-ansible/.tox/py36\nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1233] /workspace/src/github.com/distributedci/dci-ansible/.tox$ /usr/bin/python3.6 -m virtualenv --no-download --python /usr/bin/python3.6 py36\ncreated virtual environment CPython3.6.8.final.0-64 in 248ms\n  creator CPython3Posix(dest=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36, clear=False, no_vcs_ignore=False, global=False)\n  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/workspace/.local/share/virtualenv)\n    added seed packages: pip==21.3.1, setuptools==59.6.0, wheel==0.37.1\n  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator\npy36 installdeps: -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt\nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1240] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/pip install -U -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt\nObtaining file:///workspace/src/github.com/distributedci/python-dciclient (from -r /workspace/src/github.com/distributedci/dci-ansible/requirements.txt (line 2))\n  Preparing metadata (setup.py): started\n  Preparing metadata (setup.py): finished with status 'done'\nCollecting pytest\n  Using cached pytest-7.0.1-py3-none-any.whl (296 kB)\nCollecting flake8\n  Using cached flake8-5.0.4-py2.py3-none-any.whl (61 kB)\nCollecting dciauth\n  Using cached dciauth-4.0.1.post202603121510-py3-none-any.whl (13 kB)\nCollecting ansible\n  Using cached ansible-4.10.0-py3-none-any.whl\nCollecting selinux\n  Using cached selinux-0.2.1-py2.py3-none-any.whl (4.3 kB)\nCollecting py>=1.8.2\n  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)\nCollecting iniconfig\n  Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)\nCollecting importlib-metadata>=0.12\n  Using cached importlib_metadata-4.8.3-py3-none-any.whl (17 kB)\nCollecting packaging\n  Using cached packaging-21.3-py3-none-any.whl (40 kB)\nCollecting pluggy<2.0,>=0.12\n  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)\nCollecting attrs>=19.2.0\n  Using cached attrs-22.2.0-py3-none-any.whl (60 kB)\nCollecting tomli>=1.0.0\n  Using cached tomli-1.2.3-py3-none-any.whl (12 kB)\nCollecting mccabe<0.8.0,>=0.7.0\n  Using cached mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)\nCollecting pyflakes<2.6.0,>=2.5.0\n  Using cached pyflakes-2.5.0-py2.py3-none-any.whl (66 kB)\nCollecting pycodestyle<2.10.0,>=2.9.0\n  Using cached pycodestyle-2.9.1-py2.py3-none-any.whl (41 kB)\nCollecting importlib-metadata>=0.12\n  Using cached importlib_metadata-4.2.0-py3-none-any.whl (16 kB)\nCollecting PrettyTable\n  Using cached prettytable-2.5.0-py3-none-any.whl (24 kB)\nCollecting requests\n  Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)\nCollecting ansible-core~=2.11.7\n  Using cached ansible_core-2.11.12-py3-none-any.whl\nCollecting distro>=1.3.0\n  Using cached distro-1.9.0-py3-none-any.whl (20 kB)\nRequirement already satisfied: setuptools>=39.0 in ./.tox/py36/lib/python3.6/site-packages (from selinux->-r /workspace/src/github.com/distributedci/dci-ansible/requirements.txt (line 4)) (59.6.0)\nCollecting PyYAML\n  Using cached PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (677 kB)\nCollecting cryptography\n  Using cached cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl (3.7 MB)\nCollecting resolvelib<0.6.0,>=0.5.3\n  Using cached resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)\nCollecting jinja2\n  Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)\nCollecting typing-extensions>=3.6.4\n  Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)\nCollecting zipp>=0.5\n  Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)\nCollecting pyparsing!=3.0.5,>=2.0.2\n  Using cached pyparsing-3.1.4-py3-none-any.whl (104 kB)\nCollecting wcwidth\n  Using cached wcwidth-0.2.14-py2.py3-none-any.whl (37 kB)\nCollecting urllib3<1.27,>=1.21.1\n  Using cached urllib3-1.26.20-py2.py3-none-any.whl (144 kB)\nCollecting charset-normalizer~=2.0.0\n  Using cached charset_normalizer-2.0.12-py3-none-any.whl (39 kB)\nCollecting certifi>=2017.4.17\n  Using cached certifi-2025.4.26-py3-none-any.whl (159 kB)\nCollecting idna<4,>=2.5\n  Using cached idna-3.10-py3-none-any.whl (70 kB)\nCollecting cffi>=1.12\n  Using cached cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (402 kB)\nCollecting MarkupSafe>=2.0\n  Using cached MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)\nCollecting pycparser\n  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)\nInstalling collected packages: pycparser, zipp, typing-extensions, pyparsing, MarkupSafe, cffi, wcwidth, urllib3, resolvelib, PyYAML, packaging, jinja2, importlib-metadata, idna, cryptography, charset-normalizer, certifi, tomli, requests, pyflakes, pycodestyle, py, PrettyTable, pluggy, mccabe, iniconfig, distro, dciauth, attrs, ansible-core, selinux, pytest, flake8, dciclient, ansible\n  Running setup.py develop for dciclient\nSuccessfully installed MarkupSafe-2.0.1 PrettyTable-2.5.0 PyYAML-6.0.1 ansible-4.10.0 ansible-core-2.11.12 attrs-22.2.0 certifi-2025.4.26 cffi-1.15.1 charset-normalizer-2.0.12 cryptography-40.0.2 dciauth-4.0.1.post202603121510 dciclient-4.2.0 distro-1.9.0 flake8-5.0.4 idna-3.10 importlib-metadata-4.2.0 iniconfig-1.1.1 jinja2-3.0.3 mccabe-0.7.0 packaging-21.3 pluggy-1.0.0 py-1.11.0 pycodestyle-2.9.1 pycparser-2.21 pyflakes-2.5.0 pyparsing-3.1.4 pytest-7.0.1 requests-2.27.1 resolvelib-0.5.4 selinux-0.2.1 tomli-1.2.3 typing-extensions-4.1.1 urllib3-1.26.20 wcwidth-0.2.14 zipp-3.6.0\npy36 finish: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/py36 after 34.89 seconds\npy36 start: finishvenv \nwrite config to /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/.tox-config1 as '6742c0f74fd7d2805124b90b5d9444a7c0914321e07ec3a2c92289deb23c4d43 /usr/bin/python3.6\\n3.28.0 0 0 0\\n00000000000000000000000000000000 -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt'\npy36 finish: finishvenv  after 0.00 seconds\npy36 start: envreport \nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1253] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/python -m pip freeze >.tox/py36/log/py36-0.log\npy36 finish: envreport  after 0.47 seconds\npy36 installed: ansible==4.10.0,ansible-core==2.11.12,attrs==22.2.0,certifi==2025.4.26,cffi==1.15.1,charset-normalizer==2.0.12,cryptography==40.0.2,dciauth==4.0.1.post202603121510,-e git+file:///dev/null@ec18fb7db4b2b1764b8a342bcad42f710ec19af3#egg=dciclient,distro==1.9.0,flake8==5.0.4,idna==3.10,importlib-metadata==4.2.0,iniconfig==1.1.1,Jinja2==3.0.3,MarkupSafe==2.0.1,mccabe==0.7.0,packaging==21.3,pluggy==1.0.0,prettytable==2.5.0,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pyparsing==3.1.4,pytest==7.0.1,PyYAML==6.0.1,requests==2.27.1,resolvelib==0.5.4,selinux==0.2.1,tomli==1.2.3,typing_extensions==4.1.1,urllib3==1.26.20,wcwidth==0.2.14,zipp==3.6.0\n___________________________________ summary ____________________________________\n  pep8: skipped tests\n  py36: skipped tests\n  congratulations :)",
                            "stdout_lines": [
                                "using tox.ini: /workspace/src/github.com/distributedci/dci-ansible/tox.ini (pid 1168)",
                                "using tox-3.28.0 from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py (pid 1168)",
                                "skipping sdist step",
                                "/usr/bin/python3.6 (/usr/bin/python3.6) is {'executable': '/usr/bin/python3.6', 'implementation': 'CPython', 'version_info': [3, 6, 8, 'final', 0], 'version': '3.6.8 (default, Aug 11 2025, 09:47:15) \\n[GCC 8.5.0 20210514 (Red Hat 8.5.0-28)]', 'is_64': True, 'sysplatform': 'linux', 'os_sep': '/', 'extra_version_info': None}",
                                "pep8 uses /usr/bin/python3.6",
                                "pep8 start: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8",
                                "pep8 cannot reuse: no previous config /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/.tox-config1",
                                "pep8 create: /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1174] /workspace/src/github.com/distributedci/dci-ansible/.tox$ /usr/bin/python3.6 -m virtualenv --no-download --python /usr/bin/python3.6 pep8",
                                "created virtual environment CPython3.6.8.final.0-64 in 427ms",
                                "  creator CPython3Posix(dest=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8, clear=False, no_vcs_ignore=False, global=False)",
                                "  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/workspace/.local/share/virtualenv)",
                                "    added seed packages: pip==21.3.1, setuptools==59.6.0, wheel==0.37.1",
                                "  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator",
                                "pep8 installdeps: -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1187] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/pip install -U -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                "Obtaining file:///workspace/src/github.com/distributedci/python-dciclient (from -r /workspace/src/github.com/distributedci/dci-ansible/requirements.txt (line 2))",
                                "  Preparing metadata (setup.py): started",
                                "  Preparing metadata (setup.py): finished with status 'done'",
                                "Collecting pytest",
                                "  Downloading pytest-7.0.1-py3-none-any.whl (296 kB)",
                                "Collecting flake8",
                                "  Downloading flake8-5.0.4-py2.py3-none-any.whl (61 kB)",
                                "Collecting dciauth",
                                "  Downloading dciauth-4.0.1.post202603121510-py3-none-any.whl (13 kB)",
                                "Collecting ansible",
                                "  Downloading ansible-4.10.0.tar.gz (36.8 MB)",
                                "  Preparing metadata (setup.py): started",
                                "  Preparing metadata (setup.py): finished with status 'done'",
                                "Collecting selinux",
                                "  Downloading selinux-0.2.1-py2.py3-none-any.whl (4.3 kB)",
                                "Collecting py>=1.8.2",
                                "  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)",
                                "Collecting iniconfig",
                                "  Downloading iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)",
                                "Collecting importlib-metadata>=0.12",
                                "  Using cached importlib_metadata-4.8.3-py3-none-any.whl (17 kB)",
                                "Collecting packaging",
                                "  Using cached packaging-21.3-py3-none-any.whl (40 kB)",
                                "Collecting pluggy<2.0,>=0.12",
                                "  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)",
                                "Collecting attrs>=19.2.0",
                                "  Downloading attrs-22.2.0-py3-none-any.whl (60 kB)",
                                "Collecting tomli>=1.0.0",
                                "  Downloading tomli-1.2.3-py3-none-any.whl (12 kB)",
                                "Collecting mccabe<0.8.0,>=0.7.0",
                                "  Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)",
                                "Collecting pyflakes<2.6.0,>=2.5.0",
                                "  Downloading pyflakes-2.5.0-py2.py3-none-any.whl (66 kB)",
                                "Collecting pycodestyle<2.10.0,>=2.9.0",
                                "  Downloading pycodestyle-2.9.1-py2.py3-none-any.whl (41 kB)",
                                "Collecting importlib-metadata>=0.12",
                                "  Downloading importlib_metadata-4.2.0-py3-none-any.whl (16 kB)",
                                "Collecting PrettyTable",
                                "  Downloading prettytable-2.5.0-py3-none-any.whl (24 kB)",
                                "Collecting requests",
                                "  Downloading requests-2.27.1-py2.py3-none-any.whl (63 kB)",
                                "Collecting ansible-core~=2.11.7",
                                "  Downloading ansible-core-2.11.12.tar.gz (7.1 MB)",
                                "  Preparing metadata (setup.py): started",
                                "  Preparing metadata (setup.py): finished with status 'done'",
                                "Collecting distro>=1.3.0",
                                "  Downloading distro-1.9.0-py3-none-any.whl (20 kB)",
                                "Requirement already satisfied: setuptools>=39.0 in ./.tox/pep8/lib/python3.6/site-packages (from selinux->-r /workspace/src/github.com/distributedci/dci-ansible/requirements.txt (line 4)) (59.6.0)",
                                "Collecting jinja2",
                                "  Downloading Jinja2-3.0.3-py3-none-any.whl (133 kB)",
                                "Collecting PyYAML",
                                "  Downloading PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (677 kB)",
                                "Collecting cryptography",
                                "  Downloading cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl (3.7 MB)",
                                "Collecting resolvelib<0.6.0,>=0.5.3",
                                "  Downloading resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)",
                                "Collecting typing-extensions>=3.6.4",
                                "  Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)",
                                "Collecting zipp>=0.5",
                                "  Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)",
                                "Collecting pyparsing!=3.0.5,>=2.0.2",
                                "  Using cached pyparsing-3.1.4-py3-none-any.whl (104 kB)",
                                "Collecting wcwidth",
                                "  Downloading wcwidth-0.2.14-py2.py3-none-any.whl (37 kB)",
                                "Collecting urllib3<1.27,>=1.21.1",
                                "  Downloading urllib3-1.26.20-py2.py3-none-any.whl (144 kB)",
                                "Collecting charset-normalizer~=2.0.0",
                                "  Downloading charset_normalizer-2.0.12-py3-none-any.whl (39 kB)",
                                "Collecting certifi>=2017.4.17",
                                "  Downloading certifi-2025.4.26-py3-none-any.whl (159 kB)",
                                "Collecting idna<4,>=2.5",
                                "  Downloading idna-3.10-py3-none-any.whl (70 kB)",
                                "Collecting cffi>=1.12",
                                "  Downloading cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (402 kB)",
                                "Collecting MarkupSafe>=2.0",
                                "  Downloading MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)",
                                "Collecting pycparser",
                                "  Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)",
                                "Building wheels for collected packages: ansible, ansible-core",
                                "  Building wheel for ansible (setup.py): started",
                                "  Building wheel for ansible (setup.py): finished with status 'done'",
                                "  Created wheel for ansible: filename=ansible-4.10.0-py3-none-any.whl size=60568528 sha256=bf0d41a24581f0f189cb6c5be6ea38c9944c06f649f962af8b96ad2d0e3a7349",
                                "  Stored in directory: /workspace/.cache/pip/wheels/fd/0b/73/1536be1c3fe3e172e003fa05da85642fa29210760ca928348b",
                                "  Building wheel for ansible-core (setup.py): started",
                                "  Building wheel for ansible-core (setup.py): finished with status 'done'",
                                "  Created wheel for ansible-core: filename=ansible_core-2.11.12-py3-none-any.whl size=1960974 sha256=0c76b89b125928ec1fdbdd45883067ceb433e1d8d0de53bdb1d4232d3500c91a",
                                "  Stored in directory: /workspace/.cache/pip/wheels/de/a2/0a/cfe72f018b6d3845ab54b29259c0ac20eb169d18063770c09e",
                                "Successfully built ansible ansible-core",
                                "Installing collected packages: pycparser, zipp, typing-extensions, pyparsing, MarkupSafe, cffi, wcwidth, urllib3, resolvelib, PyYAML, packaging, jinja2, importlib-metadata, idna, cryptography, charset-normalizer, certifi, tomli, requests, pyflakes, pycodestyle, py, PrettyTable, pluggy, mccabe, iniconfig, distro, dciauth, attrs, ansible-core, selinux, pytest, flake8, dciclient, ansible",
                                "  Running setup.py develop for dciclient",
                                "Successfully installed MarkupSafe-2.0.1 PrettyTable-2.5.0 PyYAML-6.0.1 ansible-4.10.0 ansible-core-2.11.12 attrs-22.2.0 certifi-2025.4.26 cffi-1.15.1 charset-normalizer-2.0.12 cryptography-40.0.2 dciauth-4.0.1.post202603121510 dciclient-4.2.0 distro-1.9.0 flake8-5.0.4 idna-3.10 importlib-metadata-4.2.0 iniconfig-1.1.1 jinja2-3.0.3 mccabe-0.7.0 packaging-21.3 pluggy-1.0.0 py-1.11.0 pycodestyle-2.9.1 pycparser-2.21 pyflakes-2.5.0 pyparsing-3.1.4 pytest-7.0.1 requests-2.27.1 resolvelib-0.5.4 selinux-0.2.1 tomli-1.2.3 typing-extensions-4.1.1 urllib3-1.26.20 wcwidth-0.2.14 zipp-3.6.0",
                                "pep8 finish: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8 after 116.32 seconds",
                                "pep8 start: finishvenv ",
                                "write config to /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/.tox-config1 as '6742c0f74fd7d2805124b90b5d9444a7c0914321e07ec3a2c92289deb23c4d43 /usr/bin/python3.6\\n3.28.0 0 0 0\\n00000000000000000000000000000000 -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt'",
                                "pep8 finish: finishvenv  after 0.00 seconds",
                                "pep8 start: envreport ",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1227] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/python -m pip freeze >.tox/pep8/log/pep8-0.log",
                                "pep8 finish: envreport  after 0.49 seconds",
                                "pep8 installed: ansible==4.10.0,ansible-core==2.11.12,attrs==22.2.0,certifi==2025.4.26,cffi==1.15.1,charset-normalizer==2.0.12,cryptography==40.0.2,dciauth==4.0.1.post202603121510,-e git+file:///dev/null@ec18fb7db4b2b1764b8a342bcad42f710ec19af3#egg=dciclient,distro==1.9.0,flake8==5.0.4,idna==3.10,importlib-metadata==4.2.0,iniconfig==1.1.1,Jinja2==3.0.3,MarkupSafe==2.0.1,mccabe==0.7.0,packaging==21.3,pluggy==1.0.0,prettytable==2.5.0,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pyparsing==3.1.4,pytest==7.0.1,PyYAML==6.0.1,requests==2.27.1,resolvelib==0.5.4,selinux==0.2.1,tomli==1.2.3,typing_extensions==4.1.1,urllib3==1.26.20,wcwidth==0.2.14,zipp==3.6.0",
                                "py36 uses /usr/bin/python3.6",
                                "py36 start: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/py36",
                                "py36 cannot reuse: no previous config /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/.tox-config1",
                                "py36 create: /workspace/src/github.com/distributedci/dci-ansible/.tox/py36",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1233] /workspace/src/github.com/distributedci/dci-ansible/.tox$ /usr/bin/python3.6 -m virtualenv --no-download --python /usr/bin/python3.6 py36",
                                "created virtual environment CPython3.6.8.final.0-64 in 248ms",
                                "  creator CPython3Posix(dest=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36, clear=False, no_vcs_ignore=False, global=False)",
                                "  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/workspace/.local/share/virtualenv)",
                                "    added seed packages: pip==21.3.1, setuptools==59.6.0, wheel==0.37.1",
                                "  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator",
                                "py36 installdeps: -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1240] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/pip install -U -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt",
                                "Obtaining file:///workspace/src/github.com/distributedci/python-dciclient (from -r /workspace/src/github.com/distributedci/dci-ansible/requirements.txt (line 2))",
                                "  Preparing metadata (setup.py): started",
                                "  Preparing metadata (setup.py): finished with status 'done'",
                                "Collecting pytest",
                                "  Using cached pytest-7.0.1-py3-none-any.whl (296 kB)",
                                "Collecting flake8",
                                "  Using cached flake8-5.0.4-py2.py3-none-any.whl (61 kB)",
                                "Collecting dciauth",
                                "  Using cached dciauth-4.0.1.post202603121510-py3-none-any.whl (13 kB)",
                                "Collecting ansible",
                                "  Using cached ansible-4.10.0-py3-none-any.whl",
                                "Collecting selinux",
                                "  Using cached selinux-0.2.1-py2.py3-none-any.whl (4.3 kB)",
                                "Collecting py>=1.8.2",
                                "  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)",
                                "Collecting iniconfig",
                                "  Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)",
                                "Collecting importlib-metadata>=0.12",
                                "  Using cached importlib_metadata-4.8.3-py3-none-any.whl (17 kB)",
                                "Collecting packaging",
                                "  Using cached packaging-21.3-py3-none-any.whl (40 kB)",
                                "Collecting pluggy<2.0,>=0.12",
                                "  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)",
                                "Collecting attrs>=19.2.0",
                                "  Using cached attrs-22.2.0-py3-none-any.whl (60 kB)",
                                "Collecting tomli>=1.0.0",
                                "  Using cached tomli-1.2.3-py3-none-any.whl (12 kB)",
                                "Collecting mccabe<0.8.0,>=0.7.0",
                                "  Using cached mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)",
                                "Collecting pyflakes<2.6.0,>=2.5.0",
                                "  Using cached pyflakes-2.5.0-py2.py3-none-any.whl (66 kB)",
                                "Collecting pycodestyle<2.10.0,>=2.9.0",
                                "  Using cached pycodestyle-2.9.1-py2.py3-none-any.whl (41 kB)",
                                "Collecting importlib-metadata>=0.12",
                                "  Using cached importlib_metadata-4.2.0-py3-none-any.whl (16 kB)",
                                "Collecting PrettyTable",
                                "  Using cached prettytable-2.5.0-py3-none-any.whl (24 kB)",
                                "Collecting requests",
                                "  Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)",
                                "Collecting ansible-core~=2.11.7",
                                "  Using cached ansible_core-2.11.12-py3-none-any.whl",
                                "Collecting distro>=1.3.0",
                                "  Using cached distro-1.9.0-py3-none-any.whl (20 kB)",
                                "Requirement already satisfied: setuptools>=39.0 in ./.tox/py36/lib/python3.6/site-packages (from selinux->-r /workspace/src/github.com/distributedci/dci-ansible/requirements.txt (line 4)) (59.6.0)",
                                "Collecting PyYAML",
                                "  Using cached PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (677 kB)",
                                "Collecting cryptography",
                                "  Using cached cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl (3.7 MB)",
                                "Collecting resolvelib<0.6.0,>=0.5.3",
                                "  Using cached resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)",
                                "Collecting jinja2",
                                "  Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)",
                                "Collecting typing-extensions>=3.6.4",
                                "  Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)",
                                "Collecting zipp>=0.5",
                                "  Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)",
                                "Collecting pyparsing!=3.0.5,>=2.0.2",
                                "  Using cached pyparsing-3.1.4-py3-none-any.whl (104 kB)",
                                "Collecting wcwidth",
                                "  Using cached wcwidth-0.2.14-py2.py3-none-any.whl (37 kB)",
                                "Collecting urllib3<1.27,>=1.21.1",
                                "  Using cached urllib3-1.26.20-py2.py3-none-any.whl (144 kB)",
                                "Collecting charset-normalizer~=2.0.0",
                                "  Using cached charset_normalizer-2.0.12-py3-none-any.whl (39 kB)",
                                "Collecting certifi>=2017.4.17",
                                "  Using cached certifi-2025.4.26-py3-none-any.whl (159 kB)",
                                "Collecting idna<4,>=2.5",
                                "  Using cached idna-3.10-py3-none-any.whl (70 kB)",
                                "Collecting cffi>=1.12",
                                "  Using cached cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (402 kB)",
                                "Collecting MarkupSafe>=2.0",
                                "  Using cached MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)",
                                "Collecting pycparser",
                                "  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)",
                                "Installing collected packages: pycparser, zipp, typing-extensions, pyparsing, MarkupSafe, cffi, wcwidth, urllib3, resolvelib, PyYAML, packaging, jinja2, importlib-metadata, idna, cryptography, charset-normalizer, certifi, tomli, requests, pyflakes, pycodestyle, py, PrettyTable, pluggy, mccabe, iniconfig, distro, dciauth, attrs, ansible-core, selinux, pytest, flake8, dciclient, ansible",
                                "  Running setup.py develop for dciclient",
                                "Successfully installed MarkupSafe-2.0.1 PrettyTable-2.5.0 PyYAML-6.0.1 ansible-4.10.0 ansible-core-2.11.12 attrs-22.2.0 certifi-2025.4.26 cffi-1.15.1 charset-normalizer-2.0.12 cryptography-40.0.2 dciauth-4.0.1.post202603121510 dciclient-4.2.0 distro-1.9.0 flake8-5.0.4 idna-3.10 importlib-metadata-4.2.0 iniconfig-1.1.1 jinja2-3.0.3 mccabe-0.7.0 packaging-21.3 pluggy-1.0.0 py-1.11.0 pycodestyle-2.9.1 pycparser-2.21 pyflakes-2.5.0 pyparsing-3.1.4 pytest-7.0.1 requests-2.27.1 resolvelib-0.5.4 selinux-0.2.1 tomli-1.2.3 typing-extensions-4.1.1 urllib3-1.26.20 wcwidth-0.2.14 zipp-3.6.0",
                                "py36 finish: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/py36 after 34.89 seconds",
                                "py36 start: finishvenv ",
                                "write config to /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/.tox-config1 as '6742c0f74fd7d2805124b90b5d9444a7c0914321e07ec3a2c92289deb23c4d43 /usr/bin/python3.6\\n3.28.0 0 0 0\\n00000000000000000000000000000000 -r/workspace/src/github.com/distributedci/dci-ansible/test-requirements.txt'",
                                "py36 finish: finishvenv  after 0.00 seconds",
                                "py36 start: envreport ",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1253] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/python -m pip freeze >.tox/py36/log/py36-0.log",
                                "py36 finish: envreport  after 0.47 seconds",
                                "py36 installed: ansible==4.10.0,ansible-core==2.11.12,attrs==22.2.0,certifi==2025.4.26,cffi==1.15.1,charset-normalizer==2.0.12,cryptography==40.0.2,dciauth==4.0.1.post202603121510,-e git+file:///dev/null@ec18fb7db4b2b1764b8a342bcad42f710ec19af3#egg=dciclient,distro==1.9.0,flake8==5.0.4,idna==3.10,importlib-metadata==4.2.0,iniconfig==1.1.1,Jinja2==3.0.3,MarkupSafe==2.0.1,mccabe==0.7.0,packaging==21.3,pluggy==1.0.0,prettytable==2.5.0,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pyparsing==3.1.4,pytest==7.0.1,PyYAML==6.0.1,requests==2.27.1,resolvelib==0.5.4,selinux==0.2.1,tomli==1.2.3,typing_extensions==4.1.1,urllib3==1.26.20,wcwidth==0.2.14,zipp==3.6.0",
                                "___________________________________ summary ____________________________________",
                                "  pep8: skipped tests",
                                "  py36: skipped tests",
                                "  congratulations :)"
                            ],
                            "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000053-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:31:22.178323Z",
                            "start": "2026-06-16T16:28:43.539229Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000053",
                        "name": "Run tox without tests"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "tempfile",
                            "changed": true,
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "path": null,
                                    "prefix": "ansible.",
                                    "state": "file",
                                    "suffix": ""
                                }
                            },
                            "mode": "0600",
                            "owner": "root",
                            "path": "/tmp/ansible.j1fujpvp",
                            "size": 0,
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:31:28.218700Z",
                            "start": "2026-06-16T16:31:22.182941Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000054",
                        "name": "Create a tempfile to save tox showconfig"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "--version",
                                "--quiet"
                            ],
                            "delta": "0:00:00.225805",
                            "end": "2026-06-16 16:31:33.783603",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/workspace/.local/bin/tox --version --quiet",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/distributedci/dci-ansible",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000055-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:31:33.557798",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "3.28.0 imported from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "3.28.0 imported from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000055-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:31:34.856235Z",
                            "start": "2026-06-16T16:31:28.256281Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000055",
                        "name": "Detect tox version"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "/workspace/.local/bin/tox   --showconfig   > /tmp/ansible.j1fujpvp",
                            "delta": "0:00:00.377402",
                            "end": "2026-06-16 16:31:40.259656",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/workspace/.local/bin/tox   --showconfig   > /tmp/ansible.j1fujpvp",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": "src/github.com/distributedci/dci-ansible",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000056-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:31:39.882254",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000056-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:31:41.355322Z",
                            "start": "2026-06-16T16:31:34.891239Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000056",
                        "name": "Get tox envlist config"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "tox_install_sibling_packages",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "project_dir": "src/github.com/distributedci/dci-ansible",
                                    "projects": [
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/distributedci/dci-control-server",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "4ba1a779be565de9a6f47d616151c8b0bd23f864",
                                            "name": "distributedci/dci-control-server",
                                            "required": true,
                                            "short_name": "dci-control-server",
                                            "src_dir": "src/github.com/distributedci/dci-control-server"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/distributedci/python-dciclient",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "ec18fb7db4b2b1764b8a342bcad42f710ec19af3",
                                            "name": "distributedci/python-dciclient",
                                            "required": true,
                                            "short_name": "python-dciclient",
                                            "src_dir": "src/github.com/distributedci/python-dciclient"
                                        },
                                        {
                                            "canonical_hostname": "gitlab.com",
                                            "canonical_name": "gitlab.com/softwarefactory-project/centosinfra-prod/dci-config",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "401c077f4f321288dc08f65b2bd861fbd6a8e7ea",
                                            "name": "softwarefactory-project/centosinfra-prod/dci-config",
                                            "required": true,
                                            "short_name": "dci-config",
                                            "src_dir": "src/gitlab.com/softwarefactory-project/centosinfra-prod/dci-config"
                                        }
                                    ],
                                    "tox_constraints_file": null,
                                    "tox_package_name": null,
                                    "tox_show_config": "/tmp/ansible.j1fujpvp"
                                }
                            },
                            "msg": "No setup.cfg, no action needed"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:31:47.477952Z",
                            "start": "2026-06-16T16:31:41.361974Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000057",
                        "name": "Install any sibling python packages"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/ansible.j1fujpvp",
                                    "state": "absent"
                                },
                                "before": {
                                    "path": "/tmp/ansible.j1fujpvp",
                                    "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.j1fujpvp",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "absent",
                                    "unsafe_writes": false
                                }
                            },
                            "path": "/tmp/ansible.j1fujpvp",
                            "state": "absent"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:31:53.480978Z",
                            "start": "2026-06-16T16:31:47.485379Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000058",
                        "name": "Remove tempfile"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "debug",
                            "changed": false,
                            "msg": "/workspace/.local/bin/tox   -vv --skip-missing-interpreters=false"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:31:53.600238Z",
                            "start": "2026-06-16T16:31:53.485027Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000012",
                        "name": "Emit tox command"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "-vv",
                                "--skip-missing-interpreters=false"
                            ],
                            "delta": "0:00:02.817121",
                            "end": "2026-06-16 16:32:01.407389",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/workspace/.local/bin/tox   -vv --skip-missing-interpreters=false",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/distributedci/dci-ansible",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000014-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:31:58.590268",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "using tox.ini: /workspace/src/github.com/distributedci/dci-ansible/tox.ini (pid 1374)\n  removing /workspace/src/github.com/distributedci/dci-ansible/.tox/log\nusing tox-3.28.0 from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py (pid 1374)\nskipping sdist step\n/usr/bin/python3.6 (/usr/bin/python3.6) is {'executable': '/usr/bin/python3.6', 'implementation': 'CPython', 'version_info': [3, 6, 8, 'final', 0], 'version': '3.6.8 (default, Aug 11 2025, 09:47:15) \\n[GCC 8.5.0 20210514 (Red Hat 8.5.0-28)]', 'is_64': True, 'sysplatform': 'linux', 'os_sep': '/', 'extra_version_info': None}\npep8 uses /usr/bin/python3.6\npep8 start: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8\npep8 reusing: /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8\npep8 finish: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8 after 0.06 seconds\npep8 start: finishvenv \npep8 finish: finishvenv  after 0.00 seconds\npep8 start: envreport \nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1381] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/python -m pip freeze >.tox/pep8/log/pep8-1.log\npep8 finish: envreport  after 0.50 seconds\npep8 installed: ansible==4.10.0,ansible-core==2.11.12,attrs==22.2.0,certifi==2025.4.26,cffi==1.15.1,charset-normalizer==2.0.12,cryptography==40.0.2,dciauth==4.0.1.post202603121510,-e git+file:///dev/null@ec18fb7db4b2b1764b8a342bcad42f710ec19af3#egg=dciclient,distro==1.9.0,flake8==5.0.4,idna==3.10,importlib-metadata==4.2.0,iniconfig==1.1.1,Jinja2==3.0.3,MarkupSafe==2.0.1,mccabe==0.7.0,packaging==21.3,pluggy==1.0.0,prettytable==2.5.0,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pyparsing==3.1.4,pytest==7.0.1,PyYAML==6.0.1,requests==2.27.1,resolvelib==0.5.4,selinux==0.2.1,tomli==1.2.3,typing_extensions==4.1.1,urllib3==1.26.20,wcwidth==0.2.14,zipp==3.6.0\npep8 start: run-test-pre \npep8 run-test-pre: PYTHONHASHSEED='4210176182'\npep8 finish: run-test-pre  after 0.00 seconds\npep8 start: run-test \npep8 run-test: commands[0] | flake8\nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1387] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/flake8\npep8 finish: run-test  after 0.46 seconds\npep8 start: run-test-post \npep8 finish: run-test-post  after 0.00 seconds\npy36 uses /usr/bin/python3.6\npy36 start: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/py36\npy36 reusing: /workspace/src/github.com/distributedci/dci-ansible/.tox/py36\npy36 finish: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/py36 after 0.07 seconds\npy36 start: finishvenv \npy36 finish: finishvenv  after 0.00 seconds\npy36 start: envreport \nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1402] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/python -m pip freeze >.tox/py36/log/py36-1.log\npy36 finish: envreport  after 0.47 seconds\npy36 installed: ansible==4.10.0,ansible-core==2.11.12,attrs==22.2.0,certifi==2025.4.26,cffi==1.15.1,charset-normalizer==2.0.12,cryptography==40.0.2,dciauth==4.0.1.post202603121510,-e git+file:///dev/null@ec18fb7db4b2b1764b8a342bcad42f710ec19af3#egg=dciclient,distro==1.9.0,flake8==5.0.4,idna==3.10,importlib-metadata==4.2.0,iniconfig==1.1.1,Jinja2==3.0.3,MarkupSafe==2.0.1,mccabe==0.7.0,packaging==21.3,pluggy==1.0.0,prettytable==2.5.0,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pyparsing==3.1.4,pytest==7.0.1,PyYAML==6.0.1,requests==2.27.1,resolvelib==0.5.4,selinux==0.2.1,tomli==1.2.3,typing_extensions==4.1.1,urllib3==1.26.20,wcwidth==0.2.14,zipp==3.6.0\npy36 start: run-test-pre \npy36 run-test-pre: PYTHONHASHSEED='4210176182'\npy36 finish: run-test-pre  after 0.00 seconds\npy36 start: run-test \npy36 run-test: commands[0] | pytest tests/callbacks/test_dci.py\nsetting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\n[1408] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/pytest tests/callbacks/test_dci.py\n============================= test session starts ==============================\nplatform linux -- Python 3.6.8, pytest-7.0.1, pluggy-1.0.0\ncachedir: .tox/py36/.pytest_cache\nrootdir: /workspace/src/github.com/distributedci/dci-ansible\ncollected 3 items\n\ntests/callbacks/test_dci.py ...                                          [100%]\n\n=============================== warnings summary ===============================\n.tox/py36/lib/python3.6/site-packages/ansible/parsing/vault/__init__.py:44\n  /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/lib/python3.6/site-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography. The next release of cryptography will remove support for Python 3.6.\n    from cryptography.exceptions import InvalidSignature\n\n.tox/py36/lib64/python3.6/site-packages/_yaml/__init__.py:23\n  /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/lib64/python3.6/site-packages/_yaml/__init__.py:23: DeprecationWarning: The _yaml extension module is now located at yaml._yaml and its location is subject to change.  To use the LibYAML-based parser and emitter, import from `yaml`: `from yaml import CLoader as Loader, CDumper as Dumper`.\n    DeprecationWarning\n\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n======================== 3 passed, 2 warnings in 0.54s =========================\npy36 finish: run-test  after 0.91 seconds\npy36 start: run-test-post \npy36 finish: run-test-post  after 0.00 seconds\n___________________________________ summary ____________________________________\n  pep8: commands succeeded\n  py36: commands succeeded\n  congratulations :)",
                            "stdout_lines": [
                                "using tox.ini: /workspace/src/github.com/distributedci/dci-ansible/tox.ini (pid 1374)",
                                "  removing /workspace/src/github.com/distributedci/dci-ansible/.tox/log",
                                "using tox-3.28.0 from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py (pid 1374)",
                                "skipping sdist step",
                                "/usr/bin/python3.6 (/usr/bin/python3.6) is {'executable': '/usr/bin/python3.6', 'implementation': 'CPython', 'version_info': [3, 6, 8, 'final', 0], 'version': '3.6.8 (default, Aug 11 2025, 09:47:15) \\n[GCC 8.5.0 20210514 (Red Hat 8.5.0-28)]', 'is_64': True, 'sysplatform': 'linux', 'os_sep': '/', 'extra_version_info': None}",
                                "pep8 uses /usr/bin/python3.6",
                                "pep8 start: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8",
                                "pep8 reusing: /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8",
                                "pep8 finish: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8 after 0.06 seconds",
                                "pep8 start: finishvenv ",
                                "pep8 finish: finishvenv  after 0.00 seconds",
                                "pep8 start: envreport ",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1381] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/python -m pip freeze >.tox/pep8/log/pep8-1.log",
                                "pep8 finish: envreport  after 0.50 seconds",
                                "pep8 installed: ansible==4.10.0,ansible-core==2.11.12,attrs==22.2.0,certifi==2025.4.26,cffi==1.15.1,charset-normalizer==2.0.12,cryptography==40.0.2,dciauth==4.0.1.post202603121510,-e git+file:///dev/null@ec18fb7db4b2b1764b8a342bcad42f710ec19af3#egg=dciclient,distro==1.9.0,flake8==5.0.4,idna==3.10,importlib-metadata==4.2.0,iniconfig==1.1.1,Jinja2==3.0.3,MarkupSafe==2.0.1,mccabe==0.7.0,packaging==21.3,pluggy==1.0.0,prettytable==2.5.0,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pyparsing==3.1.4,pytest==7.0.1,PyYAML==6.0.1,requests==2.27.1,resolvelib==0.5.4,selinux==0.2.1,tomli==1.2.3,typing_extensions==4.1.1,urllib3==1.26.20,wcwidth==0.2.14,zipp==3.6.0",
                                "pep8 start: run-test-pre ",
                                "pep8 run-test-pre: PYTHONHASHSEED='4210176182'",
                                "pep8 finish: run-test-pre  after 0.00 seconds",
                                "pep8 start: run-test ",
                                "pep8 run-test: commands[0] | flake8",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1387] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/flake8",
                                "pep8 finish: run-test  after 0.46 seconds",
                                "pep8 start: run-test-post ",
                                "pep8 finish: run-test-post  after 0.00 seconds",
                                "py36 uses /usr/bin/python3.6",
                                "py36 start: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/py36",
                                "py36 reusing: /workspace/src/github.com/distributedci/dci-ansible/.tox/py36",
                                "py36 finish: getenv /workspace/src/github.com/distributedci/dci-ansible/.tox/py36 after 0.07 seconds",
                                "py36 start: finishvenv ",
                                "py36 finish: finishvenv  after 0.00 seconds",
                                "py36 start: envreport ",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1402] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/python -m pip freeze >.tox/py36/log/py36-1.log",
                                "py36 finish: envreport  after 0.47 seconds",
                                "py36 installed: ansible==4.10.0,ansible-core==2.11.12,attrs==22.2.0,certifi==2025.4.26,cffi==1.15.1,charset-normalizer==2.0.12,cryptography==40.0.2,dciauth==4.0.1.post202603121510,-e git+file:///dev/null@ec18fb7db4b2b1764b8a342bcad42f710ec19af3#egg=dciclient,distro==1.9.0,flake8==5.0.4,idna==3.10,importlib-metadata==4.2.0,iniconfig==1.1.1,Jinja2==3.0.3,MarkupSafe==2.0.1,mccabe==0.7.0,packaging==21.3,pluggy==1.0.0,prettytable==2.5.0,py==1.11.0,pycodestyle==2.9.1,pycparser==2.21,pyflakes==2.5.0,pyparsing==3.1.4,pytest==7.0.1,PyYAML==6.0.1,requests==2.27.1,resolvelib==0.5.4,selinux==0.2.1,tomli==1.2.3,typing_extensions==4.1.1,urllib3==1.26.20,wcwidth==0.2.14,zipp==3.6.0",
                                "py36 start: run-test-pre ",
                                "py36 run-test-pre: PYTHONHASHSEED='4210176182'",
                                "py36 finish: run-test-pre  after 0.00 seconds",
                                "py36 start: run-test ",
                                "py36 run-test: commands[0] | pytest tests/callbacks/test_dci.py",
                                "setting PATH=/workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin:/workspace/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                "[1408] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/pytest tests/callbacks/test_dci.py",
                                "============================= test session starts ==============================",
                                "platform linux -- Python 3.6.8, pytest-7.0.1, pluggy-1.0.0",
                                "cachedir: .tox/py36/.pytest_cache",
                                "rootdir: /workspace/src/github.com/distributedci/dci-ansible",
                                "collected 3 items",
                                "",
                                "tests/callbacks/test_dci.py ...                                          [100%]",
                                "",
                                "=============================== warnings summary ===============================",
                                ".tox/py36/lib/python3.6/site-packages/ansible/parsing/vault/__init__.py:44",
                                "  /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/lib/python3.6/site-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography. The next release of cryptography will remove support for Python 3.6.",
                                "    from cryptography.exceptions import InvalidSignature",
                                "",
                                ".tox/py36/lib64/python3.6/site-packages/_yaml/__init__.py:23",
                                "  /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/lib64/python3.6/site-packages/_yaml/__init__.py:23: DeprecationWarning: The _yaml extension module is now located at yaml._yaml and its location is subject to change.  To use the LibYAML-based parser and emitter, import from `yaml`: `from yaml import CLoader as Loader, CDumper as Dumper`.",
                                "    DeprecationWarning",
                                "",
                                "-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html",
                                "======================== 3 passed, 2 warnings in 0.54s =========================",
                                "py36 finish: run-test  after 0.91 seconds",
                                "py36 start: run-test-post ",
                                "py36 finish: run-test-post  after 0.00 seconds",
                                "___________________________________ summary ____________________________________",
                                "  pep8: commands succeeded",
                                "  py36: commands succeeded",
                                "  congratulations :)"
                            ],
                            "zuul_log_id": "0a580a2a-001b-fb29-767a-000000000014-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:02.482599Z",
                            "start": "2026-06-16T16:31:53.615117Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000014",
                        "name": "Run tox"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "tox_parse_output",
                            "changed": false,
                            "failed_when_result": false,
                            "file_comments": {},
                            "invocation": {
                                "module_args": {
                                    "tox_envlist": "default",
                                    "tox_output": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
                                    "workdir": "src/github.com/distributedci/dci-ansible"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:08.584124Z",
                            "start": "2026-06-16T16:32:02.490689Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000015",
                        "name": "Look for output"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "zuul_return",
                            "changed": false,
                            "false_condition": "file_comments.file_comments",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-fb29-767a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:08.640879Z",
                            "start": "2026-06-16T16:32:08.604144Z"
                        },
                        "id": "0a580a2a-001b-fb29-767a-000000000016",
                        "name": "Return file comments to Zuul"
                    }
                }
            ]
        }
    ],
    "stats": {
        "testrunner": {
            "changed": 9,
            "failures": 0,
            "ignored": 0,
            "ok": 13,
            "rescued": 0,
            "skipped": 4,
            "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-06-16T16:32:23.140496Z",
                    "start": "2026-06-16T16:32:09.301934Z"
                },
                "id": "0a580a2a-001b-1a92-e582-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:09.375758Z",
                            "start": "2026-06-16T16:32:09.311442Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-000000000007",
                        "name": "Set tox log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/tox"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:09.421828Z",
                            "start": "2026-06-16T16:32:09.380323Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-000000000008",
                        "name": "Set tox log path for single node"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "mode": "0755",
                                    "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/tox",
                                    "state": "directory"
                                },
                                "before": {
                                    "mode": "02755",
                                    "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/tox",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 493,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/tox",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "1000",
                            "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/work/logs/tox",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:09.850165Z",
                            "start": "2026-06-16T16:32:09.428797Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-000000000009",
                        "name": "Ensure local tox dir"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "zuul_use_fetch_output",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:09.895857Z",
                            "start": "2026-06-16T16:32:09.859725Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-00000000000a",
                        "name": "Ensure zuul-output tox dir"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_envlist is defined and tox_envlist != 'ALL' and tox_envlist",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:09.930102Z",
                            "start": "2026-06-16T16:32:09.903216Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-00000000000b",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.243457",
                            "end": "2026-06-16 16:32:15.189732",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/workspace/.local/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": "0a580a2a-001b-1a92-e582-00000000000c-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:32:14.946275",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "3.28.0 imported from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "3.28.0 imported from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "0a580a2a-001b-1a92-e582-00000000000c-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:16.228667Z",
                            "start": "2026-06-16T16:32:09.967073Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-00000000000c",
                        "name": "Get tox version"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "-l"
                            ],
                            "delta": "0:00:00.303790",
                            "end": "2026-06-16 16:32:21.502323",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/workspace/.local/bin/tox -l",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/distributedci/dci-ansible",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0a580a2a-001b-1a92-e582-00000000000d-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-16 16:32:21.198533",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "pep8\npy36",
                            "stdout_lines": [
                                "pep8",
                                "py36"
                            ],
                            "zuul_log_id": "0a580a2a-001b-1a92-e582-00000000000d-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:22.559511Z",
                            "start": "2026-06-16T16:32:16.264205Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-00000000000d",
                        "name": "Find all default environments"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "envlist": [
                                    "pep8",
                                    "py36"
                                ]
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:22.632394Z",
                            "start": "2026-06-16T16:32:22.566124Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-00000000000e",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "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": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:22.946742Z",
                            "start": "2026-06-16T16:32:22.668708Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-00000000000f",
                        "name": "Find all default environments"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_all_environments.stdout_lines is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:22.991226Z",
                            "start": "2026-06-16T16:32:22.954122Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-000000000010",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "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": "pep8"
                                },
                                {
                                    "ansible_loop_var": "zj_testenv",
                                    "changed": false,
                                    "false_condition": "zuul_use_fetch_output",
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true,
                                    "zj_testenv": "py36"
                                }
                            ],
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:23.057025Z",
                            "start": "2026-06-16T16:32:22.999385Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-000000000011",
                        "name": "Copy tox logs"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "synchronize",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_testenv",
                                    "changed": false,
                                    "failed": false,
                                    "failed_when_result": false,
                                    "msg": "synchronize uses rsync to function. rsync needs to connect to the remote host via ssh, docker client or a direct filesystem copy. This remote host is being accessed via kubectl instead so it cannot work.",
                                    "zj_testenv": "pep8"
                                },
                                {
                                    "ansible_loop_var": "zj_testenv",
                                    "changed": false,
                                    "failed": false,
                                    "failed_when_result": false,
                                    "msg": "synchronize uses rsync to function. rsync needs to connect to the remote host via ssh, docker client or a direct filesystem copy. This remote host is being accessed via kubectl instead so it cannot work.",
                                    "zj_testenv": "py36"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-1a92-e582-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:23.140496Z",
                            "start": "2026-06-16T16:32:23.066220Z"
                        },
                        "id": "0a580a2a-001b-1a92-e582-000000000013",
                        "name": "Collect tox logs"
                    }
                }
            ]
        }
    ],
    "stats": {
        "testrunner": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 6,
            "rescued": 0,
            "skipped": 6,
            "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-06-16T16:32:29.907307Z",
                    "start": "2026-06-16T16:32:23.856908Z"
                },
                "id": "0a580a2a-001b-d6d0-7d19-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "testrunner": {
                            "action": "script",
                            "changed": true,
                            "exception": "NoneType: None\n",
                            "failed_when_result": false,
                            "msg": "non-zero return code",
                            "rc": 1,
                            "stderr": "/workspace/.ansible/tmp/ansible-tmp-1781627544.8247757-5-40071558961949/find-testr.sh: line 29: cd: /root/src/github.com/distributedci/dci-ansible: No such file or directory\nerror: \n",
                            "stderr_lines": [
                                "/workspace/.ansible/tmp/ansible-tmp-1781627544.8247757-5-40071558961949/find-testr.sh: line 29: cd: /root/src/github.com/distributedci/dci-ansible: No such file or directory",
                                "error: "
                            ],
                            "stdout": "",
                            "stdout_lines": []
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-d6d0-7d19-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:29.620257Z",
                            "start": "2026-06-16T16:32:23.866768Z"
                        },
                        "id": "0a580a2a-001b-d6d0-7d19-000000000007",
                        "name": "Find stestr or testr executable"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-d6d0-7d19-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:29.654914Z",
                            "start": "2026-06-16T16:32:29.627951Z"
                        },
                        "id": "0a580a2a-001b-d6d0-7d19-000000000009",
                        "name": "Get the list of directories with subunit files"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "find",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-d6d0-7d19-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:29.690955Z",
                            "start": "2026-06-16T16:32:29.662397Z"
                        },
                        "id": "0a580a2a-001b-d6d0-7d19-00000000000a",
                        "name": "Find any inflight partial subunit files"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "copy",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-d6d0-7d19-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:29.733234Z",
                            "start": "2026-06-16T16:32:29.702273Z"
                        },
                        "id": "0a580a2a-001b-d6d0-7d19-00000000000c",
                        "name": "Copy any inflight subunit files"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "tempfile",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-d6d0-7d19-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:29.770174Z",
                            "start": "2026-06-16T16:32:29.743038Z"
                        },
                        "id": "0a580a2a-001b-d6d0-7d19-00000000000f",
                        "name": "Create a temporary file to store the subunit stream"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-d6d0-7d19-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:29.804956Z",
                            "start": "2026-06-16T16:32:29.778745Z"
                        },
                        "id": "0a580a2a-001b-d6d0-7d19-000000000010",
                        "name": "Generate subunit file"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "copy",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-d6d0-7d19-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:29.838635Z",
                            "start": "2026-06-16T16:32:29.812551Z"
                        },
                        "id": "0a580a2a-001b-d6d0-7d19-000000000012",
                        "name": "Copy the combined subunit file to the zuul work directory"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-d6d0-7d19-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:29.873137Z",
                            "start": "2026-06-16T16:32:29.846239Z"
                        },
                        "id": "0a580a2a-001b-d6d0-7d19-000000000013",
                        "name": "Remove the temporary file"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-001b-d6d0-7d19-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/b5ba9e19a7e44ecc999a92aa524b8af1/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-16T16:32:29.907307Z",
                            "start": "2026-06-16T16:32:29.881804Z"
                        },
                        "id": "0a580a2a-001b-d6d0-7d19-000000000014",
                        "name": "Process and fetch subunit results"
                    }
                }
            ]
        }
    ],
    "stats": {
        "testrunner": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 8,
            "unreachable": 0
        }
    },
    "trusted": false
}
]
