[
{
    "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-08T17:48:11.880739Z",
                    "start": "2026-06-08T17:48:09.121521Z"
                },
                "id": "0a580a2a-0013-7771-04e5-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-08",
                                    "day": "08",
                                    "epoch": "1780940889",
                                    "epoch_int": "1780940889",
                                    "hour": "17",
                                    "iso8601": "2026-06-08T17:48:09Z",
                                    "iso8601_basic": "20260608T174809802412",
                                    "iso8601_basic_short": "20260608T174809",
                                    "iso8601_micro": "2026-06-08T17:48:09.802412Z",
                                    "minute": "48",
                                    "month": "06",
                                    "second": "09",
                                    "time": "17:48:09",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Monday",
                                    "weekday_number": "1",
                                    "weeknumber": "23",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Redhat",
                                "ansible_distribution_major_version": "9",
                                "ansible_distribution_release": "Plow",
                                "ansible_distribution_version": "9.7",
                                "ansible_dns": {
                                    "nameservers": [
                                        "10.43.0.10"
                                    ],
                                    "options": {
                                        "ndots": "5"
                                    },
                                    "search": [
                                        "sf.svc.cluster.local",
                                        "svc.cluster.local",
                                        "cluster.local",
                                        "softwarefactory-project.io"
                                    ]
                                },
                                "ansible_domain": "zuul-executor-headless.sf.svc.cluster.local",
                                "ansible_effective_group_id": 0,
                                "ansible_effective_user_id": 1000,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/ansible/pre_playbook_0/ansible.cfg",
                                    "FLUENT_BIT_PORT": "tcp://10.43.58.168:2020",
                                    "FLUENT_BIT_PORT_2020_TCP": "tcp://10.43.58.168:2020",
                                    "FLUENT_BIT_PORT_2020_TCP_ADDR": "10.43.58.168",
                                    "FLUENT_BIT_PORT_2020_TCP_PORT": "2020",
                                    "FLUENT_BIT_PORT_2020_TCP_PROTO": "tcp",
                                    "FLUENT_BIT_PORT_24224_TCP": "tcp://10.43.58.168:24224",
                                    "FLUENT_BIT_PORT_24224_TCP_ADDR": "10.43.58.168",
                                    "FLUENT_BIT_PORT_24224_TCP_PORT": "24224",
                                    "FLUENT_BIT_PORT_24224_TCP_PROTO": "tcp",
                                    "FLUENT_BIT_PORT_5140_TCP": "tcp://10.43.58.168:5140",
                                    "FLUENT_BIT_PORT_5140_TCP_ADDR": "10.43.58.168",
                                    "FLUENT_BIT_PORT_5140_TCP_PORT": "5140",
                                    "FLUENT_BIT_PORT_5140_TCP_PROTO": "tcp",
                                    "FLUENT_BIT_SERVICE_HOST": "10.43.58.168",
                                    "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/da7fcc2fdc604c07bad9320ede12dd0a/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-ze03.softwarefactory-project.io",
                                    "K8S_PODIP": "10.42.0.19",
                                    "K8S_PODNAME": "zuul-executor-0",
                                    "KUBECONFIG": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/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/da7fcc2fdc604c07bad9320ede12dd0a/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": "3182742",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-XXXXXXRdSlMs/agent.3182741",
                                    "TERM": "xterm",
                                    "TMP": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/work/tmp",
                                    "XDG_CACHE_HOME": "/var/cache/dhall",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/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.09,
                                    "1m": 1.22,
                                    "5m": 1.17
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 2355,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 9182,
                                        "used": 6554
                                    },
                                    "real": {
                                        "free": 2355,
                                        "total": 15736,
                                        "used": 13381
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 15736,
                                "ansible_mounts": [
                                    {
                                        "block_available": 21373241,
                                        "block_size": 4096,
                                        "block_total": 25884155,
                                        "block_used": 4510914,
                                        "device": "/dev/vda4",
                                        "fstype": "xfs",
                                        "inode_available": 51300094,
                                        "inode_total": 51801024,
                                        "inode_used": 500930,
                                        "mount": "/etc/hosts",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 87544795136,
                                        "size_total": 106021498880,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5639930,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2208006,
                                        "device": "/dev/topolvm/543cc69e-b0ec-456e-b2ee-53b137581cc0",
                                        "fstype": "xfs",
                                        "inode_available": 15415313,
                                        "inode_total": 15728640,
                                        "inode_used": 313327,
                                        "mount": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/work",
                                        "options": "rw,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 23101153280,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 21373241,
                                        "block_size": 4096,
                                        "block_total": 25884155,
                                        "block_used": 4510914,
                                        "device": "/dev/vda4",
                                        "fstype": "xfs",
                                        "inode_available": 51300094,
                                        "inode_total": 51801024,
                                        "inode_used": 500930,
                                        "mount": "/etc/pki/ca-trust/extracted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 87544795136,
                                        "size_total": 106021498880,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5639930,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2208006,
                                        "device": "/dev/topolvm/543cc69e-b0ec-456e-b2ee-53b137581cc0",
                                        "fstype": "xfs",
                                        "inode_available": 15415313,
                                        "inode_total": 15728640,
                                        "inode_used": 313327,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 23101153280,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5639930,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2208006,
                                        "device": "/dev/topolvm/543cc69e-b0ec-456e-b2ee-53b137581cc0",
                                        "fstype": "xfs",
                                        "inode_available": 15415313,
                                        "inode_total": 15728640,
                                        "inode_used": 313327,
                                        "mount": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/ansible",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 23101153280,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5639930,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2208006,
                                        "device": "/dev/topolvm/543cc69e-b0ec-456e-b2ee-53b137581cc0",
                                        "fstype": "xfs",
                                        "inode_available": 15415313,
                                        "inode_total": 15728640,
                                        "inode_used": 313327,
                                        "mount": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/kube",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 23101153280,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5639930,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2208006,
                                        "device": "/dev/topolvm/543cc69e-b0ec-456e-b2ee-53b137581cc0",
                                        "fstype": "xfs",
                                        "inode_available": 15415313,
                                        "inode_total": 15728640,
                                        "inode_used": 313327,
                                        "mount": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 23101153280,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5639930,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2208006,
                                        "device": "/dev/topolvm/543cc69e-b0ec-456e-b2ee-53b137581cc0",
                                        "fstype": "xfs",
                                        "inode_available": 15415313,
                                        "inode_total": 15728640,
                                        "inode_used": 313327,
                                        "mount": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 23101153280,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5639930,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2208006,
                                        "device": "/dev/topolvm/543cc69e-b0ec-456e-b2ee-53b137581cc0",
                                        "fstype": "xfs",
                                        "inode_available": 15415313,
                                        "inode_total": 15728640,
                                        "inode_used": 313327,
                                        "mount": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/ansible/pre_playbook_0",
                                        "options": "ro,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 23101153280,
                                        "size_total": 32145145856,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 5639930,
                                        "block_size": 4096,
                                        "block_total": 7847936,
                                        "block_used": 2208006,
                                        "device": "/dev/topolvm/543cc69e-b0ec-456e-b2ee-53b137581cc0",
                                        "fstype": "xfs",
                                        "inode_available": 15415313,
                                        "inode_total": 15728640,
                                        "inode_used": 313327,
                                        "mount": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/.ansible",
                                        "options": "rw,seclabel,nosuid,nodev,relatime,nouuid,attr2,inode64,logbufs=8,logbsize=32k,noquota,bind",
                                        "size_available": 23101153280,
                                        "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": 4021412,
                                "ansible_user_dir": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/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-08T17:48:10.155627Z",
                            "start": "2026-06-08T17:48:09.128800Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-0000000000a3",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-7771-04e5-000000000008",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:10.199205Z",
                            "start": "2026-06-08T17:48:10.163221Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-00000000000a",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "da7/dci/da7fcc2fdc604c07bad9320ede12dd0a"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-7771-04e5-0000000000c6",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:10.263949Z",
                            "start": "2026-06-08T17:48:10.221671Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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.51\nTriggered by: https://github.com/distributedci/dci-ansible/pull/5\nEvent ID: 15b4c7b0-6362-11f1-99a6-4c1e2095f7c8\n"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-7771-04e5-000000000008",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:10.328118Z",
                            "start": "2026-06-08T17:48:10.275013Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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: d1c7087e30ff\nUsername: zuul\nDistro: RedHat 8.10\nProvider: k1s05\nRegion: \nLabel: zuul-worker-ubi8\nProduct Name: OpenStack Nova\nInterface IP: zuul-worker-ubi8-0000067546\n",
                                    "zj_item": "testrunner"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-7771-04e5-000000000008",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:10.434598Z",
                            "start": "2026-06-08T17:48:10.333308Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-00000000000c",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "mode": "0755",
                                    "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "mode": "02755",
                                    "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/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/da7fcc2fdc604c07bad9320ede12dd0a/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/da7fcc2fdc604c07bad9320ede12dd0a/work/logs/zuul-info",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-7771-04e5-00000000001b",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:10.907806Z",
                            "start": "2026-06-08T17:48:10.445530Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-00000000001d",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "13b735669e690939e96a6e1916590ce209e1a861",
                            "dest": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "13b735669e690939e96a6e1916590ce209e1a861",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/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/da7fcc2fdc604c07bad9320ede12dd0a/work/.ansible/tmp/ansible-tmp-1780940890.9568367-57-119317109276320/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "1b9b486876373da1a35c5f83a8788d2d",
                            "mode": "0644",
                            "owner": "1000",
                            "size": 20630,
                            "src": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/work/.ansible/tmp/ansible-tmp-1780940890.9568367-57-119317109276320/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-7771-04e5-00000000001b",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:11.880739Z",
                            "start": "2026-06-08T17:48:10.915710Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-00000000001e",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-06-08T17:48:58.641242Z",
                    "start": "2026-06-08T17:48:11.890510Z"
                },
                "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-00000000002c",
                        "name": "start-zuul-console",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/start-zuul-console"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:17.922147Z",
                            "start": "2026-06-08T17:48:11.902101Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:17.949575Z",
                            "start": "2026-06-08T17:48:17.928770Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:17.996159Z",
                            "start": "2026-06-08T17:48:17.958329Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.034583Z",
                            "start": "2026-06-08T17:48:18.004994Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.070231Z",
                            "start": "2026-06-08T17:48:18.042610Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.116528Z",
                            "start": "2026-06-08T17:48:18.079438Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.153168Z",
                            "start": "2026-06-08T17:48:18.125839Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000039",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.187889Z",
                            "start": "2026-06-08T17:48:18.160915Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000059",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.208899Z",
                            "start": "2026-06-08T17:48:18.194427Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000059",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.250341Z",
                            "start": "2026-06-08T17:48:18.216079Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000068",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.295504Z",
                            "start": "2026-06-08T17:48:18.259491Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000068",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.331973Z",
                            "start": "2026-06-08T17:48:18.304267Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-186:9023",
                                            "namespace": "main",
                                            "pod": "zuul-worker-ubi8-0000067546",
                                            "resources": {
                                                "cores": 0,
                                                "instances": 1,
                                                "ram": 0
                                            },
                                            "stream_port1": 45335,
                                            "stream_port2": 32785
                                        }
                                    ]
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-7771-04e5-000000000078",
                        "name": "prepare-workspace-openshift",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-openshift"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:18.427309Z",
                            "start": "2026-06-08T17:48:18.346937Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-00000000007a",
                        "name": "Include rsync tasks"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "oc",
                                "--context",
                                "main:zuul-worker/38-102-83-186:9023",
                                "--namespace",
                                "main",
                                "exec",
                                "zuul-worker-ubi8-0000067546",
                                "mkdir",
                                "src"
                            ],
                            "delta": "0:00:00.964041",
                            "end": "2026-06-08 17:48:19.826995",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "oc --context \"main:zuul-worker/38-102-83-186:9023\"\n   --namespace \"main\"\n   exec zuul-worker-ubi8-0000067546 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-0013-7771-04e5-000000000126-0-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:48:18.862954",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0013-7771-04e5-000000000126-0-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-7771-04e5-000000000078",
                        "name": "prepare-workspace-openshift",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-openshift"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:19.891642Z",
                            "start": "2026-06-08T17:48:18.440309Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000078",
                        "name": "prepare-workspace-openshift",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-openshift"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:22.140793Z",
                            "start": "2026-06-08T17:48:19.901023Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000085",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:22.598059Z",
                            "start": "2026-06-08T17:48:22.153852Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000092",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:40.556146Z",
                            "start": "2026-06-08T17:48:22.612609Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-0013-7771-04e5-000000000092",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:58.641242Z",
                            "start": "2026-06-08T17:48:40.563395Z"
                        },
                        "id": "0a580a2a-0013-7771-04e5-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-08T17:49:18.719128Z",
                    "start": "2026-06-08T17:48:59.445779Z"
                },
                "id": "0a580a2a-0013-b6f8-a727-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "bindep"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:59.526053Z",
                            "start": "2026-06-08T17:48:59.455766Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-000000000004",
                        "name": "Install binary dependencies"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "find.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:48:59.575019Z",
                            "start": "2026-06-08T17:48:59.545491Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:05.676855Z",
                            "start": "2026-06-08T17:48:59.588276Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:05.701517Z",
                            "start": "2026-06-08T17:49:05.683695Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:11.778692Z",
                            "start": "2026-06-08T17:49:05.709530Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:11.822710Z",
                            "start": "2026-06-08T17:49:11.785247Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:11.867320Z",
                            "start": "2026-06-08T17:49:11.829865Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:11.902938Z",
                            "start": "2026-06-08T17:49:11.875500Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:11.939065Z",
                            "start": "2026-06-08T17:49:11.912443Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:11.972675Z",
                            "start": "2026-06-08T17:49:11.945987Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:12.046864Z",
                            "start": "2026-06-08T17:49:11.979982Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-000000000021",
                        "name": "Include package tasks"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "test-setup"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:12.083195Z",
                            "start": "2026-06-08T17:49:12.060295Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000008f",
                        "name": "test-setup",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/test-setup"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:18.126580Z",
                            "start": "2026-06-08T17:49:12.109086Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-0013-b6f8-a727-00000000008f",
                        "name": "test-setup",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/test-setup"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:18.719128Z",
                            "start": "2026-06-08T17:49:18.164134Z"
                        },
                        "id": "0a580a2a-0013-b6f8-a727-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-08T17:49:47.180530Z",
                    "start": "2026-06-08T17:49:19.489811Z"
                },
                "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:19.535608Z",
                            "start": "2026-06-08T17:49:19.500652Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:19.574261Z",
                            "start": "2026-06-08T17:49:19.539632Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:19.612257Z",
                            "start": "2026-06-08T17:49:19.577703Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:19.659319Z",
                            "start": "2026-06-08T17:49:19.622453Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:19.703226Z",
                            "start": "2026-06-08T17:49:19.666257Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:19.737248Z",
                            "start": "2026-06-08T17:49:19.710476Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:19.762850Z",
                            "start": "2026-06-08T17:49:19.744376Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:19.797156Z",
                            "start": "2026-06-08T17:49:19.770508Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-000000000012",
                        "name": "Activate python using stow"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "ensure-pip"
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4c8d-e938-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:19.832526Z",
                            "start": "2026-06-08T17:49:19.809494Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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.242851",
                            "end": "2026-06-08 17:49:25.407396",
                            "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-0013-4c8d-e938-000000000081-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:49:25.164545",
                            "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-0013-4c8d-e938-000000000081-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4c8d-e938-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:26.484443Z",
                            "start": "2026-06-08T17:49:19.882274Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/RedHat.yaml"
                                }
                            ],
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4c8d-e938-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:26.529756Z",
                            "start": "2026-06-08T17:49:26.491609Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:26.565908Z",
                            "start": "2026-06-08T17:49:26.538327Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:26.893173Z",
                            "start": "2026-06-08T17:49:26.604728Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:26.928190Z",
                            "start": "2026-06-08T17:49:26.900893Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:26.963937Z",
                            "start": "2026-06-08T17:49:26.936394Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-00000000008a",
                        "name": "Install pip from source"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v python3\n",
                            "delta": "0:00:00.008594",
                            "end": "2026-06-08 17:49:32.067005",
                            "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-0013-4c8d-e938-00000000008b-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:49:32.058411",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/python3",
                            "stdout_lines": [
                                "/usr/bin/python3"
                            ],
                            "zuul_log_id": "0a580a2a-0013-4c8d-e938-00000000008b-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4c8d-e938-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:33.154800Z",
                            "start": "2026-06-08T17:49:27.001517Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:33.234075Z",
                            "start": "2026-06-08T17:49:33.161106Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:33.302836Z",
                            "start": "2026-06-08T17:49:33.237216Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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.009710",
                            "end": "2026-06-08 17:49:38.508842",
                            "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-0013-4c8d-e938-000000000017-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:49:38.499132",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/workspace/.local/bin/tox",
                            "stdout_lines": [
                                "/workspace/.local/bin/tox"
                            ],
                            "zuul_log_id": "0a580a2a-0013-4c8d-e938-000000000017-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4c8d-e938-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:39.632778Z",
                            "start": "2026-06-08T17:49:33.343479Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:39.695581Z",
                            "start": "2026-06-08T17:49:39.639178Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:40.008548Z",
                            "start": "2026-06-08T17:49:39.728672Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:40.483586Z",
                            "start": "2026-06-08T17:49:40.076090Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:40.511703Z",
                            "start": "2026-06-08T17:49:40.494595Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-00000000001c",
                        "name": "Export installed tox_executable path"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.478721",
                            "end": "2026-06-08 17:49:46.052640",
                            "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-0013-4c8d-e938-00000000001e-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:49:45.573919",
                            "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-0013-4c8d-e938-00000000001e-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4c8d-e938-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:47.142233Z",
                            "start": "2026-06-08T17:49:40.549379Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-0013-4c8d-e938-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:47.180530Z",
                            "start": "2026-06-08T17:49:47.150620Z"
                        },
                        "id": "0a580a2a-0013-4c8d-e938-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-08T17:54:21.804886Z",
                    "start": "2026-06-08T17:49:47.990772Z"
                },
                "id": "0a580a2a-0013-f00f-bf78-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.012405",
                            "end": "2026-06-08 17:49:53.349284",
                            "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-0013-f00f-bf78-000000000004-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:49:53.336879",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/workspace/src/github.com/distributedci/dci-ansible",
                            "stdout_lines": [
                                "/workspace/src/github.com/distributedci/dci-ansible"
                            ],
                            "zuul_log_id": "0a580a2a-0013-f00f-bf78-000000000004-1-testrunner"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:49:54.512931Z",
                            "start": "2026-06-08T17:49:48.012213Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-08T17:49:54.593955Z",
                            "start": "2026-06-08T17:49:54.519538Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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: gcc-8.5.0-28.el8_10.x86_64",
                                "Installed: gcc-c++-8.5.0-28.el8_10.x86_64",
                                "Installed: gcc-plugin-annobin-8.5.0-28.el8_10.x86_64",
                                "Installed: git-2.43.7-1.el8_10.x86_64",
                                "Installed: git-core-2.43.7-1.el8_10.x86_64",
                                "Installed: git-core-doc-2.43.7-1.el8_10.noarch",
                                "Installed: cpp-8.5.0-28.el8_10.x86_64",
                                "Installed: python3.12-setuptools-68.2.2-5.el8_10.noarch",
                                "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",
                                "Installed: libgcc-8.5.0-28.el8_10.x86_64",
                                "Installed: libgomp-8.5.0-28.el8_10.x86_64",
                                "Installed: libstdc++-8.5.0-28.el8_10.x86_64",
                                "Installed: libstdc++-devel-8.5.0-28.el8_10.x86_64",
                                "Installed: postgresql-server-10.23-4.module+el8.9.0+21317+d2c6bf8a.x86_64",
                                "Installed: perl-Git-2.43.7-1.el8_10.noarch",
                                "Removed: git-core-2.43.5-1.el8_10.x86_64",
                                "Removed: git-core-doc-2.43.5-1.el8_10.noarch",
                                "Removed: libstdc++-devel-8.5.0-22.el8_10.x86_64",
                                "Removed: libgomp-8.5.0-22.el8_10.x86_64",
                                "Removed: cpp-8.5.0-22.el8_10.x86_64",
                                "Removed: perl-Git-2.43.5-1.el8_10.noarch",
                                "Removed: libgcc-8.5.0-22.el8_10.x86_64",
                                "Removed: gcc-8.5.0-22.el8_10.x86_64",
                                "Removed: gcc-c++-8.5.0-22.el8_10.x86_64",
                                "Removed: gcc-plugin-annobin-8.5.0-22.el8_10.x86_64",
                                "Removed: libstdc++-8.5.0-22.el8_10.x86_64",
                                "Removed: git-2.43.5-1.el8_10.x86_64"
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:16.431941Z",
                            "start": "2026-06-08T17:49:54.600632Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-000000000006",
                        "name": "Install required packages"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "ensure-tox"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:16.466851Z",
                            "start": "2026-06-08T17:51:16.438624Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-000000000007",
                        "name": "Install tox"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "ensure-pip"
                            }
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-f00f-bf78-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:16.518913Z",
                            "start": "2026-06-08T17:51:16.497622Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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.122128",
                            "end": "2026-06-08 17:51:21.805399",
                            "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-0013-f00f-bf78-00000000009a-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:51:21.683271",
                            "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-0013-f00f-bf78-00000000009a-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-f00f-bf78-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:22.899034Z",
                            "start": "2026-06-08T17:51:16.563440Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/RedHat.yaml"
                                }
                            ],
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-f00f-bf78-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:22.956324Z",
                            "start": "2026-06-08T17:51:22.906169Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:22.993220Z",
                            "start": "2026-06-08T17:51:22.964691Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:23.336277Z",
                            "start": "2026-06-08T17:51:23.055921Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:23.373453Z",
                            "start": "2026-06-08T17:51:23.345028Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:23.411634Z",
                            "start": "2026-06-08T17:51:23.383054Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-0000000000a3",
                        "name": "Install pip from source"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v python3\n",
                            "delta": "0:00:00.008947",
                            "end": "2026-06-08 17:51:28.567976",
                            "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-0013-f00f-bf78-0000000000a4-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:51:28.559029",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/python3",
                            "stdout_lines": [
                                "/usr/bin/python3"
                            ],
                            "zuul_log_id": "0a580a2a-0013-f00f-bf78-0000000000a4-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-f00f-bf78-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:29.625453Z",
                            "start": "2026-06-08T17:51:23.451061Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:29.681319Z",
                            "start": "2026-06-08T17:51:29.629676Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000098",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:29.744574Z",
                            "start": "2026-06-08T17:51:29.688763Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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.009162",
                            "end": "2026-06-08 17:51:34.889971",
                            "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-0013-f00f-bf78-000000000046-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:51:34.880809",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/workspace/.local/bin/tox",
                            "stdout_lines": [
                                "/workspace/.local/bin/tox"
                            ],
                            "zuul_log_id": "0a580a2a-0013-f00f-bf78-000000000046-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-f00f-bf78-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:35.924858Z",
                            "start": "2026-06-08T17:51:29.785947Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:35.988752Z",
                            "start": "2026-06-08T17:51:35.932325Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:36.340290Z",
                            "start": "2026-06-08T17:51:36.068265Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:36.835591Z",
                            "start": "2026-06-08T17:51:36.375041Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:36.873541Z",
                            "start": "2026-06-08T17:51:36.844698Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-00000000004b",
                        "name": "Export installed tox_executable path"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.218804",
                            "end": "2026-06-08 17:51:42.154850",
                            "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-0013-f00f-bf78-00000000004d-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:51:41.936046",
                            "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-0013-f00f-bf78-00000000004d-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-f00f-bf78-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:43.237228Z",
                            "start": "2026-06-08T17:51:36.912896Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-0013-f00f-bf78-000000000043",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:51:43.286722Z",
                            "start": "2026-06-08T17:51:43.245327Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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": 1780940901.6445632,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "2384c5e04c12a4740dbd3380a21b55b16f836808",
                                        "ctime": 1780940901.6445632,
                                        "dev": 52,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 260048997,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1780940876.653758,
                                        "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": 1780940901.6865644,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "f270aee2e10540b70349cbabd822a21c2fb555d0",
                                        "ctime": 1780940901.6865644,
                                        "dev": 52,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 184600389,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1780940877.4537828,
                                        "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/python-dciclient/test-requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/python-dciclient",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "c9b527d6c9d54be7760427c87d32f025cfb9f570",
                                        "name": "distributedci/python-dciclient",
                                        "required": true,
                                        "short_name": "python-dciclient",
                                        "src_dir": "src/github.com/distributedci/python-dciclient"
                                    },
                                    "stat": {
                                        "atime": 1780940901.9445724,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "ad3395704c4007032ce26a4301b15abf23543967",
                                        "ctime": 1780940901.9455724,
                                        "dev": 52,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 192939995,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1780940877.6407888,
                                        "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-08T17:52:07.744207Z",
                            "start": "2026-06-08T17:51:43.307543Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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/python-dciclient/test-requirements.txt"
                                ]
                            },
                            "changed": false
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:52:07.805220Z",
                            "start": "2026-06-08T17:52:07.750655Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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": 1780940901.6445632,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "fa2a3f24a20dacf97659271d7cd341f8a4ddba70",
                                        "ctime": 1780940901.6445632,
                                        "dev": 52,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 260048996,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1780940877.3207786,
                                        "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": 1780940901.6855643,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "7ae231b431e065d5589545f62e3c391d2acc3172",
                                        "ctime": 1780940901.6855643,
                                        "dev": 52,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 184600387,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1780940877.4527829,
                                        "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/python-dciclient/requirements.txt"
                                        }
                                    },
                                    "item": {
                                        "canonical_hostname": "github.com",
                                        "canonical_name": "github.com/distributedci/python-dciclient",
                                        "checkout": "main",
                                        "checkout_description": "zuul branch",
                                        "commit": "c9b527d6c9d54be7760427c87d32f025cfb9f570",
                                        "name": "distributedci/python-dciclient",
                                        "required": true,
                                        "short_name": "python-dciclient",
                                        "src_dir": "src/github.com/distributedci/python-dciclient"
                                    },
                                    "stat": {
                                        "atime": 1780940901.9445724,
                                        "attr_flags": "",
                                        "attributes": [],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "us-ascii",
                                        "checksum": "bee3e7afb93f992ab773081a0f927bd150f7be2a",
                                        "ctime": 1780940901.9445724,
                                        "dev": 52,
                                        "device_type": 0,
                                        "executable": false,
                                        "exists": true,
                                        "gid": 0,
                                        "gr_name": "root",
                                        "inode": 192939992,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": false,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": true,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "text/plain",
                                        "mode": "0644",
                                        "mtime": 1780940877.6407888,
                                        "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-08T17:52:32.198183Z",
                            "start": "2026-06-08T17:52:07.813214Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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/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/python-dciclient/requirements.txt"
                                ]
                            },
                            "changed": false
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:52:32.291610Z",
                            "start": "2026-06-08T17:52:32.205849Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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/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/python-dciclient/requirements.txt"
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:52:32.341796Z",
                            "start": "2026-06-08T17:52:32.298166Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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": 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/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-08T17:53:08.492971Z",
                            "start": "2026-06-08T17:52:32.349655Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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/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": 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-08T17:53:45.315029Z",
                            "start": "2026-06-08T17:53:08.500231Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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": "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": "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-08T17:54:21.679639Z",
                            "start": "2026-06-08T17:53:45.321943Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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": "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": "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-08T17:54:21.804886Z",
                            "start": "2026-06-08T17:54:21.686637Z"
                        },
                        "id": "0a580a2a-0013-f00f-bf78-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-08T17:58:41.642855Z",
                    "start": "2026-06-08T17:54:22.738686Z"
                },
                "id": "0a580a2a-0013-4033-2d4a-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "sudo",
                                "-n",
                                "true"
                            ],
                            "delta": "0:00:00.033018",
                            "end": "2026-06-08 17:54:28.300158",
                            "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-0013-4033-2d4a-000000000008-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:54:28.267140",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0013-4033-2d4a-000000000008-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:54:29.443912Z",
                            "start": "2026-06-08T17:54:22.762681Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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.010103",
                            "end": "2026-06-08 17:54:34.488996",
                            "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-0013-4033-2d4a-000000000009-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:54:34.478893",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0013-4033-2d4a-000000000009-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:54:35.643672Z",
                            "start": "2026-06-08T17:54:29.478834Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-000000000009",
                        "name": "Remove sudo access for zuul user."
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "! sudo -n true",
                            "delta": "0:00:00.035554",
                            "end": "2026-06-08 17:54:40.924024",
                            "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-0013-4033-2d4a-00000000000a-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:54:40.888470",
                            "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-0013-4033-2d4a-00000000000a-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:54:41.963273Z",
                            "start": "2026-06-08T17:54:35.679959Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:54:42.012181Z",
                            "start": "2026-06-08T17:54:41.975239Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:54:42.056986Z",
                            "start": "2026-06-08T17:54:42.019756Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:54:42.102078Z",
                            "start": "2026-06-08T17:54:42.065093Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-000000000010",
                        "name": "Record file location"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "siblings.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:54:42.141954Z",
                            "start": "2026-06-08T17:54:42.109209Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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:43.670123",
                            "end": "2026-06-08 17:57:31.033814",
                            "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-0013-4033-2d4a-000000000053-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:54:47.363691",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "using tox.ini: /workspace/src/github.com/distributedci/dci-ansible/tox.ini (pid 1117)\nusing tox-3.28.0 from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py (pid 1117)\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, Sep  9 2024, 06:12:39) \\n[GCC 8.5.0 20210514 (Red Hat 8.5.0-22)]', '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[1123] /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 581ms\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[1136] /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 pluggy<2.0,>=0.12\n  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)\nCollecting tomli>=1.0.0\n  Downloading tomli-1.2.3-py3-none-any.whl (12 kB)\nCollecting iniconfig\n  Downloading iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)\nCollecting attrs>=19.2.0\n  Downloading attrs-22.2.0-py3-none-any.whl (60 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 py>=1.8.2\n  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)\nCollecting importlib-metadata>=0.12\n  Downloading importlib_metadata-4.2.0-py3-none-any.whl (16 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 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 zipp>=0.5\n  Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)\nCollecting typing-extensions>=3.6.4\n  Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)\nCollecting pyparsing!=3.0.5,>=2.0.2\n  Downloading 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 idna<4,>=2.5\n  Downloading idna-3.10-py3-none-any.whl (70 kB)\nCollecting certifi>=2017.4.17\n  Downloading certifi-2025.4.26-py3-none-any.whl (159 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=aafd1ca44d8f4d9257bef0727f1f59c28280bca1996b912d6f780e6f2de5883e\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=d5031813395fb1c06da5160e8c72c3c26b386bb3b18bd9c5cb1a4b99e8d58106\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.1.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 121.24 seconds\npep8 start: finishvenv \nwrite config to /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/.tox-config1 as '7200686089bc8143b06eba14d24b68b39e024434721d77765bff4de83f1bf3a8 /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[1176] /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.57 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@c9b527d6c9d54be7760427c87d32f025cfb9f570#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[1182] /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 779ms\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[1189] /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 pluggy<2.0,>=0.12\n  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)\nCollecting tomli>=1.0.0\n  Using cached tomli-1.2.3-py3-none-any.whl (12 kB)\nCollecting iniconfig\n  Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)\nCollecting attrs>=19.2.0\n  Using cached attrs-22.2.0-py3-none-any.whl (60 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 py>=1.8.2\n  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)\nCollecting importlib-metadata>=0.12\n  Using cached importlib_metadata-4.2.0-py3-none-any.whl (16 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 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 resolvelib<0.6.0,>=0.5.3\n  Using cached resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)\nCollecting cryptography\n  Using cached cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl (3.7 MB)\nCollecting PyYAML\n  Using cached PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (677 kB)\nCollecting jinja2\n  Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)\nCollecting zipp>=0.5\n  Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)\nCollecting typing-extensions>=3.6.4\n  Using cached typing_extensions-4.1.1-py3-none-any.whl (26 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 idna<4,>=2.5\n  Using cached idna-3.10-py3-none-any.whl (70 kB)\nCollecting certifi>=2017.4.17\n  Using cached certifi-2025.4.26-py3-none-any.whl (159 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.1.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 41.07 seconds\npy36 start: finishvenv \nwrite config to /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/.tox-config1 as '7200686089bc8143b06eba14d24b68b39e024434721d77765bff4de83f1bf3a8 /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[1202] /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.44 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@c9b527d6c9d54be7760427c87d32f025cfb9f570#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 1117)",
                                "using tox-3.28.0 from /workspace/.local/lib/python3.6/site-packages/tox/__init__.py (pid 1117)",
                                "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, Sep  9 2024, 06:12:39) \\n[GCC 8.5.0 20210514 (Red Hat 8.5.0-22)]', '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",
                                "[1123] /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 581ms",
                                "  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",
                                "[1136] /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 pluggy<2.0,>=0.12",
                                "  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)",
                                "Collecting tomli>=1.0.0",
                                "  Downloading tomli-1.2.3-py3-none-any.whl (12 kB)",
                                "Collecting iniconfig",
                                "  Downloading iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)",
                                "Collecting attrs>=19.2.0",
                                "  Downloading attrs-22.2.0-py3-none-any.whl (60 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 py>=1.8.2",
                                "  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)",
                                "Collecting importlib-metadata>=0.12",
                                "  Downloading importlib_metadata-4.2.0-py3-none-any.whl (16 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 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 zipp>=0.5",
                                "  Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)",
                                "Collecting typing-extensions>=3.6.4",
                                "  Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)",
                                "Collecting pyparsing!=3.0.5,>=2.0.2",
                                "  Downloading 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 idna<4,>=2.5",
                                "  Downloading idna-3.10-py3-none-any.whl (70 kB)",
                                "Collecting certifi>=2017.4.17",
                                "  Downloading certifi-2025.4.26-py3-none-any.whl (159 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=aafd1ca44d8f4d9257bef0727f1f59c28280bca1996b912d6f780e6f2de5883e",
                                "  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=d5031813395fb1c06da5160e8c72c3c26b386bb3b18bd9c5cb1a4b99e8d58106",
                                "  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.1.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 121.24 seconds",
                                "pep8 start: finishvenv ",
                                "write config to /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/.tox-config1 as '7200686089bc8143b06eba14d24b68b39e024434721d77765bff4de83f1bf3a8 /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",
                                "[1176] /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.57 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@c9b527d6c9d54be7760427c87d32f025cfb9f570#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",
                                "[1182] /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 779ms",
                                "  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",
                                "[1189] /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 pluggy<2.0,>=0.12",
                                "  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)",
                                "Collecting tomli>=1.0.0",
                                "  Using cached tomli-1.2.3-py3-none-any.whl (12 kB)",
                                "Collecting iniconfig",
                                "  Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)",
                                "Collecting attrs>=19.2.0",
                                "  Using cached attrs-22.2.0-py3-none-any.whl (60 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 py>=1.8.2",
                                "  Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)",
                                "Collecting importlib-metadata>=0.12",
                                "  Using cached importlib_metadata-4.2.0-py3-none-any.whl (16 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 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 resolvelib<0.6.0,>=0.5.3",
                                "  Using cached resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)",
                                "Collecting cryptography",
                                "  Using cached cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl (3.7 MB)",
                                "Collecting PyYAML",
                                "  Using cached PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (677 kB)",
                                "Collecting jinja2",
                                "  Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)",
                                "Collecting zipp>=0.5",
                                "  Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)",
                                "Collecting typing-extensions>=3.6.4",
                                "  Using cached typing_extensions-4.1.1-py3-none-any.whl (26 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 idna<4,>=2.5",
                                "  Using cached idna-3.10-py3-none-any.whl (70 kB)",
                                "Collecting certifi>=2017.4.17",
                                "  Using cached certifi-2025.4.26-py3-none-any.whl (159 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.1.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 41.07 seconds",
                                "py36 start: finishvenv ",
                                "write config to /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/.tox-config1 as '7200686089bc8143b06eba14d24b68b39e024434721d77765bff4de83f1bf3a8 /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",
                                "[1202] /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.44 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@c9b527d6c9d54be7760427c87d32f025cfb9f570#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-0013-4033-2d4a-000000000053-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:57:32.129549Z",
                            "start": "2026-06-08T17:54:42.183930Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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.dldab614",
                            "size": 0,
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:57:38.939667Z",
                            "start": "2026-06-08T17:57:32.137142Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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.222133",
                            "end": "2026-06-08 17:57:51.157398",
                            "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-0013-4033-2d4a-000000000055-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:57:50.935265",
                            "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-0013-4033-2d4a-000000000055-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:57:52.237654Z",
                            "start": "2026-06-08T17:57:38.977108Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-000000000055",
                        "name": "Detect tox version"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "/workspace/.local/bin/tox   --showconfig   > /tmp/ansible.dldab614",
                            "delta": "0:00:02.193933",
                            "end": "2026-06-08 17:58:01.514930",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/workspace/.local/bin/tox   --showconfig   > /tmp/ansible.dldab614",
                                    "_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-0013-4033-2d4a-000000000056-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:57:59.320997",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0a580a2a-0013-4033-2d4a-000000000056-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:03.194683Z",
                            "start": "2026-06-08T17:57:52.270783Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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": "c9b527d6c9d54be7760427c87d32f025cfb9f570",
                                            "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.dldab614"
                                }
                            },
                            "msg": "No setup.cfg, no action needed"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:16.838290Z",
                            "start": "2026-06-08T17:58:03.201091Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-000000000057",
                        "name": "Install any sibling python packages"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/ansible.dldab614",
                                    "state": "absent"
                                },
                                "before": {
                                    "path": "/tmp/ansible.dldab614",
                                    "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.dldab614",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "absent",
                                    "unsafe_writes": false
                                }
                            },
                            "path": "/tmp/ansible.dldab614",
                            "state": "absent"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:24.990240Z",
                            "start": "2026-06-08T17:58:16.844771Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-000000000058",
                        "name": "Remove tempfile"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "debug",
                            "changed": false,
                            "msg": "/workspace/.local/bin/tox   -vv --skip-missing-interpreters=false"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:25.153728Z",
                            "start": "2026-06-08T17:58:25.000279Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-000000000012",
                        "name": "Emit tox command"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "-vv",
                                "--skip-missing-interpreters=false"
                            ],
                            "delta": "0:00:03.661956",
                            "end": "2026-06-08 17:58:33.967853",
                            "failed": true,
                            "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-0013-4033-2d4a-000000000014-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-06-08 17:58:30.305897",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "using tox.ini: /workspace/src/github.com/distributedci/dci-ansible/tox.ini (pid 1323)\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 1323)\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, Sep  9 2024, 06:12:39) \\n[GCC 8.5.0 20210514 (Red Hat 8.5.0-22)]', '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.08 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[1330] /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.60 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@c9b527d6c9d54be7760427c87d32f025cfb9f570#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='388247750'\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[1336] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/flake8\npep8 finish: run-test  after 0.58 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.04 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[1351] /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.60 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@c9b527d6c9d54be7760427c87d32f025cfb9f570#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='388247750'\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[1357] /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 0 items / 1 error\n\n==================================== ERRORS ====================================\n_________________ ERROR collecting tests/callbacks/test_dci.py _________________\nImportError while importing test module '/workspace/src/github.com/distributedci/dci-ansible/tests/callbacks/test_dci.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n/usr/lib64/python3.6/importlib/__init__.py:126: in import_module\n    return _bootstrap._gcd_import(name[level:], package, level)\ntests/callbacks/test_dci.py:1: in <module>\n    from callback.dci import CallbackModule\ncallback/dci.py:15: in <module>\n    from dciclient.v1.api import redact as dci_redact\nE   ImportError: cannot import name 'redact'\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=========================== short test summary info ============================\nERROR tests/callbacks/test_dci.py\n!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!\n========================= 2 warnings, 1 error in 1.02s =========================\nERROR: InvocationError for command /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/pytest tests/callbacks/test_dci.py (exited with code 2)\npy36 finish: run-test  after 1.42 seconds\npy36 start: run-test-post \npy36 finish: run-test-post  after 0.00 seconds\n___________________________________ summary ____________________________________\n  pep8: commands succeeded\nERROR:   py36: commands failed",
                            "stdout_lines": [
                                "using tox.ini: /workspace/src/github.com/distributedci/dci-ansible/tox.ini (pid 1323)",
                                "  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 1323)",
                                "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, Sep  9 2024, 06:12:39) \\n[GCC 8.5.0 20210514 (Red Hat 8.5.0-22)]', '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.08 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",
                                "[1330] /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.60 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@c9b527d6c9d54be7760427c87d32f025cfb9f570#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='388247750'",
                                "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",
                                "[1336] /workspace/src/github.com/distributedci/dci-ansible$ /workspace/src/github.com/distributedci/dci-ansible/.tox/pep8/bin/flake8",
                                "pep8 finish: run-test  after 0.58 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.04 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",
                                "[1351] /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.60 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@c9b527d6c9d54be7760427c87d32f025cfb9f570#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='388247750'",
                                "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",
                                "[1357] /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 0 items / 1 error",
                                "",
                                "==================================== ERRORS ====================================",
                                "_________________ ERROR collecting tests/callbacks/test_dci.py _________________",
                                "ImportError while importing test module '/workspace/src/github.com/distributedci/dci-ansible/tests/callbacks/test_dci.py'.",
                                "Hint: make sure your test modules/packages have valid Python names.",
                                "Traceback:",
                                "/usr/lib64/python3.6/importlib/__init__.py:126: in import_module",
                                "    return _bootstrap._gcd_import(name[level:], package, level)",
                                "tests/callbacks/test_dci.py:1: in <module>",
                                "    from callback.dci import CallbackModule",
                                "callback/dci.py:15: in <module>",
                                "    from dciclient.v1.api import redact as dci_redact",
                                "E   ImportError: cannot import name 'redact'",
                                "=============================== 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",
                                "=========================== short test summary info ============================",
                                "ERROR tests/callbacks/test_dci.py",
                                "!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!",
                                "========================= 2 warnings, 1 error in 1.02s =========================",
                                "ERROR: InvocationError for command /workspace/src/github.com/distributedci/dci-ansible/.tox/py36/bin/pytest tests/callbacks/test_dci.py (exited with code 2)",
                                "py36 finish: run-test  after 1.42 seconds",
                                "py36 start: run-test-post ",
                                "py36 finish: run-test-post  after 0.00 seconds",
                                "___________________________________ summary ____________________________________",
                                "  pep8: commands succeeded",
                                "ERROR:   py36: commands failed"
                            ],
                            "zuul_log_id": "0a580a2a-0013-4033-2d4a-000000000014-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:35.055257Z",
                            "start": "2026-06-08T17:58:25.176664Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:41.574860Z",
                            "start": "2026-06-08T17:58:35.063499Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-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-0013-4033-2d4a-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:41.642855Z",
                            "start": "2026-06-08T17:58:41.593618Z"
                        },
                        "id": "0a580a2a-0013-4033-2d4a-000000000016",
                        "name": "Return file comments to Zuul"
                    }
                }
            ]
        }
    ],
    "stats": {
        "testrunner": {
            "changed": 8,
            "failures": 1,
            "ignored": 0,
            "ok": 12,
            "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-08T17:58:59.646026Z",
                    "start": "2026-06-08T17:58:44.578453Z"
                },
                "id": "0a580a2a-0013-5c21-d514-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-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:44.627835Z",
                            "start": "2026-06-08T17:58:44.591758Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-000000000007",
                        "name": "Set tox log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/work/logs/tox"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:44.672001Z",
                            "start": "2026-06-08T17:58:44.632899Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-000000000008",
                        "name": "Set tox log path for single node"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "mode": "0755",
                                    "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/work/logs/tox",
                                    "state": "directory"
                                },
                                "before": {
                                    "mode": "02755",
                                    "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/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/da7fcc2fdc604c07bad9320ede12dd0a/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/da7fcc2fdc604c07bad9320ede12dd0a/work/logs/tox",
                            "size": 6,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:45.088275Z",
                            "start": "2026-06-08T17:58:44.676011Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-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-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:45.161592Z",
                            "start": "2026-06-08T17:58:45.093341Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-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-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:45.205856Z",
                            "start": "2026-06-08T17:58:45.168713Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-00000000000b",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.277433",
                            "end": "2026-06-08 17:58:51.398029",
                            "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-0013-5c21-d514-00000000000c-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:58:51.120596",
                            "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-0013-5c21-d514-00000000000c-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:52.529181Z",
                            "start": "2026-06-08T17:58:45.245186Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-00000000000c",
                        "name": "Get tox version"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/workspace/.local/bin/tox",
                                "-l"
                            ],
                            "delta": "0:00:00.248787",
                            "end": "2026-06-08 17:58:57.914216",
                            "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-0013-5c21-d514-00000000000d-1-testrunner",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-06-08 17:58:57.665429",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "pep8\npy36",
                            "stdout_lines": [
                                "pep8",
                                "py36"
                            ],
                            "zuul_log_id": "0a580a2a-0013-5c21-d514-00000000000d-1-testrunner"
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:59.035871Z",
                            "start": "2026-06-08T17:58:52.563831Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-00000000000d",
                        "name": "Find all default environments"
                    }
                },
                {
                    "hosts": {
                        "testrunner": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "envlist": [
                                    "pep8",
                                    "py36"
                                ]
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0a580a2a-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:59.107869Z",
                            "start": "2026-06-08T17:58:59.042514Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-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-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:59.438065Z",
                            "start": "2026-06-08T17:58:59.143307Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-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-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:59.482721Z",
                            "start": "2026-06-08T17:58:59.445733Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-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-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:59.557891Z",
                            "start": "2026-06-08T17:58:59.490941Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-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-0013-5c21-d514-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:58:59.646026Z",
                            "start": "2026-06-08T17:58:59.566774Z"
                        },
                        "id": "0a580a2a-0013-5c21-d514-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-08T17:59:06.533697Z",
                    "start": "2026-06-08T17:59:00.411527Z"
                },
                "id": "0a580a2a-0013-d00f-8798-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-1780941541.412136-5-38454360230807/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-1780941541.412136-5-38454360230807/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-0013-d00f-8798-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:59:06.258799Z",
                            "start": "2026-06-08T17:59:00.421331Z"
                        },
                        "id": "0a580a2a-0013-d00f-8798-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-0013-d00f-8798-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:59:06.293393Z",
                            "start": "2026-06-08T17:59:06.265793Z"
                        },
                        "id": "0a580a2a-0013-d00f-8798-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-0013-d00f-8798-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:59:06.328260Z",
                            "start": "2026-06-08T17:59:06.300706Z"
                        },
                        "id": "0a580a2a-0013-d00f-8798-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-0013-d00f-8798-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:59:06.364634Z",
                            "start": "2026-06-08T17:59:06.339193Z"
                        },
                        "id": "0a580a2a-0013-d00f-8798-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-0013-d00f-8798-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:59:06.398573Z",
                            "start": "2026-06-08T17:59:06.372480Z"
                        },
                        "id": "0a580a2a-0013-d00f-8798-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-0013-d00f-8798-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:59:06.432383Z",
                            "start": "2026-06-08T17:59:06.406914Z"
                        },
                        "id": "0a580a2a-0013-d00f-8798-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-0013-d00f-8798-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:59:06.465141Z",
                            "start": "2026-06-08T17:59:06.439654Z"
                        },
                        "id": "0a580a2a-0013-d00f-8798-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-0013-d00f-8798-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:59:06.498468Z",
                            "start": "2026-06-08T17:59:06.472606Z"
                        },
                        "id": "0a580a2a-0013-d00f-8798-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-0013-d00f-8798-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/da7fcc2fdc604c07bad9320ede12dd0a/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-06-08T17:59:06.533697Z",
                            "start": "2026-06-08T17:59:06.506215Z"
                        },
                        "id": "0a580a2a-0013-d00f-8798-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
}
]
