[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/osism/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-12T19:10:31.294669Z",
                    "start": "2026-07-12T19:09:58.237220Z"
                },
                "id": "0242ac1f-6606-02ff-1a2e-000000000002",
                "name": "Base pre"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000000d",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:09:58.273749Z",
                            "start": "2026-07-12T19:09:58.255475Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-00000000000f",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "09e/osism/09e0db2ebf1948afa7ba3457c92d0331"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000bb",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:09:58.345561Z",
                            "start": "2026-07-12T19:09:58.300393Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000bd",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.14\nJob: release-tox-drift-test\nPipeline: check\nExecutor: 521e9411259a\nTriggered by: https://github.com/osism/release/pull/2582\nEvent ID: 30aa6880-7e25-11f1-8948-8d5f246cadbc\n"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000000d",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:09:58.437031Z",
                            "start": "2026-07-12T19:09:58.359460Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000010",
                        "name": "Print job information"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "debug",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": false,
                                    "failed": false,
                                    "msg": "# Node Information\nInventory Hostname: debian-bookworm\nHostname: debian\nUsername: zuul\nDistro: Debian 12.15\nProvider: regiocloud-a\nRegion: \nLabel: debian-bookworm\nProduct Name: OpenStack Nova\nInterface IP: 2a13:1a81:8000:3124:f816:3eff:fe46:4ef\n",
                                    "zj_item": "debian-bookworm"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000000d",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:09:58.630570Z",
                            "start": "2026-07-12T19:09:58.442102Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000011",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/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/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000014",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:00.120143Z",
                            "start": "2026-07-12T19:09:58.648688Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000016",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "9a6f13c6b29cca551e2c55c82185700f58e3e961",
                            "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "9a6f13c6b29cca551e2c55c82185700f58e3e961",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/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/09e0db2ebf1948afa7ba3457c92d0331/work/.ansible/tmp/ansible-tmp-1783883400.2179592-34-236175169232075/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "bcf85dee9330f4c6c3d480e5d04ac109",
                            "mode": "0644",
                            "owner": "root",
                            "size": 15746,
                            "src": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/.ansible/tmp/ansible-tmp-1783883400.2179592-34-236175169232075/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000014",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:02.037721Z",
                            "start": "2026-07-12T19:10:00.126259Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000017",
                        "name": "Copy ansible inventory to logs dir"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "stat",
                            "changed": false,
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:02.578987Z",
                            "start": "2026-07-12T19:10:02.046965Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-00000000001b",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:02.623971Z",
                            "start": "2026-07-12T19:10:02.592853Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-00000000001c",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-keygen",
                                "-t",
                                "rsa",
                                "-N",
                                "",
                                "-C",
                                "zuul-build-sshkey",
                                "-f",
                                "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:02.061770",
                            "end": "2026-07-12 19:10:05.247533",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa -b 3072",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-02ff-1a2e-0000000000de-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:10:03.185763",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa.pub\nThe key fingerprint is:\nSHA256:FwWi7r/7gKrHJWYOr73mF8PoeVoicEIf3nQyxN9qfpc zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|    ..  . ...    |\n|    .. . . .     |\n| . . +o.. .      |\n|. o +.+. . .     |\n|o .o +. S .      |\n| +. =.=+ .       |\n|  .O.+*o.   .    |\n|   oO+oo o E     |\n|  o**=  =+o      |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:FwWi7r/7gKrHJWYOr73mF8PoeVoicEIf3nQyxN9qfpc zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|    ..  . ...    |",
                                "|    .. . . .     |",
                                "| . . +o.. .      |",
                                "|. o +.+. . .     |",
                                "|o .o +. S .      |",
                                "| +. =.=+ .       |",
                                "|  .O.+*o.   .    |",
                                "|   oO+oo o E     |",
                                "|  o**=  =+o      |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac1f-6606-02ff-1a2e-0000000000de-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:05.274704Z",
                            "start": "2026-07-12T19:10:02.687870Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000de",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:05.300629Z",
                            "start": "2026-07-12T19:10:05.281015Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000df",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:05.336918Z",
                            "start": "2026-07-12T19:10:05.322417Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000fe",
                        "name": "Remove previously added zuul-build-sshkey"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC6csjs21VIO0PViu2NS2SKPMgEHgQwf7oZcTBuWxaiMOYKapyFvofbLTu+M1BrH6LzanCTgarmZRqkWTOvRRx0qa9ERhnBgCLbZM0bEvK2iSct37zj2EtzUUk1oUWn5AIGcow810F9pxpJ+NdQ64VSh8Cs+5jCD4BJJJrJkDAF4EHOj5I+NF3+m4NFgARtoD5wHD9TYRsT3rZMmpgiajHCx8B4e6/JwsG3pIK656bo4iFXmg+oHZiqaB1MUfBwxwKtbIBt91GzO50yJGiLHx4gKOsGAejxVXq7+4r41w6E7pM8Rkhp9ZRn2V04XIFLUZcCZLS4HyY4l0lOpsky9GBrIQ0oYOPqTNwZd8VJ5vrOJMTqTudM6nHIQz/M0LNBcbI8lpk71gyaKfSXpp3bYpfkomrcvnn/81LIX16QTHTps3ox7NiLis1RC6wR93dWL2vO1J3CGYHAftdksqd1iSWgPAPZAFe6BDpQr2SmHFan7V8G3a5LADkMH2cuxQnynS0= zuul-build-sshkey",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true
                                }
                            },
                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC6csjs21VIO0PViu2NS2SKPMgEHgQwf7oZcTBuWxaiMOYKapyFvofbLTu+M1BrH6LzanCTgarmZRqkWTOvRRx0qa9ERhnBgCLbZM0bEvK2iSct37zj2EtzUUk1oUWn5AIGcow810F9pxpJ+NdQ64VSh8Cs+5jCD4BJJJrJkDAF4EHOj5I+NF3+m4NFgARtoD5wHD9TYRsT3rZMmpgiajHCx8B4e6/JwsG3pIK656bo4iFXmg+oHZiqaB1MUfBwxwKtbIBt91GzO50yJGiLHx4gKOsGAejxVXq7+4r41w6E7pM8Rkhp9ZRn2V04XIFLUZcCZLS4HyY4l0lOpsky9GBrIQ0oYOPqTNwZd8VJ5vrOJMTqTudM6nHIQz/M0LNBcbI8lpk71gyaKfSXpp3bYpfkomrcvnn/81LIX16QTHTps3ox7NiLis1RC6wR93dWL2vO1J3CGYHAftdksqd1iSWgPAPZAFe6BDpQr2SmHFan7V8G3a5LADkMH2cuxQnynS0= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "present",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:06.088748Z",
                            "start": "2026-07-12T19:10:05.342892Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000ff",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:06.396515Z",
                            "start": "2026-07-12T19:10:06.094117Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000100",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "43fc4916ae649461ae1ff389d304cdb4bdc1f581",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "09e0db2ebf1948afa7ba3457c92d0331_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "43fc4916ae649461ae1ff389d304cdb4bdc1f581",
                                    "content": null,
                                    "dest": "/home/zuul/.ssh/id_rsa",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": false,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 384,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1783883406.494084-139-100037677917000/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "a1f3761bbf52142f373fcbeab90d36fa",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1783883406.494084-139-100037677917000/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:07.208772Z",
                            "start": "2026-07-12T19:10:06.404375Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000101",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "25a92ccc6ce087dd2a78fb68e0f629b2ca2f1d99",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "09e0db2ebf1948afa7ba3457c92d0331_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "25a92ccc6ce087dd2a78fb68e0f629b2ca2f1d99",
                                    "content": null,
                                    "dest": "/home/zuul/.ssh/id_rsa.pub",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": false,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1783883407.328935-149-80143581804520/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "cb624ebbcd61ad312099779a78941927",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1783883407.328935-149-80143581804520/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:08.037862Z",
                            "start": "2026-07-12T19:10:07.218351Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000102",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:08.085690Z",
                            "start": "2026-07-12T19:10:08.052111Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000e0",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/var/ssh/nodepool"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000e5",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:08.888580Z",
                            "start": "2026-07-12T19:10:08.092103Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000e7",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa"
                            ],
                            "delta": "0:00:00.009575",
                            "end": "2026-07-12 19:10:09.282554",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-02ff-1a2e-0000000000ed-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:10:09.272979",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/09e0db2ebf1948afa7ba3457c92d0331_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac1f-6606-02ff-1a2e-0000000000ed-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:09.308414Z",
                            "start": "2026-07-12T19:10:08.904944Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000ed",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:09.728735Z",
                            "start": "2026-07-12T19:10:09.315900Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000ee",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:09.757735Z",
                            "start": "2026-07-12T19:10:09.734069Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-0000000000ef",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000001e",
                        "name": "start-zuul-console",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/start-zuul-console"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:10.184438Z",
                            "start": "2026-07-12T19:10:09.768113Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000020",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_info_dir": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:10.223330Z",
                            "start": "2026-07-12T19:10:10.195084Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000024",
                        "name": "Define zuul_info_dir fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 493,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:10.585065Z",
                            "start": "2026-07-12T19:10:10.228160Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000025",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "10.128.0.101"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "2a13:1a81:8000:3124:f816:3eff:fe46:4ef",
                                    "fe80::f816:3eff:fe46:4ef"
                                ],
                                "ansible_apparmor": {
                                    "status": "enabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_bios_date": "04/01/2014",
                                "ansible_bios_vendor": "SeaBIOS",
                                "ansible_bios_version": "1.15.0-1",
                                "ansible_board_asset_tag": "NA",
                                "ansible_board_name": "NA",
                                "ansible_board_serial": "NA",
                                "ansible_board_vendor": "NA",
                                "ansible_board_version": "NA",
                                "ansible_chassis_asset_tag": "NA",
                                "ansible_chassis_serial": "NA",
                                "ansible_chassis_vendor": "QEMU",
                                "ansible_chassis_version": "pc-i440fx-6.2",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-6.1.0-50-amd64",
                                    "console": "ttyS0,115200",
                                    "gfxpayload": "text",
                                    "no_timer_check": true,
                                    "nofb": true,
                                    "nomodeset": true,
                                    "ro": true,
                                    "root": "LABEL=cloudimg-rootfs"
                                },
                                "ansible_date_time": {
                                    "date": "2026-07-12",
                                    "day": "12",
                                    "epoch": "1783883411",
                                    "epoch_int": "1783883411",
                                    "hour": "19",
                                    "iso8601": "2026-07-12T19:10:11Z",
                                    "iso8601_basic": "20260712T191011599011",
                                    "iso8601_basic_short": "20260712T191011",
                                    "iso8601_micro": "2026-07-12T19:10:11.599011Z",
                                    "minute": "10",
                                    "month": "07",
                                    "second": "11",
                                    "time": "19:10:11",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Sunday",
                                    "weekday_number": "0",
                                    "weeknumber": "27",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "10.128.0.101",
                                    "alias": "ens3",
                                    "broadcast": "10.128.0.111",
                                    "gateway": "10.128.0.97",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:46:04:ef",
                                    "mtu": 1500,
                                    "netmask": "255.255.255.240",
                                    "network": "10.128.0.96",
                                    "prefix": "28",
                                    "type": "ether"
                                },
                                "ansible_default_ipv6": {
                                    "address": "2a13:1a81:8000:3124:f816:3eff:fe46:4ef",
                                    "gateway": "fe80::f816:3eff:fe92:ad10",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:46:04:ef",
                                    "mtu": 1500,
                                    "prefix": "64",
                                    "scope": "global",
                                    "type": "ether"
                                },
                                "ansible_device_links": {
                                    "ids": {},
                                    "labels": {
                                        "vda1": [
                                            "cloudimg-rootfs"
                                        ]
                                    },
                                    "masters": {},
                                    "uuids": {
                                        "vda1": [
                                            "cc1da286-aa0d-4de3-83ba-f21457964081"
                                        ]
                                    }
                                },
                                "ansible_devices": {
                                    "loop0": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "0",
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop1": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "0",
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop2": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "0",
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop3": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "0",
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop4": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "0",
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop5": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "0",
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop6": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "0",
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "loop7": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {},
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "0",
                                        "sectorsize": "512",
                                        "size": "0.00 Bytes",
                                        "support_discard": "0",
                                        "vendor": null,
                                        "virtual": 1
                                    },
                                    "vda": {
                                        "holders": [],
                                        "host": "",
                                        "links": {
                                            "ids": [],
                                            "labels": [],
                                            "masters": [],
                                            "uuids": []
                                        },
                                        "model": null,
                                        "partitions": {
                                            "vda1": {
                                                "holders": [],
                                                "links": {
                                                    "ids": [],
                                                    "labels": [
                                                        "cloudimg-rootfs"
                                                    ],
                                                    "masters": [],
                                                    "uuids": [
                                                        "cc1da286-aa0d-4de3-83ba-f21457964081"
                                                    ]
                                                },
                                                "sectors": "20969439",
                                                "sectorsize": 512,
                                                "size": "10.00 GB",
                                                "start": "2048",
                                                "uuid": "cc1da286-aa0d-4de3-83ba-f21457964081"
                                            }
                                        },
                                        "removable": "0",
                                        "rotational": "1",
                                        "sas_address": null,
                                        "sas_device_handle": null,
                                        "scheduler_mode": "none",
                                        "sectors": "20971520",
                                        "sectorsize": "512",
                                        "size": "10.00 GB",
                                        "support_discard": "512",
                                        "vendor": "0x1af4",
                                        "virtual": 1
                                    }
                                },
                                "ansible_distribution": "Debian",
                                "ansible_distribution_file_parsed": true,
                                "ansible_distribution_file_path": "/etc/os-release",
                                "ansible_distribution_file_variety": "Debian",
                                "ansible_distribution_major_version": "12",
                                "ansible_distribution_minor_version": "15",
                                "ansible_distribution_release": "bookworm",
                                "ansible_distribution_version": "12.15",
                                "ansible_dns": {
                                    "domain": "a.customers.regiocloud.tech.",
                                    "nameservers": [
                                        "81.163.194.9",
                                        "81.163.194.10"
                                    ],
                                    "search": [
                                        "a.customers.regiocloud.tech."
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 1000,
                                "ansible_effective_user_id": 1000,
                                "ansible_ens3": {
                                    "active": true,
                                    "device": "ens3",
                                    "ipv4": {
                                        "address": "10.128.0.101",
                                        "broadcast": "10.128.0.111",
                                        "netmask": "255.255.255.240",
                                        "network": "10.128.0.96",
                                        "prefix": "28"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "2a13:1a81:8000:3124:f816:3eff:fe46:4ef",
                                            "prefix": "64",
                                            "scope": "global"
                                        },
                                        {
                                            "address": "fe80::f816:3eff:fe46:4ef",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:46:04:ef",
                                    "module": "virtio_net",
                                    "mtu": 1500,
                                    "pciid": "virtio1",
                                    "promisc": false,
                                    "speed": -1,
                                    "type": "ether"
                                },
                                "ansible_env": {
                                    "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
                                    "HOME": "/home/zuul",
                                    "LANG": "C.UTF-8",
                                    "LC_ALL": "C.UTF-8",
                                    "LOGNAME": "zuul",
                                    "MOTD_SHOWN": "pam",
                                    "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/games",
                                    "PWD": "/home/zuul",
                                    "SHELL": "/bin/bash",
                                    "SHLVL": "0",
                                    "SSH_CLIENT": "2a13:1a81:8000:2::38d 42458 22",
                                    "SSH_CONNECTION": "2a13:1a81:8000:2::38d 42458 2a13:1a81:8000:3124:f816:3eff:fe46:4ef 22",
                                    "USER": "zuul",
                                    "XDG_RUNTIME_DIR": "/run/user/1000",
                                    "XDG_SESSION_CLASS": "user",
                                    "XDG_SESSION_ID": "1",
                                    "XDG_SESSION_TYPE": "tty",
                                    "_": "/bin/sh"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "Other",
                                "ansible_fqdn": "debian",
                                "ansible_hostname": "debian",
                                "ansible_hostnqn": "",
                                "ansible_interfaces": [
                                    "ens3",
                                    "lo"
                                ],
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "6.1.0-50-amd64",
                                "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02)",
                                "ansible_lo": {
                                    "active": true,
                                    "device": "lo",
                                    "ipv4": {
                                        "address": "127.0.0.1",
                                        "broadcast": "",
                                        "netmask": "255.0.0.0",
                                        "network": "127.0.0.0",
                                        "prefix": "8"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "::1",
                                            "prefix": "128",
                                            "scope": "host"
                                        }
                                    ],
                                    "mtu": 65536,
                                    "promisc": false,
                                    "type": "loopback"
                                },
                                "ansible_loadavg": {
                                    "15m": 0.0244140625,
                                    "1m": 0.2734375,
                                    "5m": 0.07470703125
                                },
                                "ansible_local": {},
                                "ansible_locally_reachable_ips": {
                                    "ipv4": [
                                        "10.128.0.101",
                                        "127.0.0.0/8",
                                        "127.0.0.1"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "2a13:1a81:8000:3124:f816:3eff:fe46:4ef",
                                        "fe80::f816:3eff:fe46:4ef"
                                    ]
                                },
                                "ansible_lsb": {
                                    "codename": "bookworm",
                                    "description": "Debian GNU/Linux 12 (bookworm)",
                                    "id": "Debian",
                                    "major_release": "12",
                                    "release": "12"
                                },
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_machine_id": "9b06033a53854672a0958adffb7cc501",
                                "ansible_memfree_mb": 3661,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 3747,
                                        "used": 166
                                    },
                                    "real": {
                                        "free": 3661,
                                        "total": 3913,
                                        "used": 252
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 3913,
                                "ansible_mounts": [
                                    {
                                        "block_available": 1944170,
                                        "block_size": 4096,
                                        "block_total": 2443533,
                                        "block_used": 499363,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 2494831,
                                        "inode_total": 2531088,
                                        "inode_used": 36257,
                                        "mount": "/",
                                        "options": "rw,relatime",
                                        "size_available": 7963320320,
                                        "size_total": 10008711168,
                                        "uuid": "cc1da286-aa0d-4de3-83ba-f21457964081"
                                    }
                                ],
                                "ansible_nodename": "debian",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-6.1.0-50-amd64",
                                    "console": [
                                        "tty0",
                                        "ttyS0,115200"
                                    ],
                                    "gfxpayload": "text",
                                    "no_timer_check": true,
                                    "nofb": true,
                                    "nomodeset": true,
                                    "ro": true,
                                    "root": "LABEL=cloudimg-rootfs"
                                },
                                "ansible_processor": [
                                    "0",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Icelake)",
                                    "1",
                                    "GenuineIntel",
                                    "Intel Xeon Processor (Icelake)"
                                ],
                                "ansible_processor_cores": 1,
                                "ansible_processor_count": 2,
                                "ansible_processor_nproc": 2,
                                "ansible_processor_threads_per_core": 1,
                                "ansible_processor_vcpus": 2,
                                "ansible_product_name": "OpenStack Nova",
                                "ansible_product_serial": "NA",
                                "ansible_product_uuid": "NA",
                                "ansible_product_version": "29.2.1",
                                "ansible_python": {
                                    "executable": "/usr/bin/python3",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 2,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        2,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.2",
                                "ansible_real_group_id": 1000,
                                "ansible_real_user_id": 1000,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "systemd",
                                "ansible_ssh_host_key_dsa_public": "AAAAB3NzaC1kc3MAAACBANi7Bb37bMkz8p7ZVXr3KLnOmlv2kdyNJdjglW46RlP77sM9k/B/s4WzZJ2H975HhGugmh0iibYf42K7I2H1esgvIH27ttYa9/BgVKw4/eggmCmsF7IK9jvEZBM3FUXWGYpnpo6BmwuaigR2W6+is3ui3wkNEOsloE8GEXaopSEXAAAAFQC9qlUmz6kDWPCsozhOxgZ8TCrFBQAAAIAs/xVCyfZCAn8fCA/l03pDUVKrb7P5GcI/BjqppTvSU+QivXYRg/aEh9Crx7UVs38ZBn7SQmAGf69r0tQju1yb1TJSR4ctd9Wa5R8DvCupin7y+KBfOH9sjCja1WWg2yu+c6vdxsj1k+QQq04l59T9QsW0+vHZ5/TgBmP+dWSbZgAAAIEArKT4/yeq36zTZMlC7DTN2fBhdRi4lm/84gjBQBTQ8Wnx1Z3B02Qvoql119RfuoM5Zubh9cwWMR/W+rvfLQOBa0i89jb8EQtp0+81cMVpV+oHk8HeGoyWVaTHv47VWO+TYZ9iIhZFsloh2DyfTEXSgXcQ2OYhkeANkGF02p1EVzs=",
                                "ansible_ssh_host_key_dsa_public_keytype": "ssh-dss",
                                "ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH4FhTjn7F20fAigd1LVfiaeKq//98gvrGBbqevh7Bgi/2tiYgCS/eI/CQtsywJCo3QJ+Jkmdn7xeHXisqBgKSA=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAINXZ/AyzpUlDrQqeql3qG8hrP2FBE3CYhm0Td2LLYBHP",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQCVdBL5BiEf04of0bYGDSTxQBWpmrEBoJJY3jB+q8PPOZLSenYNsRYm95CuHumqgT9bm40ZbyoxWF+Xixi4ojr18SKotgG+YQHIZfO/tpZpjzWLmCyH1tIunmltr3a2oV0Zk06+uVTIQxqL+45cDpud5BqiPi1P/ra9S3eWDQNTaPyTABaJcquPKtc5dHgrqGMnV6vyuPkRl5hU1wbQFqtnjW+8aK0LCv06XdTulTee56wEVxVra+wf+jdrC/BytWCAyhzDnBrLNAZfjpo0yxGr3EH59K6K8jy2OU09fmHK3XO9vyKtsd1CaAbW8ULsDo4hY7z7hw9FX4iW+S6nA0fxXHkVLZHQr1VktsEar9VaKAky2zi78iTF58o5tPqWYPdAuVqEdebJIieU1DCKvvXo7WzaB7M5lrYOYYCuIxxAk2Yh4CDoA6Lzj+GU0zx1oruN5jspDV/VoIKmDl3zyYBkVRB0rbs7l38SQEuiBvLJQ49xeQddV1crD+gBacbpun0=",
                                "ansible_ssh_host_key_rsa_public_keytype": "ssh-rsa",
                                "ansible_swapfree_mb": 0,
                                "ansible_swaptotal_mb": 0,
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": [
                                    ""
                                ],
                                "ansible_system_capabilities_enforced": "True",
                                "ansible_system_vendor": "OpenStack Foundation",
                                "ansible_uptime_seconds": 37,
                                "ansible_user_dir": "/home/zuul",
                                "ansible_user_gecos": "",
                                "ansible_user_gid": 1000,
                                "ansible_user_id": "zuul",
                                "ansible_user_shell": "/bin/bash",
                                "ansible_user_uid": 1000,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "guest",
                                "ansible_virtualization_tech_guest": [
                                    "openstack"
                                ],
                                "ansible_virtualization_tech_host": [
                                    "kvm"
                                ],
                                "ansible_virtualization_type": "openstack",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "fact_path": "/etc/ansible/facts.d",
                                    "filter": [],
                                    "gather_subset": [
                                        "all"
                                    ],
                                    "gather_timeout": 10
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:12.014249Z",
                            "start": "2026-07-12T19:10:10.599443Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000026",
                        "name": "Collect information about the host"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "validate_host_hostname_sanitized": "debian-bookworm"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:12.212850Z",
                            "start": "2026-07-12T19:10:12.030064Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000027",
                        "name": "Sanitize hostname"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "template",
                            "changed": true,
                            "checksum": "c9d10986205403e06818607de8792a8ef95061ac",
                            "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info/host-info.debian-bookworm.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "host-info.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "c9d10986205403e06818607de8792a8ef95061ac",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info/host-info.debian-bookworm.yaml",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/.ansible/tmp/ansible-tmp-1783883412.3235612-246-103268601341186/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "6ef77562e2da7bb2d82aed0e4695326f",
                            "mode": "0644",
                            "owner": "root",
                            "size": 13284,
                            "src": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/.ansible/tmp/ansible-tmp-1783883412.3235612-246-103268601341186/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:13.148826Z",
                            "start": "2026-07-12T19:10:12.227551Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000028",
                        "name": "Write out all ansible variables/facts known for each host"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "_zuul_nolog_return": true,
                            "action": "zuul_debug_info",
                            "changed": false,
                            "df_i": "Filesystem      Inodes IUsed   IFree IUse% Mounted on\nudev            495373   343  495030    1% /dev\ntmpfs           500890   458  500432    1% /run\n/dev/vda1      2531088 36257 2494831    2% /\ntmpfs           500890     1  500889    1% /dev/shm\ntmpfs           500890     3  500887    1% /run/lock\ntmpfs           100178    20  100158    1% /run/user/1000\n",
                            "df_m": "Filesystem     1M-blocks  Used Available Use% Mounted on\nudev                1936     0      1936   0% /dev\ntmpfs                392     1       391   1% /run\n/dev/vda1           9546  1505      7595  17% /\ntmpfs               1957     0      1957   0% /dev/shm\ntmpfs                  5     0         5   0% /run/lock\ntmpfs                392     0       392   0% /run/user/1000\n",
                            "image_manifest_files": [],
                            "invocation": {
                                "module_args": {
                                    "image_manifest": null,
                                    "image_manifest_files": [
                                        "/etc/dib-builddate.txt",
                                        "/etc/image-hostname.txt"
                                    ],
                                    "ipv4_route_required": false,
                                    "ipv6_route_required": false,
                                    "traceroute_host": null
                                }
                            },
                            "network_interfaces": "1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n    inet 127.0.0.1/8 scope host lo\n       valid_lft forever preferred_lft forever\n    inet6 ::1/128 scope host noprefixroute \n       valid_lft forever preferred_lft forever\n2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\n    link/ether fa:16:3e:46:04:ef brd ff:ff:ff:ff:ff:ff\n    altname enp0s3\n    inet 10.128.0.101/28 brd 10.128.0.111 scope global dynamic ens3\n       valid_lft 43166sec preferred_lft 43166sec\n    inet6 2a13:1a81:8000:3124:f816:3eff:fe46:4ef/64 scope global dynamic mngtmpaddr \n       valid_lft forever preferred_lft forever\n    inet6 fe80::f816:3eff:fe46:4ef/64 scope link \n       valid_lft forever preferred_lft forever\n",
                            "network_neighbors": "10.128.0.97 dev ens3 lladdr fa:16:3e:90:1b:03 REACHABLE \nfe80::f816:3eff:fe92:ad10 dev ens3 lladdr fa:16:3e:92:ad:10 router REACHABLE \n",
                            "network_routing_v4": "default via 10.128.0.97 dev ens3 \n10.128.0.96/28 dev ens3 proto kernel scope link src 10.128.0.101 \n169.254.169.254 via 10.128.0.98 dev ens3 \n",
                            "network_routing_v6": "2a13:1a81:8000:3124::/64 dev ens3 proto kernel metric 256 pref medium\nfe80::/64 dev ens3 proto kernel metric 256 pref medium\ndefault via fe80::f816:3eff:fe92:ad10 dev ens3 proto ra metric 1024 expires 65502sec hoplimit 255 pref medium\n",
                            "proc_cpuinfo": "processor\t: 0\nvendor_id\t: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 134\nmodel name\t: Intel Xeon Processor (Icelake)\nstepping\t: 0\nmicrocode\t: 0x1\ncpu MHz\t\t: 2299.998\ncache size\t: 16384 KB\nphysical id\t: 0\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 0\ninitial apicid\t: 0\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc pebs bts rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq dtes64 vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid fsrm md_clear arch_capabilities\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs\nbugs\t\t: spectre_v1 spectre_v2 spec_store_bypass swapgs taa mmio_stale_data rfds bhi ibpb_no_ret its\nbogomips\t: 4599.99\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 57 bits virtual\npower management:\n\nprocessor\t: 1\nvendor_id\t: GenuineIntel\ncpu family\t: 6\nmodel\t\t: 134\nmodel name\t: Intel Xeon Processor (Icelake)\nstepping\t: 0\nmicrocode\t: 0x1\ncpu MHz\t\t: 2299.998\ncache size\t: 16384 KB\nphysical id\t: 1\nsiblings\t: 1\ncore id\t\t: 0\ncpu cores\t: 1\napicid\t\t: 1\ninitial apicid\t: 1\nfpu\t\t: yes\nfpu_exception\t: yes\ncpuid level\t: 13\nwp\t\t: yes\nflags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc pebs bts rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq dtes64 vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid fsrm md_clear arch_capabilities\nvmx flags\t: vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid shadow_vmcs\nbugs\t\t: spectre_v1 spectre_v2 spec_store_bypass swapgs taa mmio_stale_data rfds bhi ibpb_no_ret its\nbogomips\t: 4599.99\nclflush size\t: 64\ncache_alignment\t: 64\naddress sizes\t: 40 bits physical, 57 bits virtual\npower management:\n\n",
                            "traceroute": null,
                            "uname": "Linux debian 6.1.0-50-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64 GNU/Linux\n"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:13.697051Z",
                            "start": "2026-07-12T19:10:13.154138Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-00000000002a",
                        "name": "Collect information about zuul worker"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "template",
                            "changed": true,
                            "checksum": "6f495e7c0dcfdf1bb8e0f849750bc1e8f7e4b3dc",
                            "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info/zuul-info.debian-bookworm.txt",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "zuul-info.j2",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "6f495e7c0dcfdf1bb8e0f849750bc1e8f7e4b3dc",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/zuul-info/zuul-info.debian-bookworm.txt",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/.ansible/tmp/ansible-tmp-1783883413.7740586-285-204529090013766/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "976666e43776566b302f4e337009c50a",
                            "mode": "0644",
                            "owner": "root",
                            "size": 2522,
                            "src": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/.ansible/tmp/ansible-tmp-1783883413.7740586-285-204529090013766/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:14.535139Z",
                            "start": "2026-07-12T19:10:13.702011Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-00000000002b",
                        "name": "Write out all zuul information for each host"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000002d",
                        "name": "prepare-workspace-log",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/prepare-workspace-log"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:14.820493Z",
                            "start": "2026-07-12T19:10:14.545196Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-00000000002f",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --compress --delete-after --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --out-format='<<CHANGED>>%i %n%L' /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/src '[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:.'",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": false,
                                    "delete": true,
                                    "dest": "[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:.",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": false,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "push",
                                    "owner": false,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": true,
                                    "rsync_opts": [],
                                    "rsync_path": null,
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/src",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ src/\ncd+++++++++ src/github.com/\ncd+++++++++ src/github.com/osism/\ncd+++++++++ src/github.com/osism/release/\n<f+++++++++ src/github.com/osism/release/.flake8\n<f+++++++++ src/github.com/osism/release/.gitignore\n<f+++++++++ src/github.com/osism/release/.yamllint.yml\n<f+++++++++ src/github.com/osism/release/.zuul.yaml\n<f+++++++++ src/github.com/osism/release/LICENSE\n<f+++++++++ src/github.com/osism/release/README.md\n<f+++++++++ src/github.com/osism/release/requirements.txt\n<f+++++++++ src/github.com/osism/release/tox.ini\ncd+++++++++ src/github.com/osism/release/.git/\n<f+++++++++ src/github.com/osism/release/.git/COMMIT_EDITMSG\n<f+++++++++ src/github.com/osism/release/.git/FETCH_HEAD\n<f+++++++++ src/github.com/osism/release/.git/HEAD\n<f+++++++++ src/github.com/osism/release/.git/ORIG_HEAD\n<f+++++++++ src/github.com/osism/release/.git/config\n<f+++++++++ src/github.com/osism/release/.git/config.worktree\n<f+++++++++ src/github.com/osism/release/.git/description\n<f+++++++++ src/github.com/osism/release/.git/index\n<f+++++++++ src/github.com/osism/release/.git/packed-refs\ncd+++++++++ src/github.com/osism/release/.git/branches/\ncd+++++++++ src/github.com/osism/release/.git/hooks/\n<f+++++++++ src/github.com/osism/release/.git/hooks/applypatch-msg.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/commit-msg.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/fsmonitor-watchman.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/post-update.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/pre-applypatch.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/pre-commit.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/pre-merge-commit.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/pre-push.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/pre-rebase.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/pre-receive.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/prepare-commit-msg.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/push-to-checkout.sample\n<f+++++++++ src/github.com/osism/release/.git/hooks/update.sample\ncd+++++++++ src/github.com/osism/release/.git/info/\n<f+++++++++ src/github.com/osism/release/.git/info/exclude\ncd+++++++++ src/github.com/osism/release/.git/logs/\n<f+++++++++ src/github.com/osism/release/.git/logs/HEAD\ncd+++++++++ src/github.com/osism/release/.git/objects/\ncd+++++++++ src/github.com/osism/release/.git/objects/00/\n<f+++++++++ src/github.com/osism/release/.git/objects/00/5eb97d1711d3ab42c2c601072e7cc623f9b4be\n<f+++++++++ src/github.com/osism/release/.git/objects/00/926ec5675471dc5899d1ae22ec201f3781cc5b\n<f+++++++++ src/github.com/osism/release/.git/objects/00/d92d64b09dce292271765a55ff3c6355a3d711\ncd+++++++++ src/github.com/osism/release/.git/objects/01/\n<f+++++++++ src/github.com/osism/release/.git/objects/01/d677e9cabfd31f6319540d93347853ca7fdac9\ncd+++++++++ src/github.com/osism/release/.git/objects/02/\n<f+++++++++ src/github.com/osism/release/.git/objects/02/6aea0efa956c2da0b3cc14145a707f8a8b6dc2\n<f+++++++++ src/github.com/osism/release/.git/objects/02/95ff5183dbdcc0d07ed424dacfb75ac0153e61\ncd+++++++++ src/github.com/osism/release/.git/objects/03/\n<f+++++++++ src/github.com/osism/release/.git/objects/03/174fdd17063e768e3618735e40a58227ff3949\n<f+++++++++ src/github.com/osism/release/.git/objects/03/4f696ef235057c0a7eceb771f793894c1d3b1b\ncd+++++++++ src/github.com/osism/release/.git/objects/04/\n<f+++++++++ src/github.com/osism/release/.git/objects/04/e6ebf82ff5595fd3d5bc2ba0c51dd8b718848c\ncd+++++++++ src/github.com/osism/release/.git/objects/05/\n<f+++++++++ src/github.com/osism/release/.git/objects/05/df7c4b97263fa2117e1cbf4a405b3ae6d55754\ncd+++++++++ src/github.com/osism/release/.git/objects/06/\n<f+++++++++ src/github.com/osism/release/.git/objects/06/4903a2f2103c6ccb272a894b8a64384e9ca546\n<f+++++++++ src/github.com/osism/release/.git/objects/06/ef1b6aaf724c9545958039b7436b9263311860\ncd+++++++++ src/github.com/osism/release/.git/objects/07/\n<f+++++++++ src/github.com/osism/release/.git/objects/07/1a077c425bea6471878c2e85d9f7ef60157983\ncd+++++++++ src/github.com/osism/release/.git/objects/08/\n<f+++++++++ src/github.com/osism/release/.git/objects/08/01ff7b18e0c9023449a02255e2d6010b702a8e\n<f+++++++++ src/github.com/osism/release/.git/objects/08/9595b307974c119e5eb36b39c657736b9fbb92\ncd+++++++++ src/github.com/osism/release/.git/objects/0a/\n<f+++++++++ src/github.com/osism/release/.git/objects/0a/1b06a2a97a27e303b06a1ae7831b66b315e6c8\n<f+++++++++ src/github.com/osism/release/.git/objects/0a/4218b35d3f85aa03080fb3eb3cd4d2b20f2a00\n<f+++++++++ src/github.com/osism/release/.git/objects/0a/80d870855287393b3c7fca689c36ca187d1e74\n<f+++++++++ src/github.com/osism/release/.git/objects/0a/cf35d27e7cf13d02e953d428029fa986a54348\ncd+++++++++ src/github.com/osism/release/.git/objects/0c/\n<f+++++++++ src/github.com/osism/release/.git/objects/0c/1baec65d2268decdba74b0d90a6ed98a4f5e64\n<f+++++++++ src/github.com/osism/release/.git/objects/0c/741a639120184740228f83100dbca281b10d15\ncd+++++++++ src/github.com/osism/release/.git/objects/0e/\n<f+++++++++ src/github.com/osism/release/.git/objects/0e/900306c6b0c97fcf9b8f8aeaec10557852e472\n<f+++++++++ src/github.com/osism/release/.git/objects/0e/b6e00ffbcd3f82dee8de0906125fecb70b3361\ncd+++++++++ src/github.com/osism/release/.git/objects/10/\n<f+++++++++ src/github.com/osism/release/.git/objects/10/499c8bf032046399196b72c9df4c08df8c639e\n<f+++++++++ src/github.com/osism/release/.git/objects/10/4bbf4d9d1053c0e48fe3000f15c4de829f35f8\ncd+++++++++ src/github.com/osism/release/.git/objects/11/\n<f+++++++++ src/github.com/osism/release/.git/objects/11/16f7da4658b072e16b6081ea4e8e3fb4b4f116\n<f+++++++++ src/github.com/osism/release/.git/objects/11/63b9aec53e7536743d3cf1176cacf83056e9f6\ncd+++++++++ src/github.com/osism/release/.git/objects/12/\n<f+++++++++ src/github.com/osism/release/.git/objects/12/60780bc00424d8adbb493df015669a5cd9803b\ncd+++++++++ src/github.com/osism/release/.git/objects/14/\n<f+++++++++ src/github.com/osism/release/.git/objects/14/7f9dd0e770cdaaa0af4dade4d080557ffb2b08\ncd+++++++++ src/github.com/osism/release/.git/objects/16/\n<f+++++++++ src/github.com/osism/release/.git/objects/16/b30e38d81113163a315fa354891c898d0f8f42\ncd+++++++++ src/github.com/osism/release/.git/objects/17/\n<f+++++++++ src/github.com/osism/release/.git/objects/17/3681ffe2142c63b9e614e649da6c586a88bfe5\ncd+++++++++ src/github.com/osism/release/.git/objects/18/\n<f+++++++++ src/github.com/osism/release/.git/objects/18/510e2764570944bc04823538bf1672e902add1\n<f+++++++++ src/github.com/osism/release/.git/objects/18/6aabdd031edcb89a4a34a7ba31261a01c2a621\ncd+++++++++ src/github.com/osism/release/.git/objects/1c/\n<f+++++++++ src/github.com/osism/release/.git/objects/1c/17d36eb7533af7c5dabcb4043f8f774cdffb24\n<f+++++++++ src/github.com/osism/release/.git/objects/1c/678aea2bc67ab209029cbe869a3ecd5e95dd61\n<f+++++++++ src/github.com/osism/release/.git/objects/1c/e05cbac1e328e9f7be8e2f519b9f03e438e78c\ncd+++++++++ src/github.com/osism/release/.git/objects/1e/\n<f+++++++++ src/github.com/osism/release/.git/objects/1e/8b716a4a561e77876195a85e4bedfbab84079f\ncd+++++++++ src/github.com/osism/release/.git/objects/1f/\n<f+++++++++ src/github.com/osism/release/.git/objects/1f/ce1edf86174693cdb484abbcd83c64c0e2f99a\ncd+++++++++ src/github.com/osism/release/.git/objects/20/\n<f+++++++++ src/github.com/osism/release/.git/objects/20/0ac4a64bad0d92e6f8cdf932e2513d59c6322e\n<f+++++++++ src/github.com/osism/release/.git/objects/20/24d97223daa2622477c4c509c92f48bd275ae0\n<f+++++++++ src/github.com/osism/release/.git/objects/20/e177ad4ad8272ade6579af8fa12f7c567e62c9\ncd+++++++++ src/github.com/osism/release/.git/objects/21/\n<f+++++++++ src/github.com/osism/release/.git/objects/21/b36094d13fa8639629b69060a3d2a2389ed4b1\n<f+++++++++ src/github.com/osism/release/.git/objects/21/f320b8f15a878a78580ac17b73d9be288a8c27\ncd+++++++++ src/github.com/osism/release/.git/objects/22/\n<f+++++++++ src/github.com/osism/release/.git/objects/22/40707c7e2463208f521ff7c36240e99f6211c8\ncd+++++++++ src/github.com/osism/release/.git/objects/23/\n<f+++++++++ src/github.com/osism/release/.git/objects/23/00c7388af2eb8479731ff14ccf8089472303a3\n<f+++++++++ src/github.com/osism/release/.git/objects/23/3740602d37535c4c15d6cb721f0cc7f5c045cf\n<f+++++++++ src/github.com/osism/release/.git/objects/23/8a60c6738479602a1fb6eb28daf0e3381733a1\ncd+++++++++ src/github.com/osism/release/.git/objects/24/\n<f+++++++++ src/github.com/osism/release/.git/objects/24/5d5b618dda11542a45dd41452b00a04c4a4734\ncd+++++++++ src/github.com/osism/release/.git/objects/25/\n<f+++++++++ src/github.com/osism/release/.git/objects/25/fd72b5e68175b76e94b91cb21261b1022ef265\ncd+++++++++ src/github.com/osism/release/.git/objects/27/\n<f+++++++++ src/github.com/osism/release/.git/objects/27/09fa9e4f0261039f35d99427b5a227bc326ce4\n<f+++++++++ src/github.com/osism/release/.git/objects/27/69c836ba64ca6383b754c351c19ac4ff8119cc\n<f+++++++++ src/github.com/osism/release/.git/objects/27/75eff3367283e378e40dad761bb3ce18a41fc0\n<f+++++++++ src/github.com/osism/release/.git/objects/27/c780b857fde33425e96a999a51a4020ac86cb9\n<f+++++++++ src/github.com/osism/release/.git/objects/27/f2ace730d5ac21db627da30bbdef16b8f6b69b\ncd+++++++++ src/github.com/osism/release/.git/objects/28/\n<f+++++++++ src/github.com/osism/release/.git/objects/28/8fe93f929978287e5bdcce9566d737973bdda1\ncd+++++++++ src/github.com/osism/release/.git/objects/29/\n<f+++++++++ src/github.com/osism/release/.git/objects/29/40ca79902a4f0f737cd551dac6403554ba78a2\ncd+++++++++ src/github.com/osism/release/.git/objects/2a/\n<f+++++++++ src/github.com/osism/release/.git/objects/2a/1c85a104ecef7e2fedd44a43ad98dd95ae50c2\n<f+++++++++ src/github.com/osism/release/.git/objects/2a/2f97fa749336b72edd9db7ec72fe70e3113d3e\n<f+++++++++ src/github.com/osism/release/.git/objects/2a/aecc1a2cbafb51f68b4ff94ea5983b4a7c2e21\n<f+++++++++ src/github.com/osism/release/.git/objects/2a/f41561fdbf57c1da4f4d4112c13115bee9b5e9\ncd+++++++++ src/github.com/osism/release/.git/objects/2b/\n<f+++++++++ src/github.com/osism/release/.git/objects/2b/35bd14c0e7c6997d711afd96c8619256d3559b\n<f+++++++++ src/github.com/osism/release/.git/objects/2b/989865c02dad2b2ef4f5a0c9309eabf44c3a2c\n<f+++++++++ src/github.com/osism/release/.git/objects/2b/d14f7467f4764e7fe1114490f197fad54badfc\ncd+++++++++ src/github.com/osism/release/.git/objects/2c/\n<f+++++++++ src/github.com/osism/release/.git/objects/2c/5ebba673c58c3a5435b1940e00ea01874f1063\ncd+++++++++ src/github.com/osism/release/.git/objects/2d/\n<f+++++++++ src/github.com/osism/release/.git/objects/2d/29a7b8dbdd2b42adabd2bdb894835bec8a6bf3\ncd+++++++++ src/github.com/osism/release/.git/objects/2e/\n<f+++++++++ src/github.com/osism/release/.git/objects/2e/a49002db3721f30d436f32b2592df00112e017\n<f+++++++++ src/github.com/osism/release/.git/objects/2e/bac7e7ca2def3f5640ac57f7d48c42a1f47f2d\n<f+++++++++ src/github.com/osism/release/.git/objects/2e/f39a36ca21a8d8a831eaac9b77cf356bf95208\ncd+++++++++ src/github.com/osism/release/.git/objects/2f/\n<f+++++++++ src/github.com/osism/release/.git/objects/2f/6256b27eaa53c542b99775f07f6169741be4e6\ncd+++++++++ src/github.com/osism/release/.git/objects/30/\n<f+++++++++ src/github.com/osism/release/.git/objects/30/10b1611874628da6337229c15d66e67b9ead53\n<f+++++++++ src/github.com/osism/release/.git/objects/30/2a1d644b697588030a9d19107560a9bbdeb918\n<f+++++++++ src/github.com/osism/release/.git/objects/30/9d866dc0367f18bf9ec39b6b9815ae28274c8d\ncd+++++++++ src/github.com/osism/release/.git/objects/32/\n<f+++++++++ src/github.com/osism/release/.git/objects/32/56960068ede7b5ba0f9c7b5a6104c2b042867b\ncd+++++++++ src/github.com/osism/release/.git/objects/33/\n<f+++++++++ src/github.com/osism/release/.git/objects/33/a8a418ad4f5b1473e02a9aec5d3102b59ccbcc\ncd+++++++++ src/github.com/osism/release/.git/objects/35/\n<f+++++++++ src/github.com/osism/release/.git/objects/35/7dd3f1e84a283e39dfa8a942b26065064eb5eb\ncd+++++++++ src/github.com/osism/release/.git/objects/37/\n<f+++++++++ src/github.com/osism/release/.git/objects/37/f04352f3b064cd153ea33b903fed443895f73e\ncd+++++++++ src/github.com/osism/release/.git/objects/38/\n<f+++++++++ src/github.com/osism/release/.git/objects/38/42c8ef0281fa77d4a4b64f488eedb726867bb6\n<f+++++++++ src/github.com/osism/release/.git/objects/38/f6840b4f59d620b82c5a2007c4baa05c485bcf\ncd+++++++++ src/github.com/osism/release/.git/objects/39/\n<f+++++++++ src/github.com/osism/release/.git/objects/39/9c1e54839c4e3ec89a6938d3b76d0d9856636d\ncd+++++++++ src/github.com/osism/release/.git/objects/3a/\n<f+++++++++ src/github.com/osism/release/.git/objects/3a/269db7345552e8b6b22e015760232bf857256c\n<f+++++++++ src/github.com/osism/release/.git/objects/3a/58ceec735eecd3bb2414d235cec9d185a25200\ncd+++++++++ src/github.com/osism/release/.git/objects/3b/\n<f+++++++++ src/github.com/osism/release/.git/objects/3b/82967ef8b1fc6ad161b5eb965c77814f4cdeff\ncd+++++++++ src/github.com/osism/release/.git/objects/3c/\n<f+++++++++ src/github.com/osism/release/.git/objects/3c/9a44b7c2d1f84a9247ed5d33109e70fce5e323\ncd+++++++++ src/github.com/osism/release/.git/objects/3d/\n<f+++++++++ src/github.com/osism/release/.git/objects/3d/0888d8c4a38d13b790d99176295d2777e50be5\ncd+++++++++ src/github.com/osism/release/.git/objects/3e/\n<f+++++++++ src/github.com/osism/release/.git/objects/3e/c3312f7157629641e615de61658677c851b7c3\ncd+++++++++ src/github.com/osism/release/.git/objects/3f/\n<f+++++++++ src/github.com/osism/release/.git/objects/3f/c4e7d8e9cb32126f724e040456a68378dea139\ncd+++++++++ src/github.com/osism/release/.git/objects/40/\n<f+++++++++ src/github.com/osism/release/.git/objects/40/7235a9eb3353dc26fbe7d1c8c57d03e1b136bc\ncd+++++++++ src/github.com/osism/release/.git/objects/41/\n<f+++++++++ src/github.com/osism/release/.git/objects/41/60b2b9ad19b765b63d5c5759183051474c9624\ncd+++++++++ src/github.com/osism/release/.git/objects/43/\n<f+++++++++ src/github.com/osism/release/.git/objects/43/f85008d782900055fa62a4451a50d7e219939f\ncd+++++++++ src/github.com/osism/release/.git/objects/44/\n<f+++++++++ src/github.com/osism/release/.git/objects/44/d740bd70872a7f39eab18b258266185cb69733\ncd+++++++++ src/github.com/osism/release/.git/objects/46/\n<f+++++++++ src/github.com/osism/release/.git/objects/46/4813871d9460aef74984198be200ac9b8ee1db\n<f+++++++++ src/github.com/osism/release/.git/objects/46/81df4398ea05518d06acbf04067711b4457908\n<f+++++++++ src/github.com/osism/release/.git/objects/46/dc113b997e7616c226fd5ddfa32eea4dcc16b4\ncd+++++++++ src/github.com/osism/release/.git/objects/47/\n<f+++++++++ src/github.com/osism/release/.git/objects/47/b5e41a8953ae3aaf5545d489fa9431c02b04f3\ncd+++++++++ src/github.com/osism/release/.git/objects/49/\n<f+++++++++ src/github.com/osism/release/.git/objects/49/b6d24488d5829afbee05eb552da962456b80fb\ncd+++++++++ src/github.com/osism/release/.git/objects/4a/\n<f+++++++++ src/github.com/osism/release/.git/objects/4a/0ae53668977f6e72eff8ca29793d8d631a745e\n<f+++++++++ src/github.com/osism/release/.git/objects/4a/b7d0cc09f70c9e277c057f4d97c0cdfea390ea\ncd+++++++++ src/github.com/osism/release/.git/objects/4b/\n<f+++++++++ src/github.com/osism/release/.git/objects/4b/33fff773b0d30cc57887dbea72386de00c3dd1\ncd+++++++++ src/github.com/osism/release/.git/objects/4c/\n<f+++++++++ src/github.com/osism/release/.git/objects/4c/9d8fe11a1226bcfd9a3b8b5c5b385b6348a5d1\ncd+++++++++ src/github.com/osism/release/.git/objects/4d/\n<f+++++++++ src/github.com/osism/release/.git/objects/4d/1a017608a9e4b4ab7afb6f26184a53e50dd398\n<f+++++++++ src/github.com/osism/release/.git/objects/4d/3049c544d0b8cdcc0ff45885d18693411ee175\n<f+++++++++ src/github.com/osism/release/.git/objects/4d/f6ab8c478bc515d3427a2a4b97afbe0307e74f\ncd+++++++++ src/github.com/osism/release/.git/objects/4e/\n<f+++++++++ src/github.com/osism/release/.git/objects/4e/06074ba0b1d13c11c9907a80011261ad86f278\n<f+++++++++ src/github.com/osism/release/.git/objects/4e/15fc79fe9d7282397a6ae1e74c0c3bb48f95d3\n<f+++++++++ src/github.com/osism/release/.git/objects/4e/205baad69865e58ad9aad888df646798f97404\n<f+++++++++ src/github.com/osism/release/.git/objects/4e/b502e84f898d93eefecf4b90df552b355774c0\ncd+++++++++ src/github.com/osism/release/.git/objects/4f/\n<f+++++++++ src/github.com/osism/release/.git/objects/4f/69da2aaf48fa6f2ac21f2d03954b9133d23342\ncd+++++++++ src/github.com/osism/release/.git/objects/50/\n<f+++++++++ src/github.com/osism/release/.git/objects/50/b19dede31c7914efd1360d884d3739da01270b\ncd+++++++++ src/github.com/osism/release/.git/objects/51/\n<f+++++++++ src/github.com/osism/release/.git/objects/51/859039c894eeda1fbbfa4f8fe481a98ad72f52\n<f+++++++++ src/github.com/osism/release/.git/objects/51/d5562552911013df0a02dc4e8a6749898f212d\n<f+++++++++ src/github.com/osism/release/.git/objects/51/d5ed700ea24e1ea62e2e23b032cbb9ccf04ae2\ncd+++++++++ src/github.com/osism/release/.git/objects/52/\n<f+++++++++ src/github.com/osism/release/.git/objects/52/59dfe7329f7eb7a919c93b7f9eb30100196534\ncd+++++++++ src/github.com/osism/release/.git/objects/53/\n<f+++++++++ src/github.com/osism/release/.git/objects/53/2c0ea506fd33b60653145b2eec9d77549fcffd\ncd+++++++++ src/github.com/osism/release/.git/objects/54/\n<f+++++++++ src/github.com/osism/release/.git/objects/54/00ab7d386e2e9d549ada434710e5e03d2eb7b7\n<f+++++++++ src/github.com/osism/release/.git/objects/54/d5eb3f762b499b512de19252864f349462b902\ncd+++++++++ src/github.com/osism/release/.git/objects/55/\n<f+++++++++ src/github.com/osism/release/.git/objects/55/0e5bc9b4c33488f276b920dc84ea21fa356af2\ncd+++++++++ src/github.com/osism/release/.git/objects/58/\n<f+++++++++ src/github.com/osism/release/.git/objects/58/27882a1718adff306884bb234df452c1911858\n<f+++++++++ src/github.com/osism/release/.git/objects/58/b64d4ed0011d84ea38d7523b1dd21b7b9345ea\n<f+++++++++ src/github.com/osism/release/.git/objects/58/e73a507d84a8c696a328dc9d9a2137a247a84e\ncd+++++++++ src/github.com/osism/release/.git/objects/59/\n<f+++++++++ src/github.com/osism/release/.git/objects/59/1e96a10f125b42d06a236f2b367bd05098a14b\ncd+++++++++ src/github.com/osism/release/.git/objects/5a/\n<f+++++++++ src/github.com/osism/release/.git/objects/5a/081510862736ebca2875c0ba06f676379bf9d5\n<f+++++++++ src/github.com/osism/release/.git/objects/5a/2ff96538f7c053b2d18fc215a5098459beb2e7\n<f+++++++++ src/github.com/osism/release/.git/objects/5a/432aeb177ff5196ac8cf6e137b16f0465aeebb\n<f+++++++++ src/github.com/osism/release/.git/objects/5a/461f298510080486866e75889c79f62461e97a\n<f+++++++++ src/github.com/osism/release/.git/objects/5a/771d3e0f4f55d1317bd1c72d58757e08a1ad98\ncd+++++++++ src/github.com/osism/release/.git/objects/5b/\n<f+++++++++ src/github.com/osism/release/.git/objects/5b/14e71f868401cbe3115e39fad7b3eef5fe2aa7\n<f+++++++++ src/github.com/osism/release/.git/objects/5b/e0e135d9adec64102c9dcce1e90cf25de58124\ncd+++++++++ src/github.com/osism/release/.git/objects/5c/\n<f+++++++++ src/github.com/osism/release/.git/objects/5c/45ad9dc7219f18e1235b4b965935774819b65e\ncd+++++++++ src/github.com/osism/release/.git/objects/5d/\n<f+++++++++ src/github.com/osism/release/.git/objects/5d/0384332a356ba6a7c34f18654c8bb5f76c9722\n<f+++++++++ src/github.com/osism/release/.git/objects/5d/5a0d6ea32a2f576d64a118271b5e6562e2b342\n<f+++++++++ src/github.com/osism/release/.git/objects/5d/744041a17d475e43cce40e4ecda124bbf3d9ef\ncd+++++++++ src/github.com/osism/release/.git/objects/5e/\n<f+++++++++ src/github.com/osism/release/.git/objects/5e/03dd1ee81bf18dd3a3721b82b69dd6cd15f0a6\n<f+++++++++ src/github.com/osism/release/.git/objects/5e/496fce174fbd249839356b622f74f0915bc838\ncd+++++++++ src/github.com/osism/release/.git/objects/61/\n<f+++++++++ src/github.com/osism/release/.git/objects/61/05990bddcbea5d0e7e4b5261e7b77bfa2bac4d\n<f+++++++++ src/github.com/osism/release/.git/objects/61/ddae32c73eaa4391d666db4379467702eaa1e4\ncd+++++++++ src/github.com/osism/release/.git/objects/63/\n<f+++++++++ src/github.com/osism/release/.git/objects/63/050c8bca63e283c0db5653712cbee9d3a5b4a1\n<f+++++++++ src/github.com/osism/release/.git/objects/63/25bed5ff8c5e15dcbdc23b042672eff37bb029\n<f+++++++++ src/github.com/osism/release/.git/objects/63/2c5af8553c3a1c774a6ae01cd552de4b60f68a\n<f+++++++++ src/github.com/osism/release/.git/objects/63/3ac6e624816681e51a7d42048c274a393362a2\n<f+++++++++ src/github.com/osism/release/.git/objects/63/e28ad5f5c994c7a064fd4bc1b3f8ed708fa2d0\ncd+++++++++ src/github.com/osism/release/.git/objects/65/\n<f+++++++++ src/github.com/osism/release/.git/objects/65/d884910b2f85352001fbb56e7e023b65e0ba8a\n<f+++++++++ src/github.com/osism/release/.git/objects/65/ea4218d2bc72471671b0c7be6a736b611899d5\ncd+++++++++ src/github.com/osism/release/.git/objects/67/\n<f+++++++++ src/github.com/osism/release/.git/objects/67/28e9ce565a79fca468a1f2289a061f28fcc4d3\n<f+++++++++ src/github.com/osism/release/.git/objects/67/710ff5eab08f1ed052288ebc8e40b4c124fec6\ncd+++++++++ src/github.com/osism/release/.git/objects/68/\n<f+++++++++ src/github.com/osism/release/.git/objects/68/85bcf470428869d04be799fc08f8150669f61e\n<f+++++++++ src/github.com/osism/release/.git/objects/68/be65e6a8ad73071870f45973a0edc455a65101\ncd+++++++++ src/github.com/osism/release/.git/objects/69/\n<f+++++++++ src/github.com/osism/release/.git/objects/69/809545ca692c7bc0203fbcd74b1d18e7d3197b\n<f+++++++++ src/github.com/osism/release/.git/objects/69/d2fe5660db568ce0f34edf5613326ab1dca162\ncd+++++++++ src/github.com/osism/release/.git/objects/6a/\n<f+++++++++ src/github.com/osism/release/.git/objects/6a/8ddb25f9182f0b05c5c668ea728299ffe8c3b4\n<f+++++++++ src/github.com/osism/release/.git/objects/6a/d7bbe0b984fe0913d342a62db0736840ed43b3\n<f+++++++++ src/github.com/osism/release/.git/objects/6a/e1b4b6e0e93997112069ec01ade0dd53578b55\n<f+++++++++ src/github.com/osism/release/.git/objects/6a/ef791abd02c4e4a16738a550ca8366518e3462\ncd+++++++++ src/github.com/osism/release/.git/objects/6b/\n<f+++++++++ src/github.com/osism/release/.git/objects/6b/680c92f9eaf9868c1b61649206fcbf9bc90c1a\ncd+++++++++ src/github.com/osism/release/.git/objects/6c/\n<f+++++++++ src/github.com/osism/release/.git/objects/6c/3a5183955a6f54a4c0d1a645467540710548d0\n<f+++++++++ src/github.com/osism/release/.git/objects/6c/da236dd06cf898c32ede606a049002bd881d59\ncd+++++++++ src/github.com/osism/release/.git/objects/6e/\n<f+++++++++ src/github.com/osism/release/.git/objects/6e/73a54df9dcf5f724c518d4e5a2c4d4a86cfc7a\ncd+++++++++ src/github.com/osism/release/.git/objects/6f/\n<f+++++++++ src/github.com/osism/release/.git/objects/6f/bd76de249aaa88987881c9d68963eb7a62542b\ncd+++++++++ src/github.com/osism/release/.git/objects/72/\n<f+++++++++ src/github.com/osism/release/.git/objects/72/afd9edb28b95460d7adae56d1814dfd227e3af\ncd+++++++++ src/github.com/osism/release/.git/objects/73/\n<f+++++++++ src/github.com/osism/release/.git/objects/73/42a7680a30759d4284b3fefbb7202aab8f180e\ncd+++++++++ src/github.com/osism/release/.git/objects/74/\n<f+++++++++ src/github.com/osism/release/.git/objects/74/041bd9b4aff264e85c6f7cb252c1cfb816caa0\n<f+++++++++ src/github.com/osism/release/.git/objects/74/cdd6f090cc4e2dede77e95eaf2bb27fbcf487f\n<f+++++++++ src/github.com/osism/release/.git/objects/74/f2de63bf96c379dbdbb5a7fa0ac06388b9434d\ncd+++++++++ src/github.com/osism/release/.git/objects/75/\n<f+++++++++ src/github.com/osism/release/.git/objects/75/153307be83661c97b7be701027bde2618af21a\ncd+++++++++ src/github.com/osism/release/.git/objects/76/\n<f+++++++++ src/github.com/osism/release/.git/objects/76/249884d29824869d2037bce8409c6a4ddc4e40\n<f+++++++++ src/github.com/osism/release/.git/objects/76/943e0d7c402a614acbdf26e8e011a46c174f74\n<f+++++++++ src/github.com/osism/release/.git/objects/76/cb57957bd0d3cd5c34b772845053be2bfec9f2\n<f+++++++++ src/github.com/osism/release/.git/objects/76/e5fd06d050ff6c31416d4106a708c3bc9dd420\ncd+++++++++ src/github.com/osism/release/.git/objects/78/\n<f+++++++++ src/github.com/osism/release/.git/objects/78/4347691613ac8109992c62f99c0505b6ba7e63\ncd+++++++++ src/github.com/osism/release/.git/objects/79/\n<f+++++++++ src/github.com/osism/release/.git/objects/79/85f292f51288e5fff26841397f3574164fa2aa\ncd+++++++++ src/github.com/osism/release/.git/objects/7a/\n<f+++++++++ src/github.com/osism/release/.git/objects/7a/109f132ccd2f7b75d4ac29cbe1c6b4a87c8ac4\n<f+++++++++ src/github.com/osism/release/.git/objects/7a/f419041882a52d855ef750931b2ab17328bd4f\ncd+++++++++ src/github.com/osism/release/.git/objects/7d/\n<f+++++++++ src/github.com/osism/release/.git/objects/7d/06e21aa4cf005013b0296d7c1caf0a38cf62f1\n<f+++++++++ src/github.com/osism/release/.git/objects/7d/7635e180ba48484da63b1133f18584ce7cded2\ncd+++++++++ src/github.com/osism/release/.git/objects/7f/\n<f+++++++++ src/github.com/osism/release/.git/objects/7f/3f6f0a5b32989188fe50057efd170b823b7f54\n<f+++++++++ src/github.com/osism/release/.git/objects/7f/4b521fe08d0ff6720902e0f3d7c46ee66edde0\ncd+++++++++ src/github.com/osism/release/.git/objects/80/\n<f+++++++++ src/github.com/osism/release/.git/objects/80/d2574448f5253d87956b30308804ded93e0b73\ncd+++++++++ src/github.com/osism/release/.git/objects/81/\n<f+++++++++ src/github.com/osism/release/.git/objects/81/1ec11889ceddb07505a078fa2be2a401a6631e\n<f+++++++++ src/github.com/osism/release/.git/objects/81/d4893984b85cf104dc8ec887af9f884f6ee09c\ncd+++++++++ src/github.com/osism/release/.git/objects/82/\n<f+++++++++ src/github.com/osism/release/.git/objects/82/80205aa6eb0c6d8ba08b2e4d6d6e9e4ba30821\n<f+++++++++ src/github.com/osism/release/.git/objects/82/981be202030f6107d804eeafa42a9ed3c760f8\ncd+++++++++ src/github.com/osism/release/.git/objects/84/\n<f+++++++++ src/github.com/osism/release/.git/objects/84/f5c6a907b7988074ff342084783382564f0f04\ncd+++++++++ src/github.com/osism/release/.git/objects/85/\n<f+++++++++ src/github.com/osism/release/.git/objects/85/9d07356c1af780d1e68860dc984802a66fcd38\ncd+++++++++ src/github.com/osism/release/.git/objects/86/\n<f+++++++++ src/github.com/osism/release/.git/objects/86/594e064e817b4a8ff2c98fd706d657733e0b3e\ncd+++++++++ src/github.com/osism/release/.git/objects/87/\n<f+++++++++ src/github.com/osism/release/.git/objects/87/255382fc0d07cd9c349c90c9a24179a63aa3c2\n<f+++++++++ src/github.com/osism/release/.git/objects/87/37353d2fd85bd013576600b1a1a73e5d0280f1\n<f+++++++++ src/github.com/osism/release/.git/objects/87/78ca6418a9b3ccc8429e70bd1276ae6bccaeea\ncd+++++++++ src/github.com/osism/release/.git/objects/88/\n<f+++++++++ src/github.com/osism/release/.git/objects/88/aca133cb00cfc67c17368d19cdd06bdb33a828\n<f+++++++++ src/github.com/osism/release/.git/objects/88/c43da20d8696cb225838c1d3deed054e821ad6\ncd+++++++++ src/github.com/osism/release/.git/objects/89/\n<f+++++++++ src/github.com/osism/release/.git/objects/89/78cbd2573f39023565db6b916b62e914629766\n<f+++++++++ src/github.com/osism/release/.git/objects/89/cc86262d49fd624db45a90e8e47237ef411734\ncd+++++++++ src/github.com/osism/release/.git/objects/8a/\n<f+++++++++ src/github.com/osism/release/.git/objects/8a/51c833c9805ee01ed57d9a73f5dc6cdbfc140a\ncd+++++++++ src/github.com/osism/release/.git/objects/8b/\n<f+++++++++ src/github.com/osism/release/.git/objects/8b/643b9d84163ac5e0e88f919495335f9bbb5653\ncd+++++++++ src/github.com/osism/release/.git/objects/8d/\n<f+++++++++ src/github.com/osism/release/.git/objects/8d/6c45de271b1411636e635131ec8d2e8ef631cd\ncd+++++++++ src/github.com/osism/release/.git/objects/8e/\n<f+++++++++ src/github.com/osism/release/.git/objects/8e/366765825ca8655bb556b0c88f65b8741c380e\ncd+++++++++ src/github.com/osism/release/.git/objects/8f/\n<f+++++++++ src/github.com/osism/release/.git/objects/8f/bcd5cafa93768670f00db8f53e25d766419536\ncd+++++++++ src/github.com/osism/release/.git/objects/92/\n<f+++++++++ src/github.com/osism/release/.git/objects/92/6d57beaf001d5a9d9493b6e20be7a3279401a1\n<f+++++++++ src/github.com/osism/release/.git/objects/92/dee83a2ce58e98383913bad6455d4a94a49a59\ncd+++++++++ src/github.com/osism/release/.git/objects/95/\n<f+++++++++ src/github.com/osism/release/.git/objects/95/e5a79270eb91d8cd784644acc75a871ba46ede\ncd+++++++++ src/github.com/osism/release/.git/objects/97/\n<f+++++++++ src/github.com/osism/release/.git/objects/97/3f7d8847934cf7f2e091a9669dd71590a4e248\n<f+++++++++ src/github.com/osism/release/.git/objects/97/9c3314a708a9601b35e53c89d6654c251083c4\n<f+++++++++ src/github.com/osism/release/.git/objects/97/a6e938da171a64b92207947db200b2e7c8fd62\ncd+++++++++ src/github.com/osism/release/.git/objects/99/\n<f+++++++++ src/github.com/osism/release/.git/objects/99/7932077e9455094dca5717bb22f358ec1ad3ad\n<f+++++++++ src/github.com/osism/release/.git/objects/99/8e19b6afea54e0f64baec12d0762a5b6e8c1f8\n<f+++++++++ src/github.com/osism/release/.git/objects/99/c891c7c97710fc8f2396e5a064c11c8ba9d025\ncd+++++++++ src/github.com/osism/release/.git/objects/9c/\n<f+++++++++ src/github.com/osism/release/.git/objects/9c/7c78b99c5f6c5812aa1a2b4dc1ce5b8075a1fa\ncd+++++++++ src/github.com/osism/release/.git/objects/9d/\n<f+++++++++ src/github.com/osism/release/.git/objects/9d/4131cf3022a6647ad8bde6818821f74a552b08\n<f+++++++++ src/github.com/osism/release/.git/objects/9d/8690db6edfe30653aa2e5c2b678aaa28c5714a\n<f+++++++++ src/github.com/osism/release/.git/objects/9d/be91bfb966e62fbbd7c3a16e06f9d762f98da6\ncd+++++++++ src/github.com/osism/release/.git/objects/9e/\n<f+++++++++ src/github.com/osism/release/.git/objects/9e/8735e5aa9ad2c3d8c0baff821583db03e14004\ncd+++++++++ src/github.com/osism/release/.git/objects/9f/\n<f+++++++++ src/github.com/osism/release/.git/objects/9f/a7e94d7ea67762552236f6ad472b5269fa6f67\n<f+++++++++ src/github.com/osism/release/.git/objects/9f/d2eb3ce4cbd8884f173f214228a9ffbdb043de\n<f+++++++++ src/github.com/osism/release/.git/objects/9f/d968c7dfbdfb7eda9d31933f19dd7501fbad35\ncd+++++++++ src/github.com/osism/release/.git/objects/a0/\n<f+++++++++ src/github.com/osism/release/.git/objects/a0/3287bdc9fdf7f49ba0c12e32b7e41ae32dffa9\n<f+++++++++ src/github.com/osism/release/.git/objects/a0/fcbcf290c94026bd2b44e0219969dd349cfbfc\ncd+++++++++ src/github.com/osism/release/.git/objects/a3/\n<f+++++++++ src/github.com/osism/release/.git/objects/a3/55279e3eb01beb3541be7e6e73c94c0a300f49\ncd+++++++++ src/github.com/osism/release/.git/objects/a8/\n<f+++++++++ src/github.com/osism/release/.git/objects/a8/67921da365e9d879544fc8cffd8af0982e32c6\ncd+++++++++ src/github.com/osism/release/.git/objects/a9/\n<f+++++++++ src/github.com/osism/release/.git/objects/a9/24f9516cd9d01b68a3460f8f0bc3f239cbb51b\n<f+++++++++ src/github.com/osism/release/.git/objects/a9/d5359205d280ab01dd35c118421f2188509314\ncd+++++++++ src/github.com/osism/release/.git/objects/aa/\n<f+++++++++ src/github.com/osism/release/.git/objects/aa/187e0e07d28ca21b483e15340c15e14c1ae67a\n<f+++++++++ src/github.com/osism/release/.git/objects/aa/d31f82a10eac3f6796df929e6b01526fc65709\ncd+++++++++ src/github.com/osism/release/.git/objects/ab/\n<f+++++++++ src/github.com/osism/release/.git/objects/ab/568b32863dce7e7d300f3ed0d2654baba088a0\ncd+++++++++ src/github.com/osism/release/.git/objects/ac/\n<f+++++++++ src/github.com/osism/release/.git/objects/ac/73a08c838e257e8440a0261df46ed8057d8167\n<f+++++++++ src/github.com/osism/release/.git/objects/ac/ae57a5b4d170cc3a554ac7b49397cf699fab36\ncd+++++++++ src/github.com/osism/release/.git/objects/ad/\n<f+++++++++ src/github.com/osism/release/.git/objects/ad/69af6229f86da72cc06a4edb6389121e0cd206\n<f+++++++++ src/github.com/osism/release/.git/objects/ad/78310f4ee44553f932c2e0e298db56122ea798\ncd+++++++++ src/github.com/osism/release/.git/objects/ae/\n<f+++++++++ src/github.com/osism/release/.git/objects/ae/44875d4b9ce2a65b7bee4b4aec997da9313b23\n<f+++++++++ src/github.com/osism/release/.git/objects/ae/f38f360617ecc730e8793043ca736cb79ead7a\ncd+++++++++ src/github.com/osism/release/.git/objects/af/\n<f+++++++++ src/github.com/osism/release/.git/objects/af/5f2feced9a7148b97ed82f3b07bf7b3fb0135b\n<f+++++++++ src/github.com/osism/release/.git/objects/af/a13dd093d8ae60a022b4afd6e712fa88a62602\ncd+++++++++ src/github.com/osism/release/.git/objects/b0/\n<f+++++++++ src/github.com/osism/release/.git/objects/b0/2449dfb21b2175683f7f6a59ff93f2b107236d\ncd+++++++++ src/github.com/osism/release/.git/objects/b1/\n<f+++++++++ src/github.com/osism/release/.git/objects/b1/b7a86994f2aab3c58b337d535ceb496f0c9927\ncd+++++++++ src/github.com/osism/release/.git/objects/b2/\n<f+++++++++ src/github.com/osism/release/.git/objects/b2/2e46973b3617ab35ba93948dad3bfa49b98e74\n<f+++++++++ src/github.com/osism/release/.git/objects/b2/a9fb5e313d97aeab10f40b5933609e63f7f691\ncd+++++++++ src/github.com/osism/release/.git/objects/b5/\n<f+++++++++ src/github.com/osism/release/.git/objects/b5/0b4e3995044b5f45bf0c22ac5107df5f2cd4f3\n<f+++++++++ src/github.com/osism/release/.git/objects/b5/1bd8180611a5a7e5e44abba1611e75bc40ccbf\n<f+++++++++ src/github.com/osism/release/.git/objects/b5/65a947e6817ca43db3a7ee3c5c64c86425b58c\n<f+++++++++ src/github.com/osism/release/.git/objects/b5/7fb5f4aa53e0f7b7b7e8631e3e424abae444ab\ncd+++++++++ src/github.com/osism/release/.git/objects/b6/\n<f+++++++++ src/github.com/osism/release/.git/objects/b6/92e56215d823c12e49d7f45fa7876197201229\n<f+++++++++ src/github.com/osism/release/.git/objects/b6/bbe5ae6689f46009e578162afd9837508f8d84\ncd+++++++++ src/github.com/osism/release/.git/objects/b8/\n<f+++++++++ src/github.com/osism/release/.git/objects/b8/092004934f5ae96468d7d61d0a8f12fbca8b92\ncd+++++++++ src/github.com/osism/release/.git/objects/ba/\n<f+++++++++ src/github.com/osism/release/.git/objects/ba/30d60959be2d77521572a7b22ed99ce709231e\ncd+++++++++ src/github.com/osism/release/.git/objects/bb/\n<f+++++++++ src/github.com/osism/release/.git/objects/bb/26dd2e1020dcc3264f654d0cd08e3ba2496f7e\n<f+++++++++ src/github.com/osism/release/.git/objects/bb/a980b269b68875d76c4d118c214873ae6d6e2c\ncd+++++++++ src/github.com/osism/release/.git/objects/bc/\n<f+++++++++ src/github.com/osism/release/.git/objects/bc/8668a142cd86a87a888ba639c6b1d838e9e164\ncd+++++++++ src/github.com/osism/release/.git/objects/bd/\n<f+++++++++ src/github.com/osism/release/.git/objects/bd/37a6b15b58695392d15507bc12a444c2a2524d\n<f+++++++++ src/github.com/osism/release/.git/objects/bd/4a821c42cd69a9749827f79d4ecb40a9293b38\ncd+++++++++ src/github.com/osism/release/.git/objects/be/\n<f+++++++++ src/github.com/osism/release/.git/objects/be/a6cb174094cfe2b9c460546531a1bfe2398ef6\ncd+++++++++ src/github.com/osism/release/.git/objects/c0/\n<f+++++++++ src/github.com/osism/release/.git/objects/c0/3707c3aa00dd68d590aa89bf09db635be3a130\ncd+++++++++ src/github.com/osism/release/.git/objects/c1/\n<f+++++++++ src/github.com/osism/release/.git/objects/c1/2c2d8589b53e2d9744aa54ee86e06e82dff99b\ncd+++++++++ src/github.com/osism/release/.git/objects/c2/\n<f+++++++++ src/github.com/osism/release/.git/objects/c2/82e9d093f51995bb9f33f39dc77b71ad72b7c1\ncd+++++++++ src/github.com/osism/release/.git/objects/c3/\n<f+++++++++ src/github.com/osism/release/.git/objects/c3/e2bb45155527a26ac7ea0ad2c0c0c3d4815884\n<f+++++++++ src/github.com/osism/release/.git/objects/c3/e6ace22538d13459410fb83e3b05d88251e5f7\ncd+++++++++ src/github.com/osism/release/.git/objects/c4/\n<f+++++++++ src/github.com/osism/release/.git/objects/c4/22a331f7e77db309c1f856dbc2c359ef6d4d19\ncd+++++++++ src/github.com/osism/release/.git/objects/c5/\n<f+++++++++ src/github.com/osism/release/.git/objects/c5/5a57a623a2f2541afb2f231ec786243eec783c\n<f+++++++++ src/github.com/osism/release/.git/objects/c5/d69d73bf7fb3aba043ba554466c182a574ee12\ncd+++++++++ src/github.com/osism/release/.git/objects/c7/\n<f+++++++++ src/github.com/osism/release/.git/objects/c7/3bdb168ab578b038b201831ad8fb7e5e2ef6bd\n<f+++++++++ src/github.com/osism/release/.git/objects/c7/689f7858789db788bc55b4fed9a431306b19c4\ncd+++++++++ src/github.com/osism/release/.git/objects/c8/\n<f+++++++++ src/github.com/osism/release/.git/objects/c8/96bf95cd6aad4ad59f81bdeb3b9bbebfcc59ed\ncd+++++++++ src/github.com/osism/release/.git/objects/c9/\n<f+++++++++ src/github.com/osism/release/.git/objects/c9/4391a9184dcaeea597926560934e0d512bf03a\n<f+++++++++ src/github.com/osism/release/.git/objects/c9/5cbfda451f6321ec8c07bec6e2e2fe8904061a\n<f+++++++++ src/github.com/osism/release/.git/objects/c9/a17e60283889fafa5de9f40464d3a940879399\ncd+++++++++ src/github.com/osism/release/.git/objects/cc/\n<f+++++++++ src/github.com/osism/release/.git/objects/cc/49f2925150eaa2f8635184631630a5ab1bad14\n<f+++++++++ src/github.com/osism/release/.git/objects/cc/cff6b1d88f6a6b11425030b19476f75d35b22c\ncd+++++++++ src/github.com/osism/release/.git/objects/ce/\n<f+++++++++ src/github.com/osism/release/.git/objects/ce/d4c617a228febffbd9aed2273130dfbc41c6b4\ncd+++++++++ src/github.com/osism/release/.git/objects/cf/\n<f+++++++++ src/github.com/osism/release/.git/objects/cf/ede7453c93a4690f296e2076acfba2d0791606\ncd+++++++++ src/github.com/osism/release/.git/objects/d1/\n<f+++++++++ src/github.com/osism/release/.git/objects/d1/d38dcb42f29efd54588ef4339c60f9beba96c6\ncd+++++++++ src/github.com/osism/release/.git/objects/d3/\n<f+++++++++ src/github.com/osism/release/.git/objects/d3/234943f2b0b9e34d96592fb9679d0d81ee5718\n<f+++++++++ src/github.com/osism/release/.git/objects/d3/c9ac94c492cd61e9621754b7edab344e93b34e\ncd+++++++++ src/github.com/osism/release/.git/objects/d4/\n<f+++++++++ src/github.com/osism/release/.git/objects/d4/6ec2cb4fc79ed49fbe88d67ef37e9834b6d1ca\ncd+++++++++ src/github.com/osism/release/.git/objects/d5/\n<f+++++++++ src/github.com/osism/release/.git/objects/d5/0c600374e5d5e44fe4c30ea7dce6e6926e876b\n<f+++++++++ src/github.com/osism/release/.git/objects/d5/4280d1d3fff47b10b9226c59395cc3bf37f703\n<f+++++++++ src/github.com/osism/release/.git/objects/d5/e01c8fe96a9fcd9d55d9705908b350b077b102\ncd+++++++++ src/github.com/osism/release/.git/objects/d6/\n<f+++++++++ src/github.com/osism/release/.git/objects/d6/a1415abff47929fae7ad630badace325b1371e\ncd+++++++++ src/github.com/osism/release/.git/objects/d7/\n<f+++++++++ src/github.com/osism/release/.git/objects/d7/025c0f4cb246933685297aaf44c2b1ef466cde\n<f+++++++++ src/github.com/osism/release/.git/objects/d7/f63f56127fcda181f5f398e7071951c3529690\ncd+++++++++ src/github.com/osism/release/.git/objects/d8/\n<f+++++++++ src/github.com/osism/release/.git/objects/d8/25b58d6adeab64db729f63e53dc72feab4122a\n<f+++++++++ src/github.com/osism/release/.git/objects/d8/28d49b256ee61d2217662318ba7095b70853ee\n<f+++++++++ src/github.com/osism/release/.git/objects/d8/813269bbb566e1a79cf916c51b15383c07b917\n<f+++++++++ src/github.com/osism/release/.git/objects/d8/da47cb5f6e149294f3662af27ac1cc0b51a0a0\ncd+++++++++ src/github.com/osism/release/.git/objects/d9/\n<f+++++++++ src/github.com/osism/release/.git/objects/d9/38145977ed4950a43ac11b053c3d026227fffe\n<f+++++++++ src/github.com/osism/release/.git/objects/d9/5da380d9aa2e0fe84a350fd58101aaa723144a\ncd+++++++++ src/github.com/osism/release/.git/objects/de/\n<f+++++++++ src/github.com/osism/release/.git/objects/de/674290e5ec40e735e952be1dfc3a1e328e6188\ncd+++++++++ src/github.com/osism/release/.git/objects/df/\n<f+++++++++ src/github.com/osism/release/.git/objects/df/31ee023607199dcfad7be8f0b554b34fbfafb4\n<f+++++++++ src/github.com/osism/release/.git/objects/df/324feb655e3046a546c72b4a5bf6f1d42ded9b\n<f+++++++++ src/github.com/osism/release/.git/objects/df/bc15dafcdfaa2808b19112e9c18726b50e013b\ncd+++++++++ src/github.com/osism/release/.git/objects/e1/\n<f+++++++++ src/github.com/osism/release/.git/objects/e1/f97cbe95639a5f612166c4f700e403300fe48b\ncd+++++++++ src/github.com/osism/release/.git/objects/e3/\n<f+++++++++ src/github.com/osism/release/.git/objects/e3/0471c137b785683c3b09a2a21d4567b1ecce8c\n<f+++++++++ src/github.com/osism/release/.git/objects/e3/25a072422960466553f8fe3cb9b535ef4d3f01\n<f+++++++++ src/github.com/osism/release/.git/objects/e3/dbf8fbdb2cdb340a4c317b13fc15ab2721e216\ncd+++++++++ src/github.com/osism/release/.git/objects/e4/\n<f+++++++++ src/github.com/osism/release/.git/objects/e4/b7a6c04f45287b46bf5d9736c4e6758491c1c5\ncd+++++++++ src/github.com/osism/release/.git/objects/e5/\n<f+++++++++ src/github.com/osism/release/.git/objects/e5/8ad999a3f2d10258ace3aaa4483283c006b459\ncd+++++++++ src/github.com/osism/release/.git/objects/e6/\n<f+++++++++ src/github.com/osism/release/.git/objects/e6/08e4d38c1e5c37100421b41ce6d5bb9a2bc9a7\ncd+++++++++ src/github.com/osism/release/.git/objects/e9/\n<f+++++++++ src/github.com/osism/release/.git/objects/e9/28bb23774f9a18edf499dca691d81a0183a0b2\ncd+++++++++ src/github.com/osism/release/.git/objects/ea/\n<f+++++++++ src/github.com/osism/release/.git/objects/ea/b5bd4217f67c59199cc4462f9565d55fcad7cd\ncd+++++++++ src/github.com/osism/release/.git/objects/eb/\n<f+++++++++ src/github.com/osism/release/.git/objects/eb/9c25fd4ab3f8eaf82bd78430a540105ffa4d4f\n<f+++++++++ src/github.com/osism/release/.git/objects/eb/c7886bd80713f789671be81b079ec4d12bebbc\ncd+++++++++ src/github.com/osism/release/.git/objects/ec/\n<f+++++++++ src/github.com/osism/release/.git/objects/ec/131ba788909fb7a6bff39d121aaf84748bbb38\n<f+++++++++ src/github.com/osism/release/.git/objects/ec/258b673682e275d6335b6bb9d8edbaf9e57dfb\n<f+++++++++ src/github.com/osism/release/.git/objects/ec/39f06ea585397b1ad0a6e4b0ea094aa9296d4c\n<f+++++++++ src/github.com/osism/release/.git/objects/ec/90b51a0b173fbe66471842371bd07c7641c9ce\ncd+++++++++ src/github.com/osism/release/.git/objects/ed/\n<f+++++++++ src/github.com/osism/release/.git/objects/ed/ed357563ae88b3c18b768fe292bf0df73babd3\ncd+++++++++ src/github.com/osism/release/.git/objects/ee/\n<f+++++++++ src/github.com/osism/release/.git/objects/ee/7007937706564c21f12293e61d4811a757bed4\ncd+++++++++ src/github.com/osism/release/.git/objects/ef/\n<f+++++++++ src/github.com/osism/release/.git/objects/ef/9d2298e14362562231f4d3d0a64b5a3fb71804\ncd+++++++++ src/github.com/osism/release/.git/objects/f0/\n<f+++++++++ src/github.com/osism/release/.git/objects/f0/fcdbf167e0634f571fae1cc98820222caf364b\ncd+++++++++ src/github.com/osism/release/.git/objects/f1/\n<f+++++++++ src/github.com/osism/release/.git/objects/f1/26cf3d35b0a75fc6febff1e5921468a0eb0307\ncd+++++++++ src/github.com/osism/release/.git/objects/f2/\n<f+++++++++ src/github.com/osism/release/.git/objects/f2/0c4a0312ff49febd285fd0f16ada85a267e7c3\ncd+++++++++ src/github.com/osism/release/.git/objects/f3/\n<f+++++++++ src/github.com/osism/release/.git/objects/f3/58e99f77e801274e93b68e8bc6aaf43920a513\n<f+++++++++ src/github.com/osism/release/.git/objects/f3/6310d89e3a719ae4b2c260c97f208f57e6f4ff\ncd+++++++++ src/github.com/osism/release/.git/objects/f5/\n<f+++++++++ src/github.com/osism/release/.git/objects/f5/acf35f43dec70443407b956e40fbb9ff48f96e\ncd+++++++++ src/github.com/osism/release/.git/objects/f7/\n<f+++++++++ src/github.com/osism/release/.git/objects/f7/1a430b67b3d14124db3d35e93b77f2ca8333d3\n<f+++++++++ src/github.com/osism/release/.git/objects/f7/36d48d3633c0ac9ff0f69a84d9e0019cbc0949\ncd+++++++++ src/github.com/osism/release/.git/objects/f9/\n<f+++++++++ src/github.com/osism/release/.git/objects/f9/f5a02b3ec287a7a4d31b80abafa1fa6bc45303\ncd+++++++++ src/github.com/osism/release/.git/objects/fa/\n<f+++++++++ src/github.com/osism/release/.git/objects/fa/51094c0cff04e3be041e70af483ce0f5e8d2c5\n<f+++++++++ src/github.com/osism/release/.git/objects/fa/b94f6e2eb32a68f5178e03d9cf9053574d2150\ncd+++++++++ src/github.com/osism/release/.git/objects/fb/\n<f+++++++++ src/github.com/osism/release/.git/objects/fb/ecc6040965617c4609a3f09174248daa0c9e2c\ncd+++++++++ src/github.com/osism/release/.git/objects/fc/\n<f+++++++++ src/github.com/osism/release/.git/objects/fc/1bd1395700d5205cf21743409506a4d4a7e75d\n<f+++++++++ src/github.com/osism/release/.git/objects/fc/36c553e4274187719920eb2fc9a8581d139d42\n<f+++++++++ src/github.com/osism/release/.git/objects/fc/9c365b03f1ef0da50e85e18621968bcf750106\n<f+++++++++ src/github.com/osism/release/.git/objects/fc/a5f606ceda4cf321eea580e365d17f59837158\n<f+++++++++ src/github.com/osism/release/.git/objects/fc/d470622fff16fd6bdb92f7a1a6a3af6d76f9e8\ncd+++++++++ src/github.com/osism/release/.git/objects/fd/\n<f+++++++++ src/github.com/osism/release/.git/objects/fd/51d8c855d162949ac71a796060a0275260b718\ncd+++++++++ src/github.com/osism/release/.git/objects/ff/\n<f+++++++++ src/github.com/osism/release/.git/objects/ff/1851b35e8d3af081d6308ff22620b25e05b79d\n<f+++++++++ src/github.com/osism/release/.git/objects/ff/295b2c8cda9d9a6895ba3c92722a1088337734\n<f+++++++++ src/github.com/osism/release/.git/objects/ff/a27746e948f6c0f0dd93e21db53e4584efffe3\ncd+++++++++ src/github.com/osism/release/.git/objects/info/\n<f+++++++++ src/github.com/osism/release/.git/objects/info/commit-graph\n<f+++++++++ src/github.com/osism/release/.git/objects/info/packs\ncd+++++++++ src/github.com/osism/release/.git/objects/pack/\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-1e9f52a2ad739b13d0ecb046d64da9add41d93e6.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-1e9f52a2ad739b13d0ecb046d64da9add41d93e6.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-2bf810a2a8516110bc54eb2fdc2471977924ec9a.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-2bf810a2a8516110bc54eb2fdc2471977924ec9a.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-356fe8c4bfecdf0202a316331f823700972b9626.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-356fe8c4bfecdf0202a316331f823700972b9626.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-3b923046fff831cd54a81ba23aafc86f1af14feb.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-3b923046fff831cd54a81ba23aafc86f1af14feb.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-47c046e90652abe405e3871b704cd4877a4df076.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-47c046e90652abe405e3871b704cd4877a4df076.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-4c7fdaa2a6ca9f9ba35fa2dc1cd4c6f801fd62a2.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-4c7fdaa2a6ca9f9ba35fa2dc1cd4c6f801fd62a2.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-4d83873a842a7c3b8975e5970788254e990deb6a.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-4d83873a842a7c3b8975e5970788254e990deb6a.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-553e2657db8dda9df930b41b1dfb812ef0cb1885.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-553e2657db8dda9df930b41b1dfb812ef0cb1885.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-68d1ee1a41cc00fd77f03cb7f4f8487ff55b2e8f.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-68d1ee1a41cc00fd77f03cb7f4f8487ff55b2e8f.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-9fec2cf063f197c1bff7306cd4d4f27ca8293f7e.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-9fec2cf063f197c1bff7306cd4d4f27ca8293f7e.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-d8c49277c4d8ffa7e810e3810603a61d971c11c1.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-d8c49277c4d8ffa7e810e3810603a61d971c11c1.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-e62eebe78bd586c98c484bb32d5e9e216c08607f.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-e62eebe78bd586c98c484bb32d5e9e216c08607f.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-e798c7d6e7dd8eea2e5b6c8c395a5dcafc44bcc6.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-e798c7d6e7dd8eea2e5b6c8c395a5dcafc44bcc6.pack\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-eddc5710712c3a96490bedcfe2b35ed912072da7.idx\n<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-eddc5710712c3a96490bedcfe2b35ed912072da7.pack\ncd+++++++++ src/github.com/osism/release/.git/refs/\ncd+++++++++ src/github.com/osism/release/.git/refs/heads/\n<f+++++++++ src/github.com/osism/release/.git/refs/heads/main\ncd+++++++++ src/github.com/osism/release/.git/refs/remotes/\ncd+++++++++ src/github.com/osism/release/.git/refs/remotes/origin/\n<f+++++++++ src/github.com/osism/release/.git/refs/remotes/origin/main\ncd+++++++++ src/github.com/osism/release/.git/refs/zuul/\n<f+++++++++ src/github.com/osism/release/.git/refs/zuul/b28b7af69320201d1cf206ebf28373980add1451\n<f+++++++++ src/github.com/osism/release/.git/refs/zuul/fetch\ncd+++++++++ src/github.com/osism/release/.github/\n<f+++++++++ src/github.com/osism/release/.github/renovate.json\ncd+++++++++ src/github.com/osism/release/.github/workflows/\n<f+++++++++ src/github.com/osism/release/.github/workflows/add-to-project.yml\ncd+++++++++ src/github.com/osism/release/1.0.0/\n<f+++++++++ src/github.com/osism/release/1.0.0/base.yml\n<f+++++++++ src/github.com/osism/release/1.0.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/1.0.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/1.0.0/openstack-wallaby.yml\ncL+++++++++ src/github.com/osism/release/1.0.0/openstack.yml -> openstack-wallaby.yml\ncd+++++++++ src/github.com/osism/release/10.0.0/\n<f+++++++++ src/github.com/osism/release/10.0.0/base.yml\ncd+++++++++ src/github.com/osism/release/10.1.0/\n<f+++++++++ src/github.com/osism/release/10.1.0/base.yml\ncd+++++++++ src/github.com/osism/release/2.0.0/\n<f+++++++++ src/github.com/osism/release/2.0.0/base.yml\n<f+++++++++ src/github.com/osism/release/2.0.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/2.0.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/2.0.0/openstack-wallaby.yml\ncL+++++++++ src/github.com/osism/release/2.0.0/openstack.yml -> openstack-wallaby.yml\ncd+++++++++ src/github.com/osism/release/3.0.0/\n<f+++++++++ src/github.com/osism/release/3.0.0/base.yml\n<f+++++++++ src/github.com/osism/release/3.0.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/3.0.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/3.0.0/openstack-xena.yml\ncL+++++++++ src/github.com/osism/release/3.0.0/openstack.yml -> openstack-xena.yml\ncd+++++++++ src/github.com/osism/release/3.1.0/\n<f+++++++++ src/github.com/osism/release/3.1.0/base.yml\n<f+++++++++ src/github.com/osism/release/3.1.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/3.1.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/3.1.0/openstack-xena.yml\ncL+++++++++ src/github.com/osism/release/3.1.0/openstack.yml -> openstack-xena.yml\ncd+++++++++ src/github.com/osism/release/3.2.0/\n<f+++++++++ src/github.com/osism/release/3.2.0/base.yml\n<f+++++++++ src/github.com/osism/release/3.2.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/3.2.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/3.2.0/openstack-xena.yml\ncL+++++++++ src/github.com/osism/release/3.2.0/openstack.yml -> openstack-xena.yml\ncd+++++++++ src/github.com/osism/release/4.0.0/\n<f+++++++++ src/github.com/osism/release/4.0.0/base.yml\n<f+++++++++ src/github.com/osism/release/4.0.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/4.0.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/4.0.0/openstack-yoga.yml\ncL+++++++++ src/github.com/osism/release/4.0.0/openstack.yml -> openstack-yoga.yml\ncd+++++++++ src/github.com/osism/release/4.1.0/\n<f+++++++++ src/github.com/osism/release/4.1.0/base.yml\n<f+++++++++ src/github.com/osism/release/4.1.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/4.1.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/4.1.0/openstack-yoga.yml\ncL+++++++++ src/github.com/osism/release/4.1.0/openstack.yml -> openstack-yoga.yml\ncd+++++++++ src/github.com/osism/release/4.2.0/\n<f+++++++++ src/github.com/osism/release/4.2.0/base.yml\n<f+++++++++ src/github.com/osism/release/4.2.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/4.2.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/4.2.0/openstack-yoga.yml\ncL+++++++++ src/github.com/osism/release/4.2.0/openstack.yml -> openstack-yoga.yml\ncd+++++++++ src/github.com/osism/release/4.3.0/\n<f+++++++++ src/github.com/osism/release/4.3.0/base.yml\n<f+++++++++ src/github.com/osism/release/4.3.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/4.3.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/4.3.0/openstack-yoga.yml\ncL+++++++++ src/github.com/osism/release/4.3.0/openstack.yml -> openstack-yoga.yml\ncd+++++++++ src/github.com/osism/release/5.0.0/\n<f+++++++++ src/github.com/osism/release/5.0.0/base.yml\n<f+++++++++ src/github.com/osism/release/5.0.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/5.0.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/5.0.0/openstack-zed.yml\ncL+++++++++ src/github.com/osism/release/5.0.0/openstack.yml -> openstack-zed.yml\ncd+++++++++ src/github.com/osism/release/5.1.0/\n<f+++++++++ src/github.com/osism/release/5.1.0/base.yml\n<f+++++++++ src/github.com/osism/release/5.1.0/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/5.1.0/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/5.1.0/openstack-zed.yml\ncL+++++++++ src/github.com/osism/release/5.1.0/openstack.yml -> openstack-zed.yml\ncd+++++++++ src/github.com/osism/release/5.2.0/\n<f+++++++++ src/github.com/osism/release/5.2.0/base.yml\n<f+++++++++ src/github.com/osism/release/5.2.0/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/5.2.0/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/5.2.0/openstack-zed.yml\ncL+++++++++ src/github.com/osism/release/5.2.0/openstack.yml -> openstack-zed.yml\ncd+++++++++ src/github.com/osism/release/5.3.0/\n<f+++++++++ src/github.com/osism/release/5.3.0/base.yml\n<f+++++++++ src/github.com/osism/release/5.3.0/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/5.3.0/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/5.3.0/openstack-zed.yml\ncL+++++++++ src/github.com/osism/release/5.3.0/openstack.yml -> openstack-zed.yml\ncd+++++++++ src/github.com/osism/release/6.0.0/\n<f+++++++++ src/github.com/osism/release/6.0.0/base.yml\n<f+++++++++ src/github.com/osism/release/6.0.0/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/6.0.0/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/6.0.0/openstack-2023.1.yml\ncL+++++++++ src/github.com/osism/release/6.0.0/openstack.yml -> openstack-2023.1.yml\ncd+++++++++ src/github.com/osism/release/6.0.1/\n<f+++++++++ src/github.com/osism/release/6.0.1/base.yml\n<f+++++++++ src/github.com/osism/release/6.0.1/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/6.0.1/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/6.0.1/openstack-2023.1.yml\ncL+++++++++ src/github.com/osism/release/6.0.1/openstack.yml -> openstack-2023.1.yml\ncd+++++++++ src/github.com/osism/release/6.0.2/\n<f+++++++++ src/github.com/osism/release/6.0.2/base.yml\n<f+++++++++ src/github.com/osism/release/6.0.2/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/6.0.2/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/6.0.2/openstack-2023.1.yml\ncL+++++++++ src/github.com/osism/release/6.0.2/openstack.yml -> openstack-2023.1.yml\ncd+++++++++ src/github.com/osism/release/7.0.0/\n<f+++++++++ src/github.com/osism/release/7.0.0/base.yml\n<f+++++++++ src/github.com/osism/release/7.0.0/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.0.0/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.0.0/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.0.0/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/7.0.1/\n<f+++++++++ src/github.com/osism/release/7.0.1/base.yml\n<f+++++++++ src/github.com/osism/release/7.0.1/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.0.1/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.0.1/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.0.1/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/7.0.2/\n<f+++++++++ src/github.com/osism/release/7.0.2/base.yml\n<f+++++++++ src/github.com/osism/release/7.0.2/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.0.2/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.0.2/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.0.2/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/7.0.3/\n<f+++++++++ src/github.com/osism/release/7.0.3/base.yml\n<f+++++++++ src/github.com/osism/release/7.0.3/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.0.3/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.0.3/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.0.3/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/7.0.4/\n<f+++++++++ src/github.com/osism/release/7.0.4/base.yml\n<f+++++++++ src/github.com/osism/release/7.0.4/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.0.4/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.0.4/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.0.4/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/7.0.5/\n<f+++++++++ src/github.com/osism/release/7.0.5/base.yml\n<f+++++++++ src/github.com/osism/release/7.0.5/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.0.5/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.0.5/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.0.5/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/7.1.0/\n<f+++++++++ src/github.com/osism/release/7.1.0/base.yml\n<f+++++++++ src/github.com/osism/release/7.1.0/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.1.0/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.1.0/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.1.0/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/7.1.1/\n<f+++++++++ src/github.com/osism/release/7.1.1/base.yml\n<f+++++++++ src/github.com/osism/release/7.1.1/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.1.1/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.1.1/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.1.1/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/7.1.2/\n<f+++++++++ src/github.com/osism/release/7.1.2/base.yml\n<f+++++++++ src/github.com/osism/release/7.1.2/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.1.2/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.1.2/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.1.2/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/7.1.3/\n<f+++++++++ src/github.com/osism/release/7.1.3/base.yml\n<f+++++++++ src/github.com/osism/release/7.1.3/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/7.1.3/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/7.1.3/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/7.1.3/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/8.0.0/\n<f+++++++++ src/github.com/osism/release/8.0.0/base.yml\n<f+++++++++ src/github.com/osism/release/8.0.0/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/8.0.0/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/8.0.0/openstack-2024.1.yml\ncL+++++++++ src/github.com/osism/release/8.0.0/openstack.yml -> openstack-2024.1.yml\ncd+++++++++ src/github.com/osism/release/8.0.1/\n<f+++++++++ src/github.com/osism/release/8.0.1/base.yml\n<f+++++++++ src/github.com/osism/release/8.0.1/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/8.0.1/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/8.0.1/openstack-2024.1.yml\ncL+++++++++ src/github.com/osism/release/8.0.1/openstack.yml -> openstack-2024.1.yml\ncd+++++++++ src/github.com/osism/release/8.0.2/\n<f+++++++++ src/github.com/osism/release/8.0.2/base.yml\n<f+++++++++ src/github.com/osism/release/8.0.2/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/8.0.2/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/8.0.2/openstack-2024.1.yml\ncL+++++++++ src/github.com/osism/release/8.0.2/openstack.yml -> openstack-2024.1.yml\ncd+++++++++ src/github.com/osism/release/8.1.0/\n<f+++++++++ src/github.com/osism/release/8.1.0/base.yml\n<f+++++++++ src/github.com/osism/release/8.1.0/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/8.1.0/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/8.1.0/openstack-2024.1.yml\ncL+++++++++ src/github.com/osism/release/8.1.0/openstack.yml -> openstack-2024.1.yml\n<f+++++++++ src/github.com/osism/release/8.1.0/sbom-openstack-2024.1.yml\ncL+++++++++ src/github.com/osism/release/8.1.0/sbom-openstack.yml -> sbom-openstack-2024.1.yml\ncd+++++++++ src/github.com/osism/release/9.0.0/\n<f+++++++++ src/github.com/osism/release/9.0.0/base.yml\n<f+++++++++ src/github.com/osism/release/9.0.0/ceph-reef.yml\ncL+++++++++ src/github.com/osism/release/9.0.0/ceph.yml -> ceph-reef.yml\n<f+++++++++ src/github.com/osism/release/9.0.0/openstack-2024.2.yml\ncL+++++++++ src/github.com/osism/release/9.0.0/openstack.yml -> openstack-2024.2.yml\n<f+++++++++ src/github.com/osism/release/9.0.0/sbom-openstack-2024.2.yml\ncL+++++++++ src/github.com/osism/release/9.0.0/sbom-openstack.yml -> sbom-openstack-2024.2.yml\ncd+++++++++ src/github.com/osism/release/9.1.0/\n<f+++++++++ src/github.com/osism/release/9.1.0/base.yml\ncd+++++++++ src/github.com/osism/release/9.2.0/\n<f+++++++++ src/github.com/osism/release/9.2.0/base.yml\ncd+++++++++ src/github.com/osism/release/9.3.0/\n<f+++++++++ src/github.com/osism/release/9.3.0/base.yml\ncd+++++++++ src/github.com/osism/release/9.3.1/\n<f+++++++++ src/github.com/osism/release/9.3.1/base.yml\ncd+++++++++ src/github.com/osism/release/9.4.0/\n<f+++++++++ src/github.com/osism/release/9.4.0/base.yml\ncd+++++++++ src/github.com/osism/release/9.5.0/\n<f+++++++++ src/github.com/osism/release/9.5.0/base.yml\ncd+++++++++ src/github.com/osism/release/archive/\n<f+++++++++ src/github.com/osism/release/archive/ok-20171004-0.yml\n<f+++++++++ src/github.com/osism/release/archive/ok-20171013-0.yml\n<f+++++++++ src/github.com/osism/release/archive/ol-20171013-0.yml\ncd+++++++++ src/github.com/osism/release/archive/10.0.0-rc.1/\n<f+++++++++ src/github.com/osism/release/archive/10.0.0-rc.1/base.yml\ncd+++++++++ src/github.com/osism/release/archive/10.0.0-rc.2/\n<f+++++++++ src/github.com/osism/release/archive/10.0.0-rc.2/base.yml\ncd+++++++++ src/github.com/osism/release/archive/20171120-0/\n<f+++++++++ src/github.com/osism/release/archive/20171120-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20171120-0/ceph-kraken.yml\n<f+++++++++ src/github.com/osism/release/archive/20171120-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20171120-0/openstack-ocata.yml\ncd+++++++++ src/github.com/osism/release/archive/20180103-0/\n<f+++++++++ src/github.com/osism/release/archive/20180103-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20180103-0/ceph-kraken.yml\n<f+++++++++ src/github.com/osism/release/archive/20180103-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20180103-0/openstack-ocata.yml\ncd+++++++++ src/github.com/osism/release/archive/20180212-0/\n<f+++++++++ src/github.com/osism/release/archive/20180212-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20180212-0/ceph-kraken.yml\n<f+++++++++ src/github.com/osism/release/archive/20180212-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20180212-0/openstack-ocata.yml\ncd+++++++++ src/github.com/osism/release/archive/20180213-0/\n<f+++++++++ src/github.com/osism/release/archive/20180213-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20180213-0/ceph-kraken.yml\n<f+++++++++ src/github.com/osism/release/archive/20180213-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20180213-0/openstack-ocata.yml\n<f+++++++++ src/github.com/osism/release/archive/20180213-0/openstack-pike.yml\ncd+++++++++ src/github.com/osism/release/archive/20180306-0/\n<f+++++++++ src/github.com/osism/release/archive/20180306-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20180306-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20180306-0/openstack-ocata.yml\n<f+++++++++ src/github.com/osism/release/archive/20180306-0/openstack-pike.yml\ncd+++++++++ src/github.com/osism/release/archive/20180806-0/\n<f+++++++++ src/github.com/osism/release/archive/20180806-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20180806-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20180806-0/openstack-ocata.yml\n<f+++++++++ src/github.com/osism/release/archive/20180806-0/openstack-pike.yml\ncd+++++++++ src/github.com/osism/release/archive/20180807-0/\n<f+++++++++ src/github.com/osism/release/archive/20180807-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20180807-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20180807-0/openstack-ocata.yml\n<f+++++++++ src/github.com/osism/release/archive/20180807-0/openstack-pike.yml\ncd+++++++++ src/github.com/osism/release/archive/20181001-0/\n<f+++++++++ src/github.com/osism/release/archive/20181001-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20181001-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20181001-0/openstack-pike.yml\n<f+++++++++ src/github.com/osism/release/archive/20181001-0/openstack-queens.yml\ncd+++++++++ src/github.com/osism/release/archive/20181015-0/\n<f+++++++++ src/github.com/osism/release/archive/20181015-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20181015-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20181015-0/openstack-pike.yml\n<f+++++++++ src/github.com/osism/release/archive/20181015-0/openstack-queens.yml\ncd+++++++++ src/github.com/osism/release/archive/20181101-0/\n<f+++++++++ src/github.com/osism/release/archive/20181101-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20181101-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20181101-0/openstack-pike.yml\n<f+++++++++ src/github.com/osism/release/archive/20181101-0/openstack-queens.yml\ncd+++++++++ src/github.com/osism/release/archive/20181201-0/\n<f+++++++++ src/github.com/osism/release/archive/20181201-0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/20181201-0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/20181201-0/openstack-pike.yml\n<f+++++++++ src/github.com/osism/release/archive/20181201-0/openstack-queens.yml\ncd+++++++++ src/github.com/osism/release/archive/2019.1.0/\n<f+++++++++ src/github.com/osism/release/archive/2019.1.0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.1.0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.1.0/openstack-queens.yml\ncd+++++++++ src/github.com/osism/release/archive/2019.2.0/\n<f+++++++++ src/github.com/osism/release/archive/2019.2.0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.2.0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.2.0/openstack-queens.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.2.0/openstack-rocky.yml\ncd+++++++++ src/github.com/osism/release/archive/2019.3.0/\n<f+++++++++ src/github.com/osism/release/archive/2019.3.0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.3.0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.3.0/openstack-queens.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.3.0/openstack-rocky.yml\ncd+++++++++ src/github.com/osism/release/archive/2019.4.0/\n<f+++++++++ src/github.com/osism/release/archive/2019.4.0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.4.0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.4.0/openstack-queens.yml\n<f+++++++++ src/github.com/osism/release/archive/2019.4.0/openstack-rocky.yml\ncd+++++++++ src/github.com/osism/release/archive/2020.1.0/\n<f+++++++++ src/github.com/osism/release/archive/2020.1.0/base.yml\n<f+++++++++ src/github.com/osism/release/archive/2020.1.0/ceph-luminous.yml\n<f+++++++++ src/github.com/osism/release/archive/2020.1.0/ceph-nautilus.yml\n<f+++++++++ src/github.com/osism/release/archive/2020.1.0/openstack-rocky.yml\n<f+++++++++ src/github.com/osism/release/archive/2020.1.0/openstack-train.yml\ncd+++++++++ src/github.com/osism/release/archive/4.0.0a/\n<f+++++++++ src/github.com/osism/release/archive/4.0.0a/base.yml\n<f+++++++++ src/github.com/osism/release/archive/4.0.0a/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/archive/4.0.0a/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/archive/4.0.0a/openstack-yoga.yml\ncL+++++++++ src/github.com/osism/release/archive/4.0.0a/openstack.yml -> openstack-yoga.yml\ncd+++++++++ src/github.com/osism/release/archive/4.0.0b/\n<f+++++++++ src/github.com/osism/release/archive/4.0.0b/base.yml\n<f+++++++++ src/github.com/osism/release/archive/4.0.0b/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/archive/4.0.0b/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/archive/4.0.0b/openstack-yoga.yml\ncL+++++++++ src/github.com/osism/release/archive/4.0.0b/openstack.yml -> openstack-yoga.yml\ncd+++++++++ src/github.com/osism/release/archive/5.0.0a/\n<f+++++++++ src/github.com/osism/release/archive/5.0.0a/base.yml\n<f+++++++++ src/github.com/osism/release/archive/5.0.0a/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/archive/5.0.0a/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/archive/5.0.0a/openstack-zed.yml\ncL+++++++++ src/github.com/osism/release/archive/5.0.0a/openstack.yml -> openstack-zed.yml\ncd+++++++++ src/github.com/osism/release/archive/5.0.0b/\n<f+++++++++ src/github.com/osism/release/archive/5.0.0b/base.yml\n<f+++++++++ src/github.com/osism/release/archive/5.0.0b/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/archive/5.0.0b/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/archive/5.0.0b/openstack-zed.yml\ncL+++++++++ src/github.com/osism/release/archive/5.0.0b/openstack.yml -> openstack-zed.yml\ncd+++++++++ src/github.com/osism/release/archive/5.0.0c/\n<f+++++++++ src/github.com/osism/release/archive/5.0.0c/base.yml\n<f+++++++++ src/github.com/osism/release/archive/5.0.0c/ceph-pacific.yml\ncL+++++++++ src/github.com/osism/release/archive/5.0.0c/ceph.yml -> ceph-pacific.yml\n<f+++++++++ src/github.com/osism/release/archive/5.0.0c/openstack-zed.yml\ncL+++++++++ src/github.com/osism/release/archive/5.0.0c/openstack.yml -> openstack-zed.yml\ncd+++++++++ src/github.com/osism/release/archive/6.0.0a/\n<f+++++++++ src/github.com/osism/release/archive/6.0.0a/base.yml\n<f+++++++++ src/github.com/osism/release/archive/6.0.0a/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/archive/6.0.0a/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/archive/6.0.0a/openstack-2023.1.yml\ncL+++++++++ src/github.com/osism/release/archive/6.0.0a/openstack.yml -> openstack-2023.1.yml\ncd+++++++++ src/github.com/osism/release/archive/6.0.0b/\n<f+++++++++ src/github.com/osism/release/archive/6.0.0b/base.yml\n<f+++++++++ src/github.com/osism/release/archive/6.0.0b/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/archive/6.0.0b/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/archive/6.0.0b/openstack-2023.1.yml\ncL+++++++++ src/github.com/osism/release/archive/6.0.0b/openstack.yml -> openstack-2023.1.yml\ncd+++++++++ src/github.com/osism/release/archive/7.0.0a/\n<f+++++++++ src/github.com/osism/release/archive/7.0.0a/base.yml\n<f+++++++++ src/github.com/osism/release/archive/7.0.0a/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/archive/7.0.0a/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/archive/7.0.0a/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/archive/7.0.0a/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/archive/7.0.0b/\n<f+++++++++ src/github.com/osism/release/archive/7.0.0b/base.yml\n<f+++++++++ src/github.com/osism/release/archive/7.0.0b/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/archive/7.0.0b/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/archive/7.0.0b/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/archive/7.0.0b/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/archive/7.0.0c/\n<f+++++++++ src/github.com/osism/release/archive/7.0.0c/base.yml\n<f+++++++++ src/github.com/osism/release/archive/7.0.0c/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/archive/7.0.0c/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/archive/7.0.0c/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/archive/7.0.0c/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/archive/7.0.0d/\n<f+++++++++ src/github.com/osism/release/archive/7.0.0d/base.yml\n<f+++++++++ src/github.com/osism/release/archive/7.0.0d/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/archive/7.0.0d/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/archive/7.0.0d/openstack-2023.2.yml\ncL+++++++++ src/github.com/osism/release/archive/7.0.0d/openstack.yml -> openstack-2023.2.yml\ncd+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/\n<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/base.yml\n<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/openstack-2024.1.yml\ncL+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/openstack.yml -> openstack-2024.1.yml\ncd+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/\n<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/base.yml\n<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/ceph-quincy.yml\ncL+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/ceph.yml -> ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/openstack-2024.1.yml\ncL+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/openstack.yml -> openstack-2024.1.yml\ncd+++++++++ src/github.com/osism/release/docs/\n<f+++++++++ src/github.com/osism/release/docs/check-drift-image.md\n<f+++++++++ src/github.com/osism/release/docs/check-drift-kolla.md\ncd+++++++++ src/github.com/osism/release/etc/\n<f+++++++++ src/github.com/osism/release/etc/collections.yml\n<f+++++++++ src/github.com/osism/release/etc/images.yml\n<f+++++++++ src/github.com/osism/release/etc/other.yml\n<f+++++++++ src/github.com/osism/release/etc/roles-manager.yml\n<f+++++++++ src/github.com/osism/release/etc/roles.yml\ncd+++++++++ src/github.com/osism/release/latest/\n<f+++++++++ src/github.com/osism/release/latest/base.yml\n<f+++++++++ src/github.com/osism/release/latest/ceph-quincy.yml\n<f+++++++++ src/github.com/osism/release/latest/ceph-reef.yml\n<f+++++++++ src/github.com/osism/release/latest/ceph-squid.yml\ncL+++++++++ src/github.com/osism/release/latest/ceph.yml -> ceph-reef.yml\n<f+++++++++ src/github.com/osism/release/latest/openstack-2024.1.yml\n<f+++++++++ src/github.com/osism/release/latest/openstack-2024.2.yml\n<f+++++++++ src/github.com/osism/release/latest/openstack-2025.1.yml\n<f+++++++++ src/github.com/osism/release/latest/openstack-2025.2.yml\ncL+++++++++ src/github.com/osism/release/latest/openstack.yml -> openstack-2025.1.yml\ncd+++++++++ src/github.com/osism/release/next/\n<f+++++++++ src/github.com/osism/release/next/kolla-ansible-v0.20250920.0.yml\n<f+++++++++ src/github.com/osism/release/next/kolla-ansible-v0.20260129.0.yml\n<f+++++++++ src/github.com/osism/release/next/kolla-v0.20250725.0.yml\ncd+++++++++ src/github.com/osism/release/scripts/\n<f+++++++++ src/github.com/osism/release/scripts/create-tags.sh\n<f+++++++++ src/github.com/osism/release/scripts/generate-changelog-input.sh\ncd+++++++++ src/github.com/osism/release/src/\n<f+++++++++ src/github.com/osism/release/src/check-drift.py\n<f+++++++++ src/github.com/osism/release/src/create-version.py\n<f+++++++++ src/github.com/osism/release/src/drift-allowlist.yml\n<f+++++++++ src/github.com/osism/release/src/drift-config.yml\n<f+++++++++ src/github.com/osism/release/src/git-diff-log.py\n<f+++++++++ src/github.com/osism/release/src/remove-images-from-quay.py\ncd+++++++++ src/github.com/osism/release/src/osism_drift/\n<f+++++++++ src/github.com/osism/release/src/osism_drift/__init__.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/archive.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/config.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/demo.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/driver.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/enablement.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/http.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/inventory_sections.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/kolla_docker.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/manager.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/manager_template.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/model.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/override_template.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/release.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/report.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/role_defaults.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/role_scan.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/sbom_map.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/secrets_map.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/source.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/versions_template.py\ncd+++++++++ src/github.com/osism/release/src/osism_drift/drift/\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/__init__.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/image_orphan.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_enablement_build.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_enablement_orphan.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_groupvars_missing.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_image_orphan.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_inventory.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_mirror_verbatim.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_orphan_config.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_secrets_orphan.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_version_chain_inner.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_version_chain_upstream.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/plugin.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/release_vs_manager.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/role_shadows.py\n<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/role_unpinned.py\ncd+++++++++ src/github.com/osism/release/tests/\n<f+++++++++ src/github.com/osism/release/tests/test_driver_groups.py\ncd+++++++++ src/github.com/osism/release/tests/image_drift/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/__init__.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/conftest.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_demo.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_driver.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_image_orphan.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_manager_parser.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_manager_template_parser.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_override_template_parser.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_plugin_registry.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_release_parser.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_release_vs_manager.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_report.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_role_defaults_parser.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_role_shadows.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_role_unpinned.py\n<f+++++++++ src/github.com/osism/release/tests/image_drift/test_source_list_tree.py\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/adminer/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/adminer/defaults/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/adminer/defaults/main.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ceph_ansible/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ceph_ansible/defaults/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ceph_ansible/defaults/main.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ciinternal/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ciinternal/defaults/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ciinternal/defaults/main.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/floatdemo/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/floatdemo/defaults/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/floatdemo/defaults/main.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/manager/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/manager/defaults/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/manager/defaults/main.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/netbox/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/netbox/defaults/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/netbox/defaults/main.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/streamdemo/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/streamdemo/defaults/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/streamdemo/defaults/main.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/widget/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/widget/defaults/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/widget/defaults/main.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-playbooks-manager/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-playbooks-manager/playbooks/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-playbooks-manager/playbooks/pull.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/files/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/files/src/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/files/src/templates/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/files/src/templates/images.yml.j2\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/generics/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/generics/environments/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/generics/environments/manager/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/generics/environments/manager/images.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/release/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/release/latest/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/release/latest/base.yml\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/testbed/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/testbed/environments/\ncd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/testbed/environments/manager/\n<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/testbed/environments/manager/images.yml\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/__init__.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/conftest.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_archive.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_config.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_dir_helpers.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_driver.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_driver_stale.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_enablement.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_enablement_values.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_inventory_sections.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_docker.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_enablement_build.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_enablement_orphan.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_groupvars_missing.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_image_orphan.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_inventory.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_mirror_verbatim.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_orphan_config.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_secrets_orphan.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_version_chain_inner.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_version_chain_upstream.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_model.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_plugin_registry.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_report.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_sbom_map.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_secrets_map.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_source.py\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_versions_template.py\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/environments/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/environments/kolla/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/environments/kolla/secrets.yml.A\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/environments/kolla/secrets.yml.B\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/files/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/files/src/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/files/src/templates/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/files/src/templates/versions.yml.j2\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-images-kolla/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-images-kolla/src/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-images-kolla/src/tag-images-with-the-version.py\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/defaults/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/defaults/all/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/defaults/all/050-images.yml\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/defaults/all/099-kolla.yml\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/generics/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/generics/inventory/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/generics/inventory/50-kolla\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/generics/inventory/51-kolla\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla-ansible/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla-ansible/ansible/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla-ansible/ansible/inventory/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla-ansible/ansible/inventory/multinode\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/macros.j2\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/foo/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/foo/.gitkeep\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/ignored-svc/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/ignored-svc/.gitkeep\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/newsvc/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/newsvc/.gitkeep\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/off/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/off/.gitkeep\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/present_a/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/present_a/.gitkeep\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/release/\ncd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/release/latest/\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/release/latest/openstack-A.yml\n<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/release/latest/openstack-B.yml\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ src/",
                                "cd+++++++++ src/github.com/",
                                "cd+++++++++ src/github.com/osism/",
                                "cd+++++++++ src/github.com/osism/release/",
                                "<f+++++++++ src/github.com/osism/release/.flake8",
                                "<f+++++++++ src/github.com/osism/release/.gitignore",
                                "<f+++++++++ src/github.com/osism/release/.yamllint.yml",
                                "<f+++++++++ src/github.com/osism/release/.zuul.yaml",
                                "<f+++++++++ src/github.com/osism/release/LICENSE",
                                "<f+++++++++ src/github.com/osism/release/README.md",
                                "<f+++++++++ src/github.com/osism/release/requirements.txt",
                                "<f+++++++++ src/github.com/osism/release/tox.ini",
                                "cd+++++++++ src/github.com/osism/release/.git/",
                                "<f+++++++++ src/github.com/osism/release/.git/COMMIT_EDITMSG",
                                "<f+++++++++ src/github.com/osism/release/.git/FETCH_HEAD",
                                "<f+++++++++ src/github.com/osism/release/.git/HEAD",
                                "<f+++++++++ src/github.com/osism/release/.git/ORIG_HEAD",
                                "<f+++++++++ src/github.com/osism/release/.git/config",
                                "<f+++++++++ src/github.com/osism/release/.git/config.worktree",
                                "<f+++++++++ src/github.com/osism/release/.git/description",
                                "<f+++++++++ src/github.com/osism/release/.git/index",
                                "<f+++++++++ src/github.com/osism/release/.git/packed-refs",
                                "cd+++++++++ src/github.com/osism/release/.git/branches/",
                                "cd+++++++++ src/github.com/osism/release/.git/hooks/",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/applypatch-msg.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/commit-msg.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/fsmonitor-watchman.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/post-update.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/pre-applypatch.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/pre-commit.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/pre-merge-commit.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/pre-push.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/pre-rebase.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/pre-receive.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/prepare-commit-msg.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/push-to-checkout.sample",
                                "<f+++++++++ src/github.com/osism/release/.git/hooks/update.sample",
                                "cd+++++++++ src/github.com/osism/release/.git/info/",
                                "<f+++++++++ src/github.com/osism/release/.git/info/exclude",
                                "cd+++++++++ src/github.com/osism/release/.git/logs/",
                                "<f+++++++++ src/github.com/osism/release/.git/logs/HEAD",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/00/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/00/5eb97d1711d3ab42c2c601072e7cc623f9b4be",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/00/926ec5675471dc5899d1ae22ec201f3781cc5b",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/00/d92d64b09dce292271765a55ff3c6355a3d711",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/01/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/01/d677e9cabfd31f6319540d93347853ca7fdac9",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/02/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/02/6aea0efa956c2da0b3cc14145a707f8a8b6dc2",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/02/95ff5183dbdcc0d07ed424dacfb75ac0153e61",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/03/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/03/174fdd17063e768e3618735e40a58227ff3949",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/03/4f696ef235057c0a7eceb771f793894c1d3b1b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/04/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/04/e6ebf82ff5595fd3d5bc2ba0c51dd8b718848c",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/05/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/05/df7c4b97263fa2117e1cbf4a405b3ae6d55754",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/06/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/06/4903a2f2103c6ccb272a894b8a64384e9ca546",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/06/ef1b6aaf724c9545958039b7436b9263311860",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/07/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/07/1a077c425bea6471878c2e85d9f7ef60157983",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/08/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/08/01ff7b18e0c9023449a02255e2d6010b702a8e",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/08/9595b307974c119e5eb36b39c657736b9fbb92",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/0a/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/0a/1b06a2a97a27e303b06a1ae7831b66b315e6c8",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/0a/4218b35d3f85aa03080fb3eb3cd4d2b20f2a00",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/0a/80d870855287393b3c7fca689c36ca187d1e74",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/0a/cf35d27e7cf13d02e953d428029fa986a54348",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/0c/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/0c/1baec65d2268decdba74b0d90a6ed98a4f5e64",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/0c/741a639120184740228f83100dbca281b10d15",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/0e/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/0e/900306c6b0c97fcf9b8f8aeaec10557852e472",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/0e/b6e00ffbcd3f82dee8de0906125fecb70b3361",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/10/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/10/499c8bf032046399196b72c9df4c08df8c639e",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/10/4bbf4d9d1053c0e48fe3000f15c4de829f35f8",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/11/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/11/16f7da4658b072e16b6081ea4e8e3fb4b4f116",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/11/63b9aec53e7536743d3cf1176cacf83056e9f6",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/12/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/12/60780bc00424d8adbb493df015669a5cd9803b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/14/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/14/7f9dd0e770cdaaa0af4dade4d080557ffb2b08",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/16/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/16/b30e38d81113163a315fa354891c898d0f8f42",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/17/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/17/3681ffe2142c63b9e614e649da6c586a88bfe5",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/18/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/18/510e2764570944bc04823538bf1672e902add1",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/18/6aabdd031edcb89a4a34a7ba31261a01c2a621",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/1c/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/1c/17d36eb7533af7c5dabcb4043f8f774cdffb24",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/1c/678aea2bc67ab209029cbe869a3ecd5e95dd61",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/1c/e05cbac1e328e9f7be8e2f519b9f03e438e78c",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/1e/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/1e/8b716a4a561e77876195a85e4bedfbab84079f",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/1f/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/1f/ce1edf86174693cdb484abbcd83c64c0e2f99a",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/20/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/20/0ac4a64bad0d92e6f8cdf932e2513d59c6322e",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/20/24d97223daa2622477c4c509c92f48bd275ae0",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/20/e177ad4ad8272ade6579af8fa12f7c567e62c9",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/21/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/21/b36094d13fa8639629b69060a3d2a2389ed4b1",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/21/f320b8f15a878a78580ac17b73d9be288a8c27",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/22/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/22/40707c7e2463208f521ff7c36240e99f6211c8",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/23/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/23/00c7388af2eb8479731ff14ccf8089472303a3",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/23/3740602d37535c4c15d6cb721f0cc7f5c045cf",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/23/8a60c6738479602a1fb6eb28daf0e3381733a1",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/24/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/24/5d5b618dda11542a45dd41452b00a04c4a4734",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/25/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/25/fd72b5e68175b76e94b91cb21261b1022ef265",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/27/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/27/09fa9e4f0261039f35d99427b5a227bc326ce4",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/27/69c836ba64ca6383b754c351c19ac4ff8119cc",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/27/75eff3367283e378e40dad761bb3ce18a41fc0",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/27/c780b857fde33425e96a999a51a4020ac86cb9",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/27/f2ace730d5ac21db627da30bbdef16b8f6b69b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/28/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/28/8fe93f929978287e5bdcce9566d737973bdda1",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/29/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/29/40ca79902a4f0f737cd551dac6403554ba78a2",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/2a/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2a/1c85a104ecef7e2fedd44a43ad98dd95ae50c2",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2a/2f97fa749336b72edd9db7ec72fe70e3113d3e",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2a/aecc1a2cbafb51f68b4ff94ea5983b4a7c2e21",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2a/f41561fdbf57c1da4f4d4112c13115bee9b5e9",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/2b/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2b/35bd14c0e7c6997d711afd96c8619256d3559b",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2b/989865c02dad2b2ef4f5a0c9309eabf44c3a2c",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2b/d14f7467f4764e7fe1114490f197fad54badfc",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/2c/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2c/5ebba673c58c3a5435b1940e00ea01874f1063",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/2d/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2d/29a7b8dbdd2b42adabd2bdb894835bec8a6bf3",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/2e/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2e/a49002db3721f30d436f32b2592df00112e017",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2e/bac7e7ca2def3f5640ac57f7d48c42a1f47f2d",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2e/f39a36ca21a8d8a831eaac9b77cf356bf95208",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/2f/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/2f/6256b27eaa53c542b99775f07f6169741be4e6",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/30/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/30/10b1611874628da6337229c15d66e67b9ead53",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/30/2a1d644b697588030a9d19107560a9bbdeb918",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/30/9d866dc0367f18bf9ec39b6b9815ae28274c8d",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/32/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/32/56960068ede7b5ba0f9c7b5a6104c2b042867b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/33/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/33/a8a418ad4f5b1473e02a9aec5d3102b59ccbcc",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/35/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/35/7dd3f1e84a283e39dfa8a942b26065064eb5eb",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/37/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/37/f04352f3b064cd153ea33b903fed443895f73e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/38/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/38/42c8ef0281fa77d4a4b64f488eedb726867bb6",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/38/f6840b4f59d620b82c5a2007c4baa05c485bcf",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/39/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/39/9c1e54839c4e3ec89a6938d3b76d0d9856636d",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/3a/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/3a/269db7345552e8b6b22e015760232bf857256c",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/3a/58ceec735eecd3bb2414d235cec9d185a25200",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/3b/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/3b/82967ef8b1fc6ad161b5eb965c77814f4cdeff",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/3c/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/3c/9a44b7c2d1f84a9247ed5d33109e70fce5e323",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/3d/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/3d/0888d8c4a38d13b790d99176295d2777e50be5",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/3e/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/3e/c3312f7157629641e615de61658677c851b7c3",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/3f/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/3f/c4e7d8e9cb32126f724e040456a68378dea139",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/40/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/40/7235a9eb3353dc26fbe7d1c8c57d03e1b136bc",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/41/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/41/60b2b9ad19b765b63d5c5759183051474c9624",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/43/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/43/f85008d782900055fa62a4451a50d7e219939f",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/44/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/44/d740bd70872a7f39eab18b258266185cb69733",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/46/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/46/4813871d9460aef74984198be200ac9b8ee1db",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/46/81df4398ea05518d06acbf04067711b4457908",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/46/dc113b997e7616c226fd5ddfa32eea4dcc16b4",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/47/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/47/b5e41a8953ae3aaf5545d489fa9431c02b04f3",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/49/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/49/b6d24488d5829afbee05eb552da962456b80fb",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/4a/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4a/0ae53668977f6e72eff8ca29793d8d631a745e",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4a/b7d0cc09f70c9e277c057f4d97c0cdfea390ea",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/4b/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4b/33fff773b0d30cc57887dbea72386de00c3dd1",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/4c/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4c/9d8fe11a1226bcfd9a3b8b5c5b385b6348a5d1",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/4d/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4d/1a017608a9e4b4ab7afb6f26184a53e50dd398",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4d/3049c544d0b8cdcc0ff45885d18693411ee175",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4d/f6ab8c478bc515d3427a2a4b97afbe0307e74f",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/4e/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4e/06074ba0b1d13c11c9907a80011261ad86f278",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4e/15fc79fe9d7282397a6ae1e74c0c3bb48f95d3",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4e/205baad69865e58ad9aad888df646798f97404",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4e/b502e84f898d93eefecf4b90df552b355774c0",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/4f/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/4f/69da2aaf48fa6f2ac21f2d03954b9133d23342",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/50/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/50/b19dede31c7914efd1360d884d3739da01270b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/51/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/51/859039c894eeda1fbbfa4f8fe481a98ad72f52",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/51/d5562552911013df0a02dc4e8a6749898f212d",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/51/d5ed700ea24e1ea62e2e23b032cbb9ccf04ae2",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/52/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/52/59dfe7329f7eb7a919c93b7f9eb30100196534",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/53/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/53/2c0ea506fd33b60653145b2eec9d77549fcffd",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/54/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/54/00ab7d386e2e9d549ada434710e5e03d2eb7b7",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/54/d5eb3f762b499b512de19252864f349462b902",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/55/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/55/0e5bc9b4c33488f276b920dc84ea21fa356af2",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/58/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/58/27882a1718adff306884bb234df452c1911858",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/58/b64d4ed0011d84ea38d7523b1dd21b7b9345ea",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/58/e73a507d84a8c696a328dc9d9a2137a247a84e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/59/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/59/1e96a10f125b42d06a236f2b367bd05098a14b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/5a/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5a/081510862736ebca2875c0ba06f676379bf9d5",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5a/2ff96538f7c053b2d18fc215a5098459beb2e7",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5a/432aeb177ff5196ac8cf6e137b16f0465aeebb",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5a/461f298510080486866e75889c79f62461e97a",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5a/771d3e0f4f55d1317bd1c72d58757e08a1ad98",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/5b/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5b/14e71f868401cbe3115e39fad7b3eef5fe2aa7",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5b/e0e135d9adec64102c9dcce1e90cf25de58124",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/5c/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5c/45ad9dc7219f18e1235b4b965935774819b65e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/5d/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5d/0384332a356ba6a7c34f18654c8bb5f76c9722",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5d/5a0d6ea32a2f576d64a118271b5e6562e2b342",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5d/744041a17d475e43cce40e4ecda124bbf3d9ef",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/5e/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5e/03dd1ee81bf18dd3a3721b82b69dd6cd15f0a6",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/5e/496fce174fbd249839356b622f74f0915bc838",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/61/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/61/05990bddcbea5d0e7e4b5261e7b77bfa2bac4d",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/61/ddae32c73eaa4391d666db4379467702eaa1e4",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/63/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/63/050c8bca63e283c0db5653712cbee9d3a5b4a1",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/63/25bed5ff8c5e15dcbdc23b042672eff37bb029",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/63/2c5af8553c3a1c774a6ae01cd552de4b60f68a",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/63/3ac6e624816681e51a7d42048c274a393362a2",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/63/e28ad5f5c994c7a064fd4bc1b3f8ed708fa2d0",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/65/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/65/d884910b2f85352001fbb56e7e023b65e0ba8a",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/65/ea4218d2bc72471671b0c7be6a736b611899d5",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/67/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/67/28e9ce565a79fca468a1f2289a061f28fcc4d3",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/67/710ff5eab08f1ed052288ebc8e40b4c124fec6",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/68/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/68/85bcf470428869d04be799fc08f8150669f61e",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/68/be65e6a8ad73071870f45973a0edc455a65101",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/69/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/69/809545ca692c7bc0203fbcd74b1d18e7d3197b",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/69/d2fe5660db568ce0f34edf5613326ab1dca162",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/6a/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/6a/8ddb25f9182f0b05c5c668ea728299ffe8c3b4",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/6a/d7bbe0b984fe0913d342a62db0736840ed43b3",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/6a/e1b4b6e0e93997112069ec01ade0dd53578b55",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/6a/ef791abd02c4e4a16738a550ca8366518e3462",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/6b/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/6b/680c92f9eaf9868c1b61649206fcbf9bc90c1a",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/6c/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/6c/3a5183955a6f54a4c0d1a645467540710548d0",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/6c/da236dd06cf898c32ede606a049002bd881d59",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/6e/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/6e/73a54df9dcf5f724c518d4e5a2c4d4a86cfc7a",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/6f/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/6f/bd76de249aaa88987881c9d68963eb7a62542b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/72/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/72/afd9edb28b95460d7adae56d1814dfd227e3af",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/73/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/73/42a7680a30759d4284b3fefbb7202aab8f180e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/74/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/74/041bd9b4aff264e85c6f7cb252c1cfb816caa0",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/74/cdd6f090cc4e2dede77e95eaf2bb27fbcf487f",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/74/f2de63bf96c379dbdbb5a7fa0ac06388b9434d",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/75/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/75/153307be83661c97b7be701027bde2618af21a",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/76/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/76/249884d29824869d2037bce8409c6a4ddc4e40",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/76/943e0d7c402a614acbdf26e8e011a46c174f74",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/76/cb57957bd0d3cd5c34b772845053be2bfec9f2",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/76/e5fd06d050ff6c31416d4106a708c3bc9dd420",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/78/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/78/4347691613ac8109992c62f99c0505b6ba7e63",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/79/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/79/85f292f51288e5fff26841397f3574164fa2aa",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/7a/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/7a/109f132ccd2f7b75d4ac29cbe1c6b4a87c8ac4",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/7a/f419041882a52d855ef750931b2ab17328bd4f",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/7d/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/7d/06e21aa4cf005013b0296d7c1caf0a38cf62f1",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/7d/7635e180ba48484da63b1133f18584ce7cded2",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/7f/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/7f/3f6f0a5b32989188fe50057efd170b823b7f54",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/7f/4b521fe08d0ff6720902e0f3d7c46ee66edde0",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/80/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/80/d2574448f5253d87956b30308804ded93e0b73",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/81/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/81/1ec11889ceddb07505a078fa2be2a401a6631e",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/81/d4893984b85cf104dc8ec887af9f884f6ee09c",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/82/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/82/80205aa6eb0c6d8ba08b2e4d6d6e9e4ba30821",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/82/981be202030f6107d804eeafa42a9ed3c760f8",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/84/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/84/f5c6a907b7988074ff342084783382564f0f04",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/85/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/85/9d07356c1af780d1e68860dc984802a66fcd38",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/86/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/86/594e064e817b4a8ff2c98fd706d657733e0b3e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/87/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/87/255382fc0d07cd9c349c90c9a24179a63aa3c2",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/87/37353d2fd85bd013576600b1a1a73e5d0280f1",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/87/78ca6418a9b3ccc8429e70bd1276ae6bccaeea",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/88/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/88/aca133cb00cfc67c17368d19cdd06bdb33a828",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/88/c43da20d8696cb225838c1d3deed054e821ad6",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/89/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/89/78cbd2573f39023565db6b916b62e914629766",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/89/cc86262d49fd624db45a90e8e47237ef411734",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/8a/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/8a/51c833c9805ee01ed57d9a73f5dc6cdbfc140a",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/8b/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/8b/643b9d84163ac5e0e88f919495335f9bbb5653",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/8d/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/8d/6c45de271b1411636e635131ec8d2e8ef631cd",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/8e/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/8e/366765825ca8655bb556b0c88f65b8741c380e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/8f/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/8f/bcd5cafa93768670f00db8f53e25d766419536",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/92/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/92/6d57beaf001d5a9d9493b6e20be7a3279401a1",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/92/dee83a2ce58e98383913bad6455d4a94a49a59",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/95/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/95/e5a79270eb91d8cd784644acc75a871ba46ede",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/97/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/97/3f7d8847934cf7f2e091a9669dd71590a4e248",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/97/9c3314a708a9601b35e53c89d6654c251083c4",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/97/a6e938da171a64b92207947db200b2e7c8fd62",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/99/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/99/7932077e9455094dca5717bb22f358ec1ad3ad",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/99/8e19b6afea54e0f64baec12d0762a5b6e8c1f8",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/99/c891c7c97710fc8f2396e5a064c11c8ba9d025",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/9c/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/9c/7c78b99c5f6c5812aa1a2b4dc1ce5b8075a1fa",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/9d/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/9d/4131cf3022a6647ad8bde6818821f74a552b08",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/9d/8690db6edfe30653aa2e5c2b678aaa28c5714a",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/9d/be91bfb966e62fbbd7c3a16e06f9d762f98da6",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/9e/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/9e/8735e5aa9ad2c3d8c0baff821583db03e14004",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/9f/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/9f/a7e94d7ea67762552236f6ad472b5269fa6f67",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/9f/d2eb3ce4cbd8884f173f214228a9ffbdb043de",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/9f/d968c7dfbdfb7eda9d31933f19dd7501fbad35",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/a0/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/a0/3287bdc9fdf7f49ba0c12e32b7e41ae32dffa9",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/a0/fcbcf290c94026bd2b44e0219969dd349cfbfc",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/a3/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/a3/55279e3eb01beb3541be7e6e73c94c0a300f49",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/a8/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/a8/67921da365e9d879544fc8cffd8af0982e32c6",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/a9/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/a9/24f9516cd9d01b68a3460f8f0bc3f239cbb51b",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/a9/d5359205d280ab01dd35c118421f2188509314",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/aa/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/aa/187e0e07d28ca21b483e15340c15e14c1ae67a",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/aa/d31f82a10eac3f6796df929e6b01526fc65709",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ab/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ab/568b32863dce7e7d300f3ed0d2654baba088a0",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ac/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ac/73a08c838e257e8440a0261df46ed8057d8167",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ac/ae57a5b4d170cc3a554ac7b49397cf699fab36",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ad/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ad/69af6229f86da72cc06a4edb6389121e0cd206",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ad/78310f4ee44553f932c2e0e298db56122ea798",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ae/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ae/44875d4b9ce2a65b7bee4b4aec997da9313b23",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ae/f38f360617ecc730e8793043ca736cb79ead7a",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/af/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/af/5f2feced9a7148b97ed82f3b07bf7b3fb0135b",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/af/a13dd093d8ae60a022b4afd6e712fa88a62602",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/b0/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b0/2449dfb21b2175683f7f6a59ff93f2b107236d",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/b1/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b1/b7a86994f2aab3c58b337d535ceb496f0c9927",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/b2/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b2/2e46973b3617ab35ba93948dad3bfa49b98e74",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b2/a9fb5e313d97aeab10f40b5933609e63f7f691",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/b5/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b5/0b4e3995044b5f45bf0c22ac5107df5f2cd4f3",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b5/1bd8180611a5a7e5e44abba1611e75bc40ccbf",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b5/65a947e6817ca43db3a7ee3c5c64c86425b58c",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b5/7fb5f4aa53e0f7b7b7e8631e3e424abae444ab",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/b6/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b6/92e56215d823c12e49d7f45fa7876197201229",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b6/bbe5ae6689f46009e578162afd9837508f8d84",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/b8/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/b8/092004934f5ae96468d7d61d0a8f12fbca8b92",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ba/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ba/30d60959be2d77521572a7b22ed99ce709231e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/bb/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/bb/26dd2e1020dcc3264f654d0cd08e3ba2496f7e",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/bb/a980b269b68875d76c4d118c214873ae6d6e2c",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/bc/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/bc/8668a142cd86a87a888ba639c6b1d838e9e164",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/bd/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/bd/37a6b15b58695392d15507bc12a444c2a2524d",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/bd/4a821c42cd69a9749827f79d4ecb40a9293b38",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/be/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/be/a6cb174094cfe2b9c460546531a1bfe2398ef6",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/c0/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c0/3707c3aa00dd68d590aa89bf09db635be3a130",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/c1/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c1/2c2d8589b53e2d9744aa54ee86e06e82dff99b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/c2/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c2/82e9d093f51995bb9f33f39dc77b71ad72b7c1",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/c3/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c3/e2bb45155527a26ac7ea0ad2c0c0c3d4815884",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c3/e6ace22538d13459410fb83e3b05d88251e5f7",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/c4/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c4/22a331f7e77db309c1f856dbc2c359ef6d4d19",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/c5/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c5/5a57a623a2f2541afb2f231ec786243eec783c",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c5/d69d73bf7fb3aba043ba554466c182a574ee12",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/c7/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c7/3bdb168ab578b038b201831ad8fb7e5e2ef6bd",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c7/689f7858789db788bc55b4fed9a431306b19c4",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/c8/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c8/96bf95cd6aad4ad59f81bdeb3b9bbebfcc59ed",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/c9/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c9/4391a9184dcaeea597926560934e0d512bf03a",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c9/5cbfda451f6321ec8c07bec6e2e2fe8904061a",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/c9/a17e60283889fafa5de9f40464d3a940879399",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/cc/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/cc/49f2925150eaa2f8635184631630a5ab1bad14",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/cc/cff6b1d88f6a6b11425030b19476f75d35b22c",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ce/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ce/d4c617a228febffbd9aed2273130dfbc41c6b4",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/cf/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/cf/ede7453c93a4690f296e2076acfba2d0791606",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/d1/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d1/d38dcb42f29efd54588ef4339c60f9beba96c6",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/d3/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d3/234943f2b0b9e34d96592fb9679d0d81ee5718",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d3/c9ac94c492cd61e9621754b7edab344e93b34e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/d4/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d4/6ec2cb4fc79ed49fbe88d67ef37e9834b6d1ca",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/d5/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d5/0c600374e5d5e44fe4c30ea7dce6e6926e876b",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d5/4280d1d3fff47b10b9226c59395cc3bf37f703",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d5/e01c8fe96a9fcd9d55d9705908b350b077b102",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/d6/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d6/a1415abff47929fae7ad630badace325b1371e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/d7/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d7/025c0f4cb246933685297aaf44c2b1ef466cde",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d7/f63f56127fcda181f5f398e7071951c3529690",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/d8/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d8/25b58d6adeab64db729f63e53dc72feab4122a",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d8/28d49b256ee61d2217662318ba7095b70853ee",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d8/813269bbb566e1a79cf916c51b15383c07b917",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d8/da47cb5f6e149294f3662af27ac1cc0b51a0a0",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/d9/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d9/38145977ed4950a43ac11b053c3d026227fffe",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/d9/5da380d9aa2e0fe84a350fd58101aaa723144a",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/de/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/de/674290e5ec40e735e952be1dfc3a1e328e6188",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/df/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/df/31ee023607199dcfad7be8f0b554b34fbfafb4",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/df/324feb655e3046a546c72b4a5bf6f1d42ded9b",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/df/bc15dafcdfaa2808b19112e9c18726b50e013b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/e1/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/e1/f97cbe95639a5f612166c4f700e403300fe48b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/e3/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/e3/0471c137b785683c3b09a2a21d4567b1ecce8c",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/e3/25a072422960466553f8fe3cb9b535ef4d3f01",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/e3/dbf8fbdb2cdb340a4c317b13fc15ab2721e216",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/e4/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/e4/b7a6c04f45287b46bf5d9736c4e6758491c1c5",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/e5/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/e5/8ad999a3f2d10258ace3aaa4483283c006b459",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/e6/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/e6/08e4d38c1e5c37100421b41ce6d5bb9a2bc9a7",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/e9/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/e9/28bb23774f9a18edf499dca691d81a0183a0b2",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ea/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ea/b5bd4217f67c59199cc4462f9565d55fcad7cd",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/eb/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/eb/9c25fd4ab3f8eaf82bd78430a540105ffa4d4f",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/eb/c7886bd80713f789671be81b079ec4d12bebbc",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ec/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ec/131ba788909fb7a6bff39d121aaf84748bbb38",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ec/258b673682e275d6335b6bb9d8edbaf9e57dfb",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ec/39f06ea585397b1ad0a6e4b0ea094aa9296d4c",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ec/90b51a0b173fbe66471842371bd07c7641c9ce",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ed/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ed/ed357563ae88b3c18b768fe292bf0df73babd3",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ee/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ee/7007937706564c21f12293e61d4811a757bed4",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ef/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ef/9d2298e14362562231f4d3d0a64b5a3fb71804",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/f0/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/f0/fcdbf167e0634f571fae1cc98820222caf364b",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/f1/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/f1/26cf3d35b0a75fc6febff1e5921468a0eb0307",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/f2/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/f2/0c4a0312ff49febd285fd0f16ada85a267e7c3",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/f3/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/f3/58e99f77e801274e93b68e8bc6aaf43920a513",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/f3/6310d89e3a719ae4b2c260c97f208f57e6f4ff",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/f5/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/f5/acf35f43dec70443407b956e40fbb9ff48f96e",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/f7/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/f7/1a430b67b3d14124db3d35e93b77f2ca8333d3",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/f7/36d48d3633c0ac9ff0f69a84d9e0019cbc0949",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/f9/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/f9/f5a02b3ec287a7a4d31b80abafa1fa6bc45303",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/fa/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/fa/51094c0cff04e3be041e70af483ce0f5e8d2c5",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/fa/b94f6e2eb32a68f5178e03d9cf9053574d2150",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/fb/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/fb/ecc6040965617c4609a3f09174248daa0c9e2c",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/fc/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/fc/1bd1395700d5205cf21743409506a4d4a7e75d",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/fc/36c553e4274187719920eb2fc9a8581d139d42",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/fc/9c365b03f1ef0da50e85e18621968bcf750106",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/fc/a5f606ceda4cf321eea580e365d17f59837158",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/fc/d470622fff16fd6bdb92f7a1a6a3af6d76f9e8",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/fd/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/fd/51d8c855d162949ac71a796060a0275260b718",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/ff/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ff/1851b35e8d3af081d6308ff22620b25e05b79d",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ff/295b2c8cda9d9a6895ba3c92722a1088337734",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/ff/a27746e948f6c0f0dd93e21db53e4584efffe3",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/info/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/info/commit-graph",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/info/packs",
                                "cd+++++++++ src/github.com/osism/release/.git/objects/pack/",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-1e9f52a2ad739b13d0ecb046d64da9add41d93e6.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-1e9f52a2ad739b13d0ecb046d64da9add41d93e6.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-2bf810a2a8516110bc54eb2fdc2471977924ec9a.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-2bf810a2a8516110bc54eb2fdc2471977924ec9a.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-356fe8c4bfecdf0202a316331f823700972b9626.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-356fe8c4bfecdf0202a316331f823700972b9626.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-3b923046fff831cd54a81ba23aafc86f1af14feb.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-3b923046fff831cd54a81ba23aafc86f1af14feb.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-47c046e90652abe405e3871b704cd4877a4df076.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-47c046e90652abe405e3871b704cd4877a4df076.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-4c7fdaa2a6ca9f9ba35fa2dc1cd4c6f801fd62a2.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-4c7fdaa2a6ca9f9ba35fa2dc1cd4c6f801fd62a2.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-4d83873a842a7c3b8975e5970788254e990deb6a.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-4d83873a842a7c3b8975e5970788254e990deb6a.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-553e2657db8dda9df930b41b1dfb812ef0cb1885.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-553e2657db8dda9df930b41b1dfb812ef0cb1885.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-68d1ee1a41cc00fd77f03cb7f4f8487ff55b2e8f.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-68d1ee1a41cc00fd77f03cb7f4f8487ff55b2e8f.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-9fec2cf063f197c1bff7306cd4d4f27ca8293f7e.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-9fec2cf063f197c1bff7306cd4d4f27ca8293f7e.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-d8c49277c4d8ffa7e810e3810603a61d971c11c1.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-d8c49277c4d8ffa7e810e3810603a61d971c11c1.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-e62eebe78bd586c98c484bb32d5e9e216c08607f.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-e62eebe78bd586c98c484bb32d5e9e216c08607f.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-e798c7d6e7dd8eea2e5b6c8c395a5dcafc44bcc6.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-e798c7d6e7dd8eea2e5b6c8c395a5dcafc44bcc6.pack",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-eddc5710712c3a96490bedcfe2b35ed912072da7.idx",
                                "<f+++++++++ src/github.com/osism/release/.git/objects/pack/pack-eddc5710712c3a96490bedcfe2b35ed912072da7.pack",
                                "cd+++++++++ src/github.com/osism/release/.git/refs/",
                                "cd+++++++++ src/github.com/osism/release/.git/refs/heads/",
                                "<f+++++++++ src/github.com/osism/release/.git/refs/heads/main",
                                "cd+++++++++ src/github.com/osism/release/.git/refs/remotes/",
                                "cd+++++++++ src/github.com/osism/release/.git/refs/remotes/origin/",
                                "<f+++++++++ src/github.com/osism/release/.git/refs/remotes/origin/main",
                                "cd+++++++++ src/github.com/osism/release/.git/refs/zuul/",
                                "<f+++++++++ src/github.com/osism/release/.git/refs/zuul/b28b7af69320201d1cf206ebf28373980add1451",
                                "<f+++++++++ src/github.com/osism/release/.git/refs/zuul/fetch",
                                "cd+++++++++ src/github.com/osism/release/.github/",
                                "<f+++++++++ src/github.com/osism/release/.github/renovate.json",
                                "cd+++++++++ src/github.com/osism/release/.github/workflows/",
                                "<f+++++++++ src/github.com/osism/release/.github/workflows/add-to-project.yml",
                                "cd+++++++++ src/github.com/osism/release/1.0.0/",
                                "<f+++++++++ src/github.com/osism/release/1.0.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/1.0.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/1.0.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/1.0.0/openstack-wallaby.yml",
                                "cL+++++++++ src/github.com/osism/release/1.0.0/openstack.yml -> openstack-wallaby.yml",
                                "cd+++++++++ src/github.com/osism/release/10.0.0/",
                                "<f+++++++++ src/github.com/osism/release/10.0.0/base.yml",
                                "cd+++++++++ src/github.com/osism/release/10.1.0/",
                                "<f+++++++++ src/github.com/osism/release/10.1.0/base.yml",
                                "cd+++++++++ src/github.com/osism/release/2.0.0/",
                                "<f+++++++++ src/github.com/osism/release/2.0.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/2.0.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/2.0.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/2.0.0/openstack-wallaby.yml",
                                "cL+++++++++ src/github.com/osism/release/2.0.0/openstack.yml -> openstack-wallaby.yml",
                                "cd+++++++++ src/github.com/osism/release/3.0.0/",
                                "<f+++++++++ src/github.com/osism/release/3.0.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/3.0.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/3.0.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/3.0.0/openstack-xena.yml",
                                "cL+++++++++ src/github.com/osism/release/3.0.0/openstack.yml -> openstack-xena.yml",
                                "cd+++++++++ src/github.com/osism/release/3.1.0/",
                                "<f+++++++++ src/github.com/osism/release/3.1.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/3.1.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/3.1.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/3.1.0/openstack-xena.yml",
                                "cL+++++++++ src/github.com/osism/release/3.1.0/openstack.yml -> openstack-xena.yml",
                                "cd+++++++++ src/github.com/osism/release/3.2.0/",
                                "<f+++++++++ src/github.com/osism/release/3.2.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/3.2.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/3.2.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/3.2.0/openstack-xena.yml",
                                "cL+++++++++ src/github.com/osism/release/3.2.0/openstack.yml -> openstack-xena.yml",
                                "cd+++++++++ src/github.com/osism/release/4.0.0/",
                                "<f+++++++++ src/github.com/osism/release/4.0.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/4.0.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/4.0.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/4.0.0/openstack-yoga.yml",
                                "cL+++++++++ src/github.com/osism/release/4.0.0/openstack.yml -> openstack-yoga.yml",
                                "cd+++++++++ src/github.com/osism/release/4.1.0/",
                                "<f+++++++++ src/github.com/osism/release/4.1.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/4.1.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/4.1.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/4.1.0/openstack-yoga.yml",
                                "cL+++++++++ src/github.com/osism/release/4.1.0/openstack.yml -> openstack-yoga.yml",
                                "cd+++++++++ src/github.com/osism/release/4.2.0/",
                                "<f+++++++++ src/github.com/osism/release/4.2.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/4.2.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/4.2.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/4.2.0/openstack-yoga.yml",
                                "cL+++++++++ src/github.com/osism/release/4.2.0/openstack.yml -> openstack-yoga.yml",
                                "cd+++++++++ src/github.com/osism/release/4.3.0/",
                                "<f+++++++++ src/github.com/osism/release/4.3.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/4.3.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/4.3.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/4.3.0/openstack-yoga.yml",
                                "cL+++++++++ src/github.com/osism/release/4.3.0/openstack.yml -> openstack-yoga.yml",
                                "cd+++++++++ src/github.com/osism/release/5.0.0/",
                                "<f+++++++++ src/github.com/osism/release/5.0.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/5.0.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/5.0.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/5.0.0/openstack-zed.yml",
                                "cL+++++++++ src/github.com/osism/release/5.0.0/openstack.yml -> openstack-zed.yml",
                                "cd+++++++++ src/github.com/osism/release/5.1.0/",
                                "<f+++++++++ src/github.com/osism/release/5.1.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/5.1.0/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/5.1.0/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/5.1.0/openstack-zed.yml",
                                "cL+++++++++ src/github.com/osism/release/5.1.0/openstack.yml -> openstack-zed.yml",
                                "cd+++++++++ src/github.com/osism/release/5.2.0/",
                                "<f+++++++++ src/github.com/osism/release/5.2.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/5.2.0/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/5.2.0/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/5.2.0/openstack-zed.yml",
                                "cL+++++++++ src/github.com/osism/release/5.2.0/openstack.yml -> openstack-zed.yml",
                                "cd+++++++++ src/github.com/osism/release/5.3.0/",
                                "<f+++++++++ src/github.com/osism/release/5.3.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/5.3.0/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/5.3.0/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/5.3.0/openstack-zed.yml",
                                "cL+++++++++ src/github.com/osism/release/5.3.0/openstack.yml -> openstack-zed.yml",
                                "cd+++++++++ src/github.com/osism/release/6.0.0/",
                                "<f+++++++++ src/github.com/osism/release/6.0.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/6.0.0/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/6.0.0/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/6.0.0/openstack-2023.1.yml",
                                "cL+++++++++ src/github.com/osism/release/6.0.0/openstack.yml -> openstack-2023.1.yml",
                                "cd+++++++++ src/github.com/osism/release/6.0.1/",
                                "<f+++++++++ src/github.com/osism/release/6.0.1/base.yml",
                                "<f+++++++++ src/github.com/osism/release/6.0.1/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/6.0.1/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/6.0.1/openstack-2023.1.yml",
                                "cL+++++++++ src/github.com/osism/release/6.0.1/openstack.yml -> openstack-2023.1.yml",
                                "cd+++++++++ src/github.com/osism/release/6.0.2/",
                                "<f+++++++++ src/github.com/osism/release/6.0.2/base.yml",
                                "<f+++++++++ src/github.com/osism/release/6.0.2/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/6.0.2/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/6.0.2/openstack-2023.1.yml",
                                "cL+++++++++ src/github.com/osism/release/6.0.2/openstack.yml -> openstack-2023.1.yml",
                                "cd+++++++++ src/github.com/osism/release/7.0.0/",
                                "<f+++++++++ src/github.com/osism/release/7.0.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.0/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.0/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.0/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.0/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/7.0.1/",
                                "<f+++++++++ src/github.com/osism/release/7.0.1/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.1/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.1/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.1/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.1/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/7.0.2/",
                                "<f+++++++++ src/github.com/osism/release/7.0.2/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.2/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.2/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.2/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.2/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/7.0.3/",
                                "<f+++++++++ src/github.com/osism/release/7.0.3/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.3/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.3/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.3/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.3/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/7.0.4/",
                                "<f+++++++++ src/github.com/osism/release/7.0.4/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.4/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.4/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.4/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.4/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/7.0.5/",
                                "<f+++++++++ src/github.com/osism/release/7.0.5/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.5/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.5/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.0.5/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.0.5/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/7.1.0/",
                                "<f+++++++++ src/github.com/osism/release/7.1.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.1.0/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.1.0/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.1.0/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.1.0/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/7.1.1/",
                                "<f+++++++++ src/github.com/osism/release/7.1.1/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.1.1/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.1.1/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.1.1/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.1.1/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/7.1.2/",
                                "<f+++++++++ src/github.com/osism/release/7.1.2/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.1.2/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.1.2/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.1.2/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.1.2/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/7.1.3/",
                                "<f+++++++++ src/github.com/osism/release/7.1.3/base.yml",
                                "<f+++++++++ src/github.com/osism/release/7.1.3/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/7.1.3/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/7.1.3/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/7.1.3/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/8.0.0/",
                                "<f+++++++++ src/github.com/osism/release/8.0.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/8.0.0/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/8.0.0/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/8.0.0/openstack-2024.1.yml",
                                "cL+++++++++ src/github.com/osism/release/8.0.0/openstack.yml -> openstack-2024.1.yml",
                                "cd+++++++++ src/github.com/osism/release/8.0.1/",
                                "<f+++++++++ src/github.com/osism/release/8.0.1/base.yml",
                                "<f+++++++++ src/github.com/osism/release/8.0.1/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/8.0.1/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/8.0.1/openstack-2024.1.yml",
                                "cL+++++++++ src/github.com/osism/release/8.0.1/openstack.yml -> openstack-2024.1.yml",
                                "cd+++++++++ src/github.com/osism/release/8.0.2/",
                                "<f+++++++++ src/github.com/osism/release/8.0.2/base.yml",
                                "<f+++++++++ src/github.com/osism/release/8.0.2/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/8.0.2/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/8.0.2/openstack-2024.1.yml",
                                "cL+++++++++ src/github.com/osism/release/8.0.2/openstack.yml -> openstack-2024.1.yml",
                                "cd+++++++++ src/github.com/osism/release/8.1.0/",
                                "<f+++++++++ src/github.com/osism/release/8.1.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/8.1.0/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/8.1.0/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/8.1.0/openstack-2024.1.yml",
                                "cL+++++++++ src/github.com/osism/release/8.1.0/openstack.yml -> openstack-2024.1.yml",
                                "<f+++++++++ src/github.com/osism/release/8.1.0/sbom-openstack-2024.1.yml",
                                "cL+++++++++ src/github.com/osism/release/8.1.0/sbom-openstack.yml -> sbom-openstack-2024.1.yml",
                                "cd+++++++++ src/github.com/osism/release/9.0.0/",
                                "<f+++++++++ src/github.com/osism/release/9.0.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/9.0.0/ceph-reef.yml",
                                "cL+++++++++ src/github.com/osism/release/9.0.0/ceph.yml -> ceph-reef.yml",
                                "<f+++++++++ src/github.com/osism/release/9.0.0/openstack-2024.2.yml",
                                "cL+++++++++ src/github.com/osism/release/9.0.0/openstack.yml -> openstack-2024.2.yml",
                                "<f+++++++++ src/github.com/osism/release/9.0.0/sbom-openstack-2024.2.yml",
                                "cL+++++++++ src/github.com/osism/release/9.0.0/sbom-openstack.yml -> sbom-openstack-2024.2.yml",
                                "cd+++++++++ src/github.com/osism/release/9.1.0/",
                                "<f+++++++++ src/github.com/osism/release/9.1.0/base.yml",
                                "cd+++++++++ src/github.com/osism/release/9.2.0/",
                                "<f+++++++++ src/github.com/osism/release/9.2.0/base.yml",
                                "cd+++++++++ src/github.com/osism/release/9.3.0/",
                                "<f+++++++++ src/github.com/osism/release/9.3.0/base.yml",
                                "cd+++++++++ src/github.com/osism/release/9.3.1/",
                                "<f+++++++++ src/github.com/osism/release/9.3.1/base.yml",
                                "cd+++++++++ src/github.com/osism/release/9.4.0/",
                                "<f+++++++++ src/github.com/osism/release/9.4.0/base.yml",
                                "cd+++++++++ src/github.com/osism/release/9.5.0/",
                                "<f+++++++++ src/github.com/osism/release/9.5.0/base.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/",
                                "<f+++++++++ src/github.com/osism/release/archive/ok-20171004-0.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/ok-20171013-0.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/ol-20171013-0.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/10.0.0-rc.1/",
                                "<f+++++++++ src/github.com/osism/release/archive/10.0.0-rc.1/base.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/10.0.0-rc.2/",
                                "<f+++++++++ src/github.com/osism/release/archive/10.0.0-rc.2/base.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20171120-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20171120-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20171120-0/ceph-kraken.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20171120-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20171120-0/openstack-ocata.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20180103-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20180103-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180103-0/ceph-kraken.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180103-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180103-0/openstack-ocata.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20180212-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20180212-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180212-0/ceph-kraken.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180212-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180212-0/openstack-ocata.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20180213-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20180213-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180213-0/ceph-kraken.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180213-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180213-0/openstack-ocata.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180213-0/openstack-pike.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20180306-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20180306-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180306-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180306-0/openstack-ocata.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180306-0/openstack-pike.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20180806-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20180806-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180806-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180806-0/openstack-ocata.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180806-0/openstack-pike.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20180807-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20180807-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180807-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180807-0/openstack-ocata.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20180807-0/openstack-pike.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20181001-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20181001-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181001-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181001-0/openstack-pike.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181001-0/openstack-queens.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20181015-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20181015-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181015-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181015-0/openstack-pike.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181015-0/openstack-queens.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20181101-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20181101-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181101-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181101-0/openstack-pike.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181101-0/openstack-queens.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/20181201-0/",
                                "<f+++++++++ src/github.com/osism/release/archive/20181201-0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181201-0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181201-0/openstack-pike.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/20181201-0/openstack-queens.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/2019.1.0/",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.1.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.1.0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.1.0/openstack-queens.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/2019.2.0/",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.2.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.2.0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.2.0/openstack-queens.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.2.0/openstack-rocky.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/2019.3.0/",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.3.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.3.0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.3.0/openstack-queens.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.3.0/openstack-rocky.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/2019.4.0/",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.4.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.4.0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.4.0/openstack-queens.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2019.4.0/openstack-rocky.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/2020.1.0/",
                                "<f+++++++++ src/github.com/osism/release/archive/2020.1.0/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2020.1.0/ceph-luminous.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2020.1.0/ceph-nautilus.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2020.1.0/openstack-rocky.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/2020.1.0/openstack-train.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/4.0.0a/",
                                "<f+++++++++ src/github.com/osism/release/archive/4.0.0a/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/4.0.0a/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/4.0.0a/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/4.0.0a/openstack-yoga.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/4.0.0a/openstack.yml -> openstack-yoga.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/4.0.0b/",
                                "<f+++++++++ src/github.com/osism/release/archive/4.0.0b/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/4.0.0b/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/4.0.0b/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/4.0.0b/openstack-yoga.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/4.0.0b/openstack.yml -> openstack-yoga.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/5.0.0a/",
                                "<f+++++++++ src/github.com/osism/release/archive/5.0.0a/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/5.0.0a/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/5.0.0a/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/5.0.0a/openstack-zed.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/5.0.0a/openstack.yml -> openstack-zed.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/5.0.0b/",
                                "<f+++++++++ src/github.com/osism/release/archive/5.0.0b/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/5.0.0b/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/5.0.0b/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/5.0.0b/openstack-zed.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/5.0.0b/openstack.yml -> openstack-zed.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/5.0.0c/",
                                "<f+++++++++ src/github.com/osism/release/archive/5.0.0c/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/5.0.0c/ceph-pacific.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/5.0.0c/ceph.yml -> ceph-pacific.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/5.0.0c/openstack-zed.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/5.0.0c/openstack.yml -> openstack-zed.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/6.0.0a/",
                                "<f+++++++++ src/github.com/osism/release/archive/6.0.0a/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/6.0.0a/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/6.0.0a/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/6.0.0a/openstack-2023.1.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/6.0.0a/openstack.yml -> openstack-2023.1.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/6.0.0b/",
                                "<f+++++++++ src/github.com/osism/release/archive/6.0.0b/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/6.0.0b/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/6.0.0b/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/6.0.0b/openstack-2023.1.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/6.0.0b/openstack.yml -> openstack-2023.1.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/7.0.0a/",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0a/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0a/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/7.0.0a/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0a/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/7.0.0a/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/7.0.0b/",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0b/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0b/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/7.0.0b/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0b/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/7.0.0b/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/7.0.0c/",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0c/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0c/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/7.0.0c/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0c/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/7.0.0c/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/7.0.0d/",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0d/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0d/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/7.0.0d/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/7.0.0d/openstack-2023.2.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/7.0.0d/openstack.yml -> openstack-2023.2.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/",
                                "<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/openstack-2024.1.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/8.0.0-rc.1/openstack.yml -> openstack-2024.1.yml",
                                "cd+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/",
                                "<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/base.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/ceph-quincy.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/ceph.yml -> ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/openstack-2024.1.yml",
                                "cL+++++++++ src/github.com/osism/release/archive/8.0.0-rc.2/openstack.yml -> openstack-2024.1.yml",
                                "cd+++++++++ src/github.com/osism/release/docs/",
                                "<f+++++++++ src/github.com/osism/release/docs/check-drift-image.md",
                                "<f+++++++++ src/github.com/osism/release/docs/check-drift-kolla.md",
                                "cd+++++++++ src/github.com/osism/release/etc/",
                                "<f+++++++++ src/github.com/osism/release/etc/collections.yml",
                                "<f+++++++++ src/github.com/osism/release/etc/images.yml",
                                "<f+++++++++ src/github.com/osism/release/etc/other.yml",
                                "<f+++++++++ src/github.com/osism/release/etc/roles-manager.yml",
                                "<f+++++++++ src/github.com/osism/release/etc/roles.yml",
                                "cd+++++++++ src/github.com/osism/release/latest/",
                                "<f+++++++++ src/github.com/osism/release/latest/base.yml",
                                "<f+++++++++ src/github.com/osism/release/latest/ceph-quincy.yml",
                                "<f+++++++++ src/github.com/osism/release/latest/ceph-reef.yml",
                                "<f+++++++++ src/github.com/osism/release/latest/ceph-squid.yml",
                                "cL+++++++++ src/github.com/osism/release/latest/ceph.yml -> ceph-reef.yml",
                                "<f+++++++++ src/github.com/osism/release/latest/openstack-2024.1.yml",
                                "<f+++++++++ src/github.com/osism/release/latest/openstack-2024.2.yml",
                                "<f+++++++++ src/github.com/osism/release/latest/openstack-2025.1.yml",
                                "<f+++++++++ src/github.com/osism/release/latest/openstack-2025.2.yml",
                                "cL+++++++++ src/github.com/osism/release/latest/openstack.yml -> openstack-2025.1.yml",
                                "cd+++++++++ src/github.com/osism/release/next/",
                                "<f+++++++++ src/github.com/osism/release/next/kolla-ansible-v0.20250920.0.yml",
                                "<f+++++++++ src/github.com/osism/release/next/kolla-ansible-v0.20260129.0.yml",
                                "<f+++++++++ src/github.com/osism/release/next/kolla-v0.20250725.0.yml",
                                "cd+++++++++ src/github.com/osism/release/scripts/",
                                "<f+++++++++ src/github.com/osism/release/scripts/create-tags.sh",
                                "<f+++++++++ src/github.com/osism/release/scripts/generate-changelog-input.sh",
                                "cd+++++++++ src/github.com/osism/release/src/",
                                "<f+++++++++ src/github.com/osism/release/src/check-drift.py",
                                "<f+++++++++ src/github.com/osism/release/src/create-version.py",
                                "<f+++++++++ src/github.com/osism/release/src/drift-allowlist.yml",
                                "<f+++++++++ src/github.com/osism/release/src/drift-config.yml",
                                "<f+++++++++ src/github.com/osism/release/src/git-diff-log.py",
                                "<f+++++++++ src/github.com/osism/release/src/remove-images-from-quay.py",
                                "cd+++++++++ src/github.com/osism/release/src/osism_drift/",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/__init__.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/archive.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/config.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/demo.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/driver.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/enablement.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/http.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/inventory_sections.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/kolla_docker.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/manager.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/manager_template.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/model.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/override_template.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/release.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/report.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/role_defaults.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/role_scan.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/sbom_map.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/secrets_map.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/source.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/versions_template.py",
                                "cd+++++++++ src/github.com/osism/release/src/osism_drift/drift/",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/__init__.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/image_orphan.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_enablement_build.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_enablement_orphan.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_groupvars_missing.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_image_orphan.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_inventory.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_mirror_verbatim.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_orphan_config.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_secrets_orphan.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_version_chain_inner.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/kolla_version_chain_upstream.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/plugin.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/release_vs_manager.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/role_shadows.py",
                                "<f+++++++++ src/github.com/osism/release/src/osism_drift/drift/role_unpinned.py",
                                "cd+++++++++ src/github.com/osism/release/tests/",
                                "<f+++++++++ src/github.com/osism/release/tests/test_driver_groups.py",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/__init__.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/conftest.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_demo.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_driver.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_image_orphan.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_manager_parser.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_manager_template_parser.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_override_template_parser.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_plugin_registry.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_release_parser.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_release_vs_manager.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_report.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_role_defaults_parser.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_role_shadows.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_role_unpinned.py",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/test_source_list_tree.py",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/adminer/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/adminer/defaults/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/adminer/defaults/main.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ceph_ansible/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ceph_ansible/defaults/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ceph_ansible/defaults/main.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ciinternal/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ciinternal/defaults/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/ciinternal/defaults/main.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/floatdemo/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/floatdemo/defaults/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/floatdemo/defaults/main.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/manager/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/manager/defaults/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/manager/defaults/main.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/netbox/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/netbox/defaults/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/netbox/defaults/main.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/streamdemo/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/streamdemo/defaults/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/streamdemo/defaults/main.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/widget/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/widget/defaults/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-collection-services/roles/widget/defaults/main.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-playbooks-manager/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-playbooks-manager/playbooks/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/ansible-playbooks-manager/playbooks/pull.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/files/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/files/src/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/files/src/templates/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/container-image-osism-ansible/files/src/templates/images.yml.j2",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/generics/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/generics/environments/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/generics/environments/manager/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/generics/environments/manager/images.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/release/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/release/latest/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/release/latest/base.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/testbed/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/testbed/environments/",
                                "cd+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/testbed/environments/manager/",
                                "<f+++++++++ src/github.com/osism/release/tests/image_drift/fixtures/testbed/environments/manager/images.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/__init__.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/conftest.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_archive.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_config.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_dir_helpers.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_driver.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_driver_stale.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_enablement.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_enablement_values.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_inventory_sections.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_docker.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_enablement_build.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_enablement_orphan.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_groupvars_missing.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_image_orphan.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_inventory.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_mirror_verbatim.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_orphan_config.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_secrets_orphan.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_version_chain_inner.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_kolla_version_chain_upstream.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_model.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_plugin_registry.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_report.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_sbom_map.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_secrets_map.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_source.py",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/test_versions_template.py",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/environments/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/environments/kolla/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/environments/kolla/secrets.yml.A",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/cfg-cookiecutter/{{cookiecutter.project_name}}/environments/kolla/secrets.yml.B",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/files/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/files/src/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/files/src/templates/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-image-kolla-ansible/files/src/templates/versions.yml.j2",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-images-kolla/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-images-kolla/src/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/container-images-kolla/src/tag-images-with-the-version.py",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/defaults/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/defaults/all/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/defaults/all/050-images.yml",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/defaults/all/099-kolla.yml",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/generics/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/generics/inventory/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/generics/inventory/50-kolla",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/generics/inventory/51-kolla",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla-ansible/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla-ansible/ansible/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla-ansible/ansible/inventory/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla-ansible/ansible/inventory/multinode",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/macros.j2",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/foo/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/foo/.gitkeep",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/ignored-svc/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/ignored-svc/.gitkeep",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/newsvc/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/newsvc/.gitkeep",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/off/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/off/.gitkeep",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/present_a/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/kolla/docker/present_a/.gitkeep",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/release/",
                                "cd+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/release/latest/",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/release/latest/openstack-A.yml",
                                "<f+++++++++ src/github.com/osism/release/tests/kolla_drift/fixtures/release/latest/openstack-B.yml"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000002d",
                        "name": "prepare-workspace-log",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/prepare-workspace-log"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:16.120100Z",
                            "start": "2026-07-12T19:10:14.826123Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000030",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": "0755",
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": "0755",
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": "0755",
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000032",
                        "name": "ensure-output-dirs-present",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/ensure-output-dirs-present"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:16.987958Z",
                            "start": "2026-07-12T19:10:16.134283Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000034",
                        "name": "Ensure Zuul output directories exist"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/zuul-output/logs"
                                },
                                "before": {
                                    "path": "/home/zuul/zuul-output/logs"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": "0755",
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/zuul-output/logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "zuul",
                            "path": "/home/zuul/zuul-output/logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000037",
                        "name": "diagnose-first-sudo",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-first-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:17.316854Z",
                            "start": "2026-07-12T19:10:17.005303Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000039",
                        "name": "Ensure log directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "changed": false,
                            "cmd": "set +e\nout=/home/zuul/zuul-output/logs/sudo-strace.log\n: > \"$out\"\nif command -v strace >/dev/null 2>&1; then\n  cmd=(timeout 40 strace -f -tt -T -y       -o \"$out\"       sudo -n true)\nelse\n  echo \"strace not installed; running bare sudo probe\" > \"$out\"\n  cmd=(timeout 40 sudo -n true)\nfi\n{ TIMEFORMAT='WALL: %3R s'; time \"${cmd[@]}\"; } 2> \"$out.time\"\necho \"EXIT: $?\" >> \"$out.time\"\n",
                            "delta": "0:00:00.054786",
                            "end": "2026-07-12 19:10:17.646743",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set +e\nout=/home/zuul/zuul-output/logs/sudo-strace.log\n: > \"$out\"\nif command -v strace >/dev/null 2>&1; then\n  cmd=(timeout 40 strace -f -tt -T -y       -o \"$out\"       sudo -n true)\nelse\n  echo \"strace not installed; running bare sudo probe\" > \"$out\"\n  cmd=(timeout 40 sudo -n true)\nfi\n{ TIMEFORMAT='WALL: %3R s'; time \"${cmd[@]}\"; } 2> \"$out.time\"\necho \"EXIT: $?\" >> \"$out.time\"\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": "0242ac1f-6606-02ff-1a2e-00000000003a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:10:17.591957",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-02ff-1a2e-00000000003a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000037",
                        "name": "diagnose-first-sudo",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-first-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:17.873213Z",
                            "start": "2026-07-12T19:10:17.357140Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-00000000003a",
                        "name": "Probe first sudo invocation under strace"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "changed": false,
                            "cmd": "set +e\nout=/home/zuul/zuul-output/logs/sudo-debug.txt\n{\n  echo \"== date ==\";            date -Iseconds\n  echo \"== uptime ==\";          uptime\n  echo \"== boot age (s) ==\";    awk '{print int($1)}' /proc/uptime\n  echo \"== /etc/hostname ==\"; cat /etc/hostname\n  echo \"== /etc/hosts ==\";      cat /etc/hosts\n  echo \"== nsswitch.conf ==\";   cat /etc/nsswitch.conf\n  echo \"== resolv.conf ==\";     cat /etc/resolv.conf 2>/dev/null\n  echo \"== ping 8.8.8.8 ==\"\n  ping -c1 -W2 8.8.8.8 2>&1 || true\n  echo \"== ping 81.163.194.9 ==\"\n  ping -c1 -W2 81.163.194.9 2>&1 || true\n  echo \"== ping 81.163.194.10 ==\"\n  ping -c1 -W2 81.163.194.10 2>&1 || true\n  echo \"== getent ahosts ==\"\n  getent ahosts \"$(cat /etc/hostname)\"\n  echo \"== timed getent hosts ==\"\n  { TIMEFORMAT='getent: %3R s'; time getent hosts \"$(cat /etc/hostname)\"; } 2>&1\n  echo \"== systemd-logind active ==\"\n  systemctl is-active systemd-logind\n  echo \"== systemd-logind ActiveEnterTimestampMonotonic ==\"\n  systemctl show systemd-logind -p ActiveEnterTimestampMonotonic\n  echo \"== systemd-resolved active ==\"\n  systemctl is-active systemd-resolved 2>/dev/null\n  echo \"== /etc/pam.d/sudo ==\"\n  cat /etc/pam.d/sudo 2>/dev/null\n  echo \"== sudoers.d listing ==\"\n  ls -la /etc/sudoers.d/ 2>/dev/null\n} > \"$out\" 2>&1\n",
                            "delta": "0:00:00.086351",
                            "end": "2026-07-12 19:10:18.326831",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set +e\nout=/home/zuul/zuul-output/logs/sudo-debug.txt\n{\n  echo \"== date ==\";            date -Iseconds\n  echo \"== uptime ==\";          uptime\n  echo \"== boot age (s) ==\";    awk '{print int($1)}' /proc/uptime\n  echo \"== /etc/hostname ==\"; cat /etc/hostname\n  echo \"== /etc/hosts ==\";      cat /etc/hosts\n  echo \"== nsswitch.conf ==\";   cat /etc/nsswitch.conf\n  echo \"== resolv.conf ==\";     cat /etc/resolv.conf 2>/dev/null\n  echo \"== ping 8.8.8.8 ==\"\n  ping -c1 -W2 8.8.8.8 2>&1 || true\n  echo \"== ping 81.163.194.9 ==\"\n  ping -c1 -W2 81.163.194.9 2>&1 || true\n  echo \"== ping 81.163.194.10 ==\"\n  ping -c1 -W2 81.163.194.10 2>&1 || true\n  echo \"== getent ahosts ==\"\n  getent ahosts \"$(cat /etc/hostname)\"\n  echo \"== timed getent hosts ==\"\n  { TIMEFORMAT='getent: %3R s'; time getent hosts \"$(cat /etc/hostname)\"; } 2>&1\n  echo \"== systemd-logind active ==\"\n  systemctl is-active systemd-logind\n  echo \"== systemd-logind ActiveEnterTimestampMonotonic ==\"\n  systemctl show systemd-logind -p ActiveEnterTimestampMonotonic\n  echo \"== systemd-resolved active ==\"\n  systemctl is-active systemd-resolved 2>/dev/null\n  echo \"== /etc/pam.d/sudo ==\"\n  cat /etc/pam.d/sudo 2>/dev/null\n  echo \"== sudoers.d listing ==\"\n  ls -la /etc/sudoers.d/ 2>/dev/null\n} > \"$out\" 2>&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": "0242ac1f-6606-02ff-1a2e-00000000003b-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:10:18.240480",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-02ff-1a2e-00000000003b-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-000000000037",
                        "name": "diagnose-first-sudo",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-first-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:18.440306Z",
                            "start": "2026-07-12T19:10:17.936934Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-00000000003b",
                        "name": "Snapshot DNS / PAM / logind state (no become)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/zuul-output/logs"
                                },
                                "before": {
                                    "path": "/home/zuul/zuul-output/logs"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": "0755",
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/zuul-output/logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "zuul",
                            "path": "/home/zuul/zuul-output/logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:18.781942Z",
                            "start": "2026-07-12T19:10:18.460235Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-00000000003f",
                        "name": "Ensure log directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "ansible_job_id": "j206539829408.930",
                            "changed": false,
                            "cmd": "set +e\nset -o pipefail\nphase=pre\nout=/home/zuul/zuul-output/logs/net-debug.$phase.txt\ntargets=\"tarballs.opendev.org galaxy.ansible.com\"\niface=$(ip -6 route show default 2>/dev/null        | awk '{for(i=1;i<=NF;i++) if($i==\"dev\"){print $(i+1); exit}}')\n: \"${iface:=eth0}\"\ngw=$(ip -6 route show default 2>/dev/null     | awk '{for(i=1;i<=NF;i++) if($i==\"via\"){print $(i+1); exit}}')\n{\n  echo \"== date ==\";    date -Is\n  echo \"== iface / gw ==\"; echo \"iface=$iface gw=$gw\"\n  echo \"== ip -6 addr (lifetimes = SLAAC evidence) ==\"; ip -6 addr show\n  echo \"== ip -6 route show ==\"; ip -6 route show\n  echo \"== ip -6 route show default (expires/proto ra = RA evidence) ==\"\n  ip -6 route show default\n  echo \"== ip -4 route show default ==\"; ip -4 route show default\n  echo \"== accept_ra / forwarding (procfs; RA-suppression evidence) ==\"\n  for k in all default \"$iface\"; do\n    for s in forwarding accept_ra; do\n      v=$(cat \"/proc/sys/net/ipv6/conf/$k/$s\" 2>/dev/null)\n      echo \"net.ipv6.conf.$k.$s = ${v:-<unavailable>}\"\n    done\n  done\n  echo \"== resolvectl status ==\"\n  if command -v resolvectl >/dev/null 2>&1; then resolvectl status 2>&1\n  else echo \"resolvectl not installed\"; fi\n  echo \"== /etc/resolv.conf (resolver stub) ==\"\n  cat /etc/resolv.conf 2>/dev/null || echo \"(absent)\"\n  echo \"== /run/systemd/resolve/resolv.conf (upstreams) ==\"\n  cat /run/systemd/resolve/resolv.conf 2>/dev/null    || echo \"(no systemd-resolved upstream file)\"\n  for d in $targets; do\n    echo \"== target: $d ==\"\n    echo \"-- getent ahosts (families glibc returns) --\"\n    getent ahosts \"$d\" 2>&1\n    if command -v resolvectl >/dev/null 2>&1; then\n      echo \"-- resolvectl query --\"; resolvectl query --cache=no \"$d\" 2>&1\n    fi\n    v6=$(getent ahosts \"$d\" 2>/dev/null | awk '$1~/:/{print $1; exit}')\n    v4=$(getent ahosts \"$d\" 2>/dev/null         | awk '$1~/^[0-9]+(\\.[0-9]+){3}$/{print $1; exit}')\n    if [ -n \"$v6\" ]; then\n      echo \"-- ip -6 route get $v6 --\"; ip -6 route get \"$v6\" 2>&1\n    fi\n    if [ -n \"$v4\" ]; then\n      echo \"-- ip -4 route get $v4 --\"; ip -4 route get \"$v4\" 2>&1\n    fi\n    # Several attempts per family: a single sample misclassifies a\n    # ~50%-loss path as healthy or dead by coin flip, defeating the\n    # pre/post bracket. Bounded and in-line -- not a background sampler.\n    for fam in 6 4; do\n      echo \"-- curl -$fam (3 attempts) --\"\n      ok=0\n      for n in 1 2 3; do\n        curl -$fam -sS -m 10 -o /dev/null          -w \"  #$n http=%{http_code} ip=%{remote_ip} t=%{time_total}s\\n\"          \"https://$d/\" 2>&1 && ok=1 || echo \"  #$n curl -$fam FAILED\"\n      done\n      # Trace only the family that failed, to its resolved address:\n      # localises WHERE the failing path dies instead of tracing the\n      # healthy family. v4 via traceroute, v6 via traceroute6.\n      if [ \"$ok\" = 0 ]; then\n        addr=$v6; [ \"$fam\" = 4 ] && addr=$v4\n        tr=traceroute6; [ \"$fam\" = 4 ] && tr=traceroute\n        if [ -n \"$addr\" ] && command -v \"$tr\" >/dev/null 2>&1; then\n          echo \"  !! curl -$fam failed 3x; $tr to $addr\"\n          timeout 30 \"$tr\" -q1 -w2 \"$addr\" 2>&1\n        fi\n      fi\n    done\n  done\n  echo \"== ping -6 gateway ==\"\n  if [ -n \"$gw\" ]; then\n    ping -6 -c1 -W2 \"${gw}%${iface}\" 2>&1\n  else echo \"no v6 gw\"; fi\n} > \"$out\" 2>&1\n",
                            "delta": "0:00:06.073569",
                            "end": "2026-07-12 19:10:26.154864",
                            "failed_when_result": false,
                            "finished": 1,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set +e\nset -o pipefail\nphase=pre\nout=/home/zuul/zuul-output/logs/net-debug.$phase.txt\ntargets=\"tarballs.opendev.org galaxy.ansible.com\"\niface=$(ip -6 route show default 2>/dev/null        | awk '{for(i=1;i<=NF;i++) if($i==\"dev\"){print $(i+1); exit}}')\n: \"${iface:=eth0}\"\ngw=$(ip -6 route show default 2>/dev/null     | awk '{for(i=1;i<=NF;i++) if($i==\"via\"){print $(i+1); exit}}')\n{\n  echo \"== date ==\";    date -Is\n  echo \"== iface / gw ==\"; echo \"iface=$iface gw=$gw\"\n  echo \"== ip -6 addr (lifetimes = SLAAC evidence) ==\"; ip -6 addr show\n  echo \"== ip -6 route show ==\"; ip -6 route show\n  echo \"== ip -6 route show default (expires/proto ra = RA evidence) ==\"\n  ip -6 route show default\n  echo \"== ip -4 route show default ==\"; ip -4 route show default\n  echo \"== accept_ra / forwarding (procfs; RA-suppression evidence) ==\"\n  for k in all default \"$iface\"; do\n    for s in forwarding accept_ra; do\n      v=$(cat \"/proc/sys/net/ipv6/conf/$k/$s\" 2>/dev/null)\n      echo \"net.ipv6.conf.$k.$s = ${v:-<unavailable>}\"\n    done\n  done\n  echo \"== resolvectl status ==\"\n  if command -v resolvectl >/dev/null 2>&1; then resolvectl status 2>&1\n  else echo \"resolvectl not installed\"; fi\n  echo \"== /etc/resolv.conf (resolver stub) ==\"\n  cat /etc/resolv.conf 2>/dev/null || echo \"(absent)\"\n  echo \"== /run/systemd/resolve/resolv.conf (upstreams) ==\"\n  cat /run/systemd/resolve/resolv.conf 2>/dev/null    || echo \"(no systemd-resolved upstream file)\"\n  for d in $targets; do\n    echo \"== target: $d ==\"\n    echo \"-- getent ahosts (families glibc returns) --\"\n    getent ahosts \"$d\" 2>&1\n    if command -v resolvectl >/dev/null 2>&1; then\n      echo \"-- resolvectl query --\"; resolvectl query --cache=no \"$d\" 2>&1\n    fi\n    v6=$(getent ahosts \"$d\" 2>/dev/null | awk '$1~/:/{print $1; exit}')\n    v4=$(getent ahosts \"$d\" 2>/dev/null         | awk '$1~/^[0-9]+(\\.[0-9]+){3}$/{print $1; exit}')\n    if [ -n \"$v6\" ]; then\n      echo \"-- ip -6 route get $v6 --\"; ip -6 route get \"$v6\" 2>&1\n    fi\n    if [ -n \"$v4\" ]; then\n      echo \"-- ip -4 route get $v4 --\"; ip -4 route get \"$v4\" 2>&1\n    fi\n    # Several attempts per family: a single sample misclassifies a\n    # ~50%-loss path as healthy or dead by coin flip, defeating the\n    # pre/post bracket. Bounded and in-line -- not a background sampler.\n    for fam in 6 4; do\n      echo \"-- curl -$fam (3 attempts) --\"\n      ok=0\n      for n in 1 2 3; do\n        curl -$fam -sS -m 10 -o /dev/null          -w \"  #$n http=%{http_code} ip=%{remote_ip} t=%{time_total}s\\n\"          \"https://$d/\" 2>&1 && ok=1 || echo \"  #$n curl -$fam FAILED\"\n      done\n      # Trace only the family that failed, to its resolved address:\n      # localises WHERE the failing path dies instead of tracing the\n      # healthy family. v4 via traceroute, v6 via traceroute6.\n      if [ \"$ok\" = 0 ]; then\n        addr=$v6; [ \"$fam\" = 4 ] && addr=$v4\n        tr=traceroute6; [ \"$fam\" = 4 ] && tr=traceroute\n        if [ -n \"$addr\" ] && command -v \"$tr\" >/dev/null 2>&1; then\n          echo \"  !! curl -$fam failed 3x; $tr to $addr\"\n          timeout 30 \"$tr\" -q1 -w2 \"$addr\" 2>&1\n        fi\n      fi\n    done\n  done\n  echo \"== ping -6 gateway ==\"\n  if [ -n \"$gw\" ]; then\n    ping -6 -c1 -W2 \"${gw}%${iface}\" 2>&1\n  else echo \"no v6 gw\"; fi\n} > \"$out\" 2>&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": "0242ac1f-6606-02ff-1a2e-000000000040-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "results_file": "/home/zuul/.ansible_async/j206539829408.930",
                            "start": "2026-07-12 19:10:20.081295",
                            "started": 1,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-02ff-1a2e-000000000040-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:30.975948Z",
                            "start": "2026-07-12T19:10:18.820982Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000040",
                        "name": "Snapshot dual-stack network state (pre)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "changed": false,
                            "false_condition": "diagnose_network_phase == \"post\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:31.174613Z",
                            "start": "2026-07-12T19:10:30.983710Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000041",
                        "name": "Snapshot Docker/BuildKit IPv6 config (teardown)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "changed": false,
                            "false_condition": "diagnose_network_phase == \"post\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-02ff-1a2e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:31.294669Z",
                            "start": "2026-07-12T19:10:31.186366Z"
                        },
                        "id": "0242ac1f-6606-02ff-1a2e-000000000042",
                        "name": "Probe container network namespace (teardown)"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 12,
            "failures": 0,
            "ignored": 0,
            "ok": 32,
            "rescued": 0,
            "skipped": 5,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "master",
    "index": "1",
    "phase": "pre",
    "playbook": "github.com/osism/openinfra-zuul-jobs/playbooks/unittests/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-12T19:10:35.400338Z",
                    "start": "2026-07-12T19:10:33.333838Z"
                },
                "id": "0242ac1f-6606-b073-ecaf-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "bindep"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:33.418513Z",
                            "start": "2026-07-12T19:10:33.349625Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000004",
                        "name": "Install binary dependencies"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "find.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:33.508809Z",
                            "start": "2026-07-12T19:10:33.439169Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-00000000001e",
                        "name": "Include find tasks"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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/osism/release/bindep.txt"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:33.918586Z",
                            "start": "2026-07-12T19:10:33.535700Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-00000000003e",
                        "name": "Look for bindep.txt"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "bindep_file_stat.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:33.946555Z",
                            "start": "2026-07-12T19:10:33.932251Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-00000000003f",
                        "name": "Define bindep_file fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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/osism/release/other-requirements.txt"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:34.214507Z",
                            "start": "2026-07-12T19:10:33.952577Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000040",
                        "name": "Look for other-requirements.txt"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:34.249984Z",
                            "start": "2026-07-12T19:10:34.225080Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000041",
                        "name": "Define bindep_file fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:34.297415Z",
                            "start": "2026-07-12T19:10:34.257015Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000042",
                        "name": "Look for bindep fallback file"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:34.347360Z",
                            "start": "2026-07-12T19:10:34.303308Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000043",
                        "name": "Define bindep_file fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "bindep_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:34.396728Z",
                            "start": "2026-07-12T19:10:34.352923Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-00000000001f",
                        "name": "Include bindep tasks"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "bindep_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:34.445869Z",
                            "start": "2026-07-12T19:10:34.402367Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000020",
                        "name": "Include install tasks"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "bindep_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b073-ecaf-00000000001c",
                        "name": "bindep",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/bindep"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:34.547212Z",
                            "start": "2026-07-12T19:10:34.451369Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000021",
                        "name": "Include package tasks"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "test-setup"
                            }
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:34.585051Z",
                            "start": "2026-07-12T19:10:34.556499Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000005",
                        "name": "Run test-setup role"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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/osism/release/tools/test-setup.sh"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b073-ecaf-00000000008f",
                        "name": "test-setup",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/test-setup"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:34.855267Z",
                            "start": "2026-07-12T19:10:34.599459Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000091",
                        "name": "Check if project's tools/test-setup.sh exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "p.stat.exists",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b073-ecaf-00000000008f",
                        "name": "test-setup",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/test-setup"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:35.400338Z",
                            "start": "2026-07-12T19:10:34.887605Z"
                        },
                        "id": "0242ac1f-6606-b073-ecaf-000000000092",
                        "name": "Run tools/test-setup.sh"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 0,
            "failures": 0,
            "ignored": 0,
            "ok": 4,
            "rescued": 0,
            "skipped": 8,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/osism/openinfra-zuul-jobs/playbooks/tox/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-12T19:10:59.414401Z",
                    "start": "2026-07-12T19:10:36.200141Z"
                },
                "id": "0242ac1f-6606-26a5-83f0-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "assert",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:36.246005Z",
                            "start": "2026-07-12T19:10:36.212258Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000008",
                        "name": "Validate python_version value"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:36.273924Z",
                            "start": "2026-07-12T19:10:36.250960Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000000a",
                        "name": "Install specified version of python interpreter and development files (DEB)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:36.307339Z",
                            "start": "2026-07-12T19:10:36.278596Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000000b",
                        "name": "Pull in venv package"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:36.349919Z",
                            "start": "2026-07-12T19:10:36.316578Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000000d",
                        "name": "Set default RPM package name"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:36.383549Z",
                            "start": "2026-07-12T19:10:36.355577Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000000e",
                        "name": "Set RPM package name for CentOS/RHEL 9/10"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:36.412442Z",
                            "start": "2026-07-12T19:10:36.389394Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000000f",
                        "name": "Install RPM package"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "python_use_pyenv",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:36.430480Z",
                            "start": "2026-07-12T19:10:36.417104Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000011",
                        "name": "Install python using pyenv"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "python_version is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000006",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:36.458318Z",
                            "start": "2026-07-12T19:10:36.435228Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000012",
                        "name": "Activate python using stow"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "ensure-pip"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:36.485120Z",
                            "start": "2026-07-12T19:10:36.466435Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000016",
                        "name": "Install pip"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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.009167",
                            "end": "2026-07-12 19:10:37.006140",
                            "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": "0242ac1f-6606-26a5-83f0-000000000081-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-07-12 19:10:36.996973",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-26a5-83f0-000000000081-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:37.066769Z",
                            "start": "2026-07-12T19:10:36.550857Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000081",
                        "name": "Check if pip is installed"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_distro_os",
                                    "include": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip/tasks/Debian.yaml",
                                    "include_args": {},
                                    "zj_distro_os": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip/tasks/Debian.yaml"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:37.172596Z",
                            "start": "2026-07-12T19:10:37.104240Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000082",
                        "name": "Install pip from packages"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "apt",
                            "cache_update_time": 1783883440,
                            "cache_updated": true,
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "only_upgrade": false,
                                    "package": null,
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:41.987567Z",
                            "start": "2026-07-12T19:10:37.217134Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-0000000000be",
                        "name": "Update package lists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "cache_update_time": 1783883440,
                            "cache_updated": false,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": [
                                        "python3-pip",
                                        "python3-setuptools",
                                        "python3-venv",
                                        "python3-wheel"
                                    ],
                                    "only_upgrade": false,
                                    "package": [
                                        "python3-pip",
                                        "python3-setuptools",
                                        "python3-venv",
                                        "python3-wheel"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": null,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nSuggested packages:\n  python-setuptools-doc\nThe following NEW packages will be installed:\n  python3-pip python3-setuptools python3-wheel\n0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 1877 kB of archives.\nAfter this operation, 9567 kB of additional disk space will be used.\nGet:1 http://deb.debian.org/debian bookworm/main amd64 python3-setuptools all 66.1.1-1+deb12u2 [522 kB]\nGet:2 http://deb.debian.org/debian bookworm/main amd64 python3-wheel all 0.38.4-2 [30.8 kB]\nGet:3 http://deb.debian.org/debian bookworm/main amd64 python3-pip all 23.0.1+dfsg-1 [1325 kB]\nFetched 1877 kB in 0s (14.9 MB/s)\nSelecting previously unselected package python3-setuptools.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 27769 files and directories currently installed.)\r\nPreparing to unpack .../python3-setuptools_66.1.1-1+deb12u2_all.deb ...\r\nUnpacking python3-setuptools (66.1.1-1+deb12u2) ...\r\nSelecting previously unselected package python3-wheel.\r\nPreparing to unpack .../python3-wheel_0.38.4-2_all.deb ...\r\nUnpacking python3-wheel (0.38.4-2) ...\r\nSelecting previously unselected package python3-pip.\r\nPreparing to unpack .../python3-pip_23.0.1+dfsg-1_all.deb ...\r\nUnpacking python3-pip (23.0.1+dfsg-1) ...\r\nSetting up python3-setuptools (66.1.1-1+deb12u2) ...\r\nSetting up python3-wheel (0.38.4-2) ...\r\nSetting up python3-pip (23.0.1+dfsg-1) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "Suggested packages:",
                                "  python-setuptools-doc",
                                "The following NEW packages will be installed:",
                                "  python3-pip python3-setuptools python3-wheel",
                                "0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 1877 kB of archives.",
                                "After this operation, 9567 kB of additional disk space will be used.",
                                "Get:1 http://deb.debian.org/debian bookworm/main amd64 python3-setuptools all 66.1.1-1+deb12u2 [522 kB]",
                                "Get:2 http://deb.debian.org/debian bookworm/main amd64 python3-wheel all 0.38.4-2 [30.8 kB]",
                                "Get:3 http://deb.debian.org/debian bookworm/main amd64 python3-pip all 23.0.1+dfsg-1 [1325 kB]",
                                "Fetched 1877 kB in 0s (14.9 MB/s)",
                                "Selecting previously unselected package python3-setuptools.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 27769 files and directories currently installed.)",
                                "Preparing to unpack .../python3-setuptools_66.1.1-1+deb12u2_all.deb ...",
                                "Unpacking python3-setuptools (66.1.1-1+deb12u2) ...",
                                "Selecting previously unselected package python3-wheel.",
                                "Preparing to unpack .../python3-wheel_0.38.4-2_all.deb ...",
                                "Unpacking python3-wheel (0.38.4-2) ...",
                                "Selecting previously unselected package python3-pip.",
                                "Preparing to unpack .../python3-pip_23.0.1+dfsg-1_all.deb ...",
                                "Unpacking python3-pip (23.0.1+dfsg-1) ...",
                                "Setting up python3-setuptools (66.1.1-1+deb12u2) ...",
                                "Setting up python3-wheel (0.38.4-2) ...",
                                "Setting up python3-pip (23.0.1+dfsg-1) ..."
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:47.357679Z",
                            "start": "2026-07-12T19:10:41.997950Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-0000000000bf",
                        "name": "Install Python 3 pip"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "ensure_pip_from_packages_with_python2",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:47.392227Z",
                            "start": "2026-07-12T19:10:47.368811Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-0000000000c0",
                        "name": "Install Python 2 pip"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "ansible_python.version.major == 2",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:47.452125Z",
                            "start": "2026-07-12T19:10:47.397826Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000087",
                        "name": "Ensure setuptools"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "python3",
                                "-m",
                                "ensurepip",
                                "--help"
                            ],
                            "delta": "0:00:00.096982",
                            "end": "2026-07-12 19:10:47.894937",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "python3 -m ensurepip --help",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-26a5-83f0-000000000088-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:10:47.797955",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "usage: python -m ensurepip [-h] [--version] [-v] [-U] [--user] [--root ROOT]\n                           [--altinstall] [--default-pip]\n\noptions:\n  -h, --help     show this help message and exit\n  --version      Show the version of pip that is bundled with this Python.\n  -v, --verbose  Give more output. Option is additive, and can be used up to 3\n                 times.\n  -U, --upgrade  Upgrade pip and dependencies, even if already installed.\n  --user         Install using the user scheme.\n  --root ROOT    Install everything relative to this alternate root directory.\n  --altinstall   Make an alternate install, installing only the X.Y versioned\n                 scripts (Default: pipX, pipX.Y, easy_install-X.Y).\n  --default-pip  Make a default pip install, installing the unqualified pip\n                 and easy_install in addition to the versioned scripts.",
                            "stdout_lines": [
                                "usage: python -m ensurepip [-h] [--version] [-v] [-U] [--user] [--root ROOT]",
                                "                           [--altinstall] [--default-pip]",
                                "",
                                "options:",
                                "  -h, --help     show this help message and exit",
                                "  --version      Show the version of pip that is bundled with this Python.",
                                "  -v, --verbose  Give more output. Option is additive, and can be used up to 3",
                                "                 times.",
                                "  -U, --upgrade  Upgrade pip and dependencies, even if already installed.",
                                "  --user         Install using the user scheme.",
                                "  --root ROOT    Install everything relative to this alternate root directory.",
                                "  --altinstall   Make an alternate install, installing only the X.Y versioned",
                                "                 scripts (Default: pipX, pipX.Y, easy_install-X.Y).",
                                "  --default-pip  Make a default pip install, installing the unqualified pip",
                                "                 and easy_install in addition to the versioned scripts."
                            ],
                            "zuul_log_id": "0242ac1f-6606-26a5-83f0-000000000088-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:48.039721Z",
                            "start": "2026-07-12T19:10:47.524812Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000088",
                        "name": "Check for ensurepip module"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "changed": false,
                            "false_condition": "_ensurepip_module.rc != 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:48.126088Z",
                            "start": "2026-07-12T19:10:48.046468Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000089",
                        "name": "Ensure python3-venv"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ensure_pip_from_upstream",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:48.189894Z",
                            "start": "2026-07-12T19:10:48.135615Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000008a",
                        "name": "Install pip from source"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v python3\n",
                            "delta": "0:00:00.008985",
                            "end": "2026-07-12 19:10:48.558317",
                            "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": "0242ac1f-6606-26a5-83f0-00000000008b-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:10:48.549332",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/python3",
                            "stdout_lines": [
                                "/usr/bin/python3"
                            ],
                            "zuul_log_id": "0242ac1f-6606-26a5-83f0-00000000008b-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:48.755456Z",
                            "start": "2026-07-12T19:10:48.246193Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000008b",
                        "name": "Probe for venv python full path"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "_host_virtualenv": "/usr/bin/python3 -m venv"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:48.840059Z",
                            "start": "2026-07-12T19:10:48.760801Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000008c",
                        "name": "Set host default"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "ensure_pip_virtualenv_command": "/usr/bin/python3 -m venv"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-00000000007f",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:48.904889Z",
                            "start": "2026-07-12T19:10:48.844404Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000008d",
                        "name": "Set ensure_pip_virtualenv_command"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v tox /home/zuul/.local/tox/bin/tox || exit 1\n",
                            "delta": "0:00:00.008479",
                            "end": "2026-07-12 19:10:49.305700",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "command -v tox /home/zuul/.local/tox/bin/tox || exit 1\n",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-26a5-83f0-000000000017-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-07-12 19:10:49.297221",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-26a5-83f0-000000000017-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:49.515251Z",
                            "start": "2026-07-12T19:10:49.004858Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000017",
                        "name": "Check if tox is installed"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_preinstalled.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:49.543198Z",
                            "start": "2026-07-12T19:10:49.519424Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-000000000018",
                        "name": "Export preinstalled tox_exectuable"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/usr/bin/python3",
                                "-m",
                                "venv",
                                "/home/zuul/.local/tox"
                            ],
                            "delta": "0:00:04.268620",
                            "end": "2026-07-12 19:10:54.116459",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/bin/python3 -m venv /home/zuul/.local/tox",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-26a5-83f0-00000000001a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:10:49.847839",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-26a5-83f0-00000000001a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:54.599615Z",
                            "start": "2026-07-12T19:10:49.587053Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000001a",
                        "name": "Create local venv"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/pip",
                                "install",
                                "tox"
                            ],
                            "delta": "0:00:03.012969",
                            "end": "2026-07-12 19:10:58.113126",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/pip install tox",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-26a5-83f0-00000000001b-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:10:55.100157",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Collecting tox\n  Downloading tox-4.56.4-py3-none-any.whl (217 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 217.5/217.5 kB 5.7 MB/s eta 0:00:00\nCollecting cachetools>=7.0.3\n  Downloading cachetools-7.1.4-py3-none-any.whl (16 kB)\nCollecting colorama>=0.4.6\n  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\nCollecting filelock>=3.25\n  Downloading filelock-3.29.7-py3-none-any.whl (46 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 46.0/46.0 kB 6.8 MB/s eta 0:00:00\nCollecting packaging>=26\n  Downloading packaging-26.2-py3-none-any.whl (100 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.2/100.2 kB 16.0 MB/s eta 0:00:00\nCollecting platformdirs>=4.9.4\n  Downloading platformdirs-4.10.0-py3-none-any.whl (22 kB)\nCollecting pluggy>=1.6\n  Downloading pluggy-1.6.0-py3-none-any.whl (20 kB)\nCollecting pyproject-api>=1.10\n  Downloading pyproject_api-1.10.1-py3-none-any.whl (12 kB)\nCollecting python-discovery>=1.4.4\n  Downloading python_discovery-1.4.4-py3-none-any.whl (34 kB)\nCollecting tomli-w>=1.2\n  Downloading tomli_w-1.2.0-py3-none-any.whl (6.7 kB)\nCollecting virtualenv>=21.1\n  Downloading virtualenv-21.6.1-py3-none-any.whl (5.5 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 5.5/5.5 MB 37.9 MB/s eta 0:00:00\nCollecting distlib<1,>=0.3.7\n  Downloading distlib-0.4.3-py2.py3-none-any.whl (470 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 470.6/470.6 kB 43.8 MB/s eta 0:00:00\nInstalling collected packages: distlib, tomli-w, pluggy, platformdirs, packaging, filelock, colorama, cachetools, python-discovery, pyproject-api, virtualenv, tox\nSuccessfully installed cachetools-7.1.4 colorama-0.4.6 distlib-0.4.3 filelock-3.29.7 packaging-26.2 platformdirs-4.10.0 pluggy-1.6.0 pyproject-api-1.10.1 python-discovery-1.4.4 tomli-w-1.2.0 tox-4.56.4 virtualenv-21.6.1",
                            "stdout_lines": [
                                "Collecting tox",
                                "  Downloading tox-4.56.4-py3-none-any.whl (217 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 217.5/217.5 kB 5.7 MB/s eta 0:00:00",
                                "Collecting cachetools>=7.0.3",
                                "  Downloading cachetools-7.1.4-py3-none-any.whl (16 kB)",
                                "Collecting colorama>=0.4.6",
                                "  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)",
                                "Collecting filelock>=3.25",
                                "  Downloading filelock-3.29.7-py3-none-any.whl (46 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 46.0/46.0 kB 6.8 MB/s eta 0:00:00",
                                "Collecting packaging>=26",
                                "  Downloading packaging-26.2-py3-none-any.whl (100 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100.2/100.2 kB 16.0 MB/s eta 0:00:00",
                                "Collecting platformdirs>=4.9.4",
                                "  Downloading platformdirs-4.10.0-py3-none-any.whl (22 kB)",
                                "Collecting pluggy>=1.6",
                                "  Downloading pluggy-1.6.0-py3-none-any.whl (20 kB)",
                                "Collecting pyproject-api>=1.10",
                                "  Downloading pyproject_api-1.10.1-py3-none-any.whl (12 kB)",
                                "Collecting python-discovery>=1.4.4",
                                "  Downloading python_discovery-1.4.4-py3-none-any.whl (34 kB)",
                                "Collecting tomli-w>=1.2",
                                "  Downloading tomli_w-1.2.0-py3-none-any.whl (6.7 kB)",
                                "Collecting virtualenv>=21.1",
                                "  Downloading virtualenv-21.6.1-py3-none-any.whl (5.5 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 5.5/5.5 MB 37.9 MB/s eta 0:00:00",
                                "Collecting distlib<1,>=0.3.7",
                                "  Downloading distlib-0.4.3-py2.py3-none-any.whl (470 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 470.6/470.6 kB 43.8 MB/s eta 0:00:00",
                                "Installing collected packages: distlib, tomli-w, pluggy, platformdirs, packaging, filelock, colorama, cachetools, python-discovery, pyproject-api, virtualenv, tox",
                                "Successfully installed cachetools-7.1.4 colorama-0.4.6 distlib-0.4.3 filelock-3.29.7 packaging-26.2 platformdirs-4.10.0 pluggy-1.6.0 pyproject-api-1.10.1 python-discovery-1.4.4 tomli-w-1.2.0 tox-4.56.4 virtualenv-21.6.1"
                            ],
                            "zuul_log_id": "0242ac1f-6606-26a5-83f0-00000000001b-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:58.183569Z",
                            "start": "2026-07-12T19:10:54.675095Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000001b",
                        "name": "Install tox to local venv"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "tox_executable": "/home/zuul/.local/tox/bin/tox"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:58.267475Z",
                            "start": "2026-07-12T19:10:58.187844Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000001c",
                        "name": "Export installed tox_executable path"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.330376",
                            "end": "2026-07-12 19:10:59.044014",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox --version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-26a5-83f0-00000000001e-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:10:58.713638",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul\n4.56.4 from /home/zuul/.local/tox/lib/python3.11/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul",
                                "4.56.4 from /home/zuul/.local/tox/lib/python3.11/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "0242ac1f-6606-26a5-83f0-00000000001e-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:59.396753Z",
                            "start": "2026-07-12T19:10:58.369777Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000001e",
                        "name": "Output tox version"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "ensure_global_symlinks",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-26a5-83f0-000000000014",
                        "name": "ensure-tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/ensure-tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:10:59.414401Z",
                            "start": "2026-07-12T19:10:59.401016Z"
                        },
                        "id": "0242ac1f-6606-26a5-83f0-00000000001f",
                        "name": "Make global symlink"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 9,
            "failures": 0,
            "ignored": 0,
            "ok": 13,
            "rescued": 0,
            "skipped": 14,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/osism/openinfra-zuul-jobs/playbooks/tox/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-12T19:11:23.688840Z",
                    "start": "2026-07-12T19:11:01.151858Z"
                },
                "id": "0242ac1f-6606-5aee-1374-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "sudo",
                                "-n",
                                "true"
                            ],
                            "delta": "0:00:00.027359",
                            "end": "2026-07-12 19:11:01.774959",
                            "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": "0242ac1f-6606-5aee-1374-000000000008-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:11:01.747600",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "sudo: unable to resolve host debian: Name or service not known",
                            "stdout_lines": [
                                "sudo: unable to resolve host debian: Name or service not known"
                            ],
                            "zuul_log_id": "0242ac1f-6606-5aee-1374-000000000008-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:02.278410Z",
                            "start": "2026-07-12T19:11:01.261716Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000008",
                        "name": "Check if zuul is sudoer"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "rm",
                                "-rf",
                                "/etc/sudoers.d/zuul",
                                "/etc/sudoers.d/90-cloud-init-users"
                            ],
                            "delta": "0:00:00.006683",
                            "end": "2026-07-12 19:11:02.725555",
                            "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": "0242ac1f-6606-5aee-1374-000000000009-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:11:02.718872",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-5aee-1374-000000000009-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:02.847147Z",
                            "start": "2026-07-12T19:11:02.329252Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000009",
                        "name": "Remove sudo access for zuul user."
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "! sudo -n true",
                            "delta": "0:00:00.019948",
                            "end": "2026-07-12 19:11:03.203482",
                            "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": "0242ac1f-6606-5aee-1374-00000000000a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:11:03.183534",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "sudo: unable to resolve host debian: Name or service not known\nsudo: a password is required",
                            "stdout_lines": [
                                "sudo: unable to resolve host debian: Name or service not known",
                                "sudo: a password is required"
                            ],
                            "zuul_log_id": "0242ac1f-6606-5aee-1374-00000000000a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-000000000006",
                        "name": "revoke-sudo",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/revoke-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:03.435246Z",
                            "start": "2026-07-12T19:11:02.926681Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-00000000000a",
                        "name": "Prove that general sudo access is actually revoked."
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "stat",
                            "changed": false,
                            "false_condition": "tox_constraints_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:03.487357Z",
                            "start": "2026-07-12T19:11:03.443723Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-00000000000e",
                        "name": "Check to see if the constraints file exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:03.536010Z",
                            "start": "2026-07-12T19:11:03.492194Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-00000000000f",
                        "name": "Fail if constraints file is missing"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_constraints_file is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:03.584452Z",
                            "start": "2026-07-12T19:11:03.541776Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000010",
                        "name": "Record file location"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "siblings.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:03.667516Z",
                            "start": "2026-07-12T19:11:03.594801Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000011",
                        "name": "Install tox siblings"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "--notest",
                                "-edrift-test",
                                "-vv",
                                "--skip-missing-interpreters=false"
                            ],
                            "delta": "0:00:09.274382",
                            "end": "2026-07-12 19:11:13.479151",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox  --notest  -edrift-test  -vv --skip-missing-interpreters=false",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/osism/release",
                                    "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": "0242ac1f-6606-5aee-1374-000000000053-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:11:04.204769",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ROOT: 184 D setup logging to DEBUG on pid 1589 [tox/report.py:229]\ndrift-test: 211 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\ndrift-test: 213 I find interpreter for spec PythonSpec(major=3, free_threaded=False) [python_discovery/_discovery.py:131]\ndrift-test: 216 D get interpreter info via cmd: /usr/bin/python3.11 /home/zuul/.local/tox/lib/python3.11/site-packages/python_discovery/_py_info.py 39e0608e025f4915fc1b8980feaff26e eb58f3ddd4f289d1c251ddb3c21cc079 [python_discovery/_cached_py_info.py:198]\ndrift-test: 290 D wrote python info of /usr/bin/python3.11 at /home/zuul/.cache/virtualenv/py_info/5/ca3ed784184f1b3bb7c3539bfb45e71710cd27667424f92c2d5bb4df9c107c23.json [virtualenv/app_data/via_disk_folder.py:159]\ndrift-test: 290 D filesystem is case-sensitive [python_discovery/_compat.py:18]\ndrift-test: 291 I proposed PythonInfo(spec=CPython3.11.2.final.0-64-x86_64, system=/usr/bin/python3.11, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\ndrift-test: 291 D accepted PythonInfo(spec=CPython3.11.2.final.0-64-x86_64, system=/usr/bin/python3.11, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\ndrift-test: 293 D symlink on filesystem does work [virtualenv/info.py:51]\ndrift-test: 293 D filesystem is case-sensitive [virtualenv/info.py:28]\ndrift-test: 322 I create virtual environment via CPython3Posix(dest=/home/zuul/src/github.com/osism/release/.tox/drift-test, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]\ndrift-test: 322 D create folder /home/zuul/src/github.com/osism/release/.tox/drift-test/bin [virtualenv/util/path/_sync.py:18]\ndrift-test: 323 D create folder /home/zuul/src/github.com/osism/release/.tox/drift-test/include [virtualenv/util/path/_sync.py:18]\ndrift-test: 323 D create folder /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages [virtualenv/util/path/_sync.py:18]\ndrift-test: 323 D write /home/zuul/src/github.com/osism/release/.tox/drift-test/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]\ndrift-test: 323 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 323 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 323 D \tversion_info = 3.11.2.final.0 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 323 D \tversion = 3.11.2 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 323 D \texecutable = /usr/bin/python3.11 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 323 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/osism/release/.tox/drift-test [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 323 D \tvirtualenv = 21.6.1 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 323 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 323 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 323 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 324 D \tbase-executable = /usr/bin/python3.11 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 324 D symlink /usr/bin/python3.11 to /home/zuul/src/github.com/osism/release/.tox/drift-test/bin/python [virtualenv/util/path/_sync.py:38]\ndrift-test: 324 D ============================== target debug ============================== [virtualenv/run/session.py:79]\ndrift-test: 325 D debug via /home/zuul/src/github.com/osism/release/.tox/drift-test/bin/python /home/zuul/.local/tox/lib/python3.11/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:265]\ndrift-test: 324 D {\n  \"sys\": {\n    \"executable\": \"/home/zuul/src/github.com/osism/release/.tox/drift-test/bin/python\",\n    \"_base_executable\": \"/usr/bin/python3.11\",\n    \"prefix\": \"/home/zuul/src/github.com/osism/release/.tox/drift-test\",\n    \"base_prefix\": \"/usr\",\n    \"exec_prefix\": \"/home/zuul/src/github.com/osism/release/.tox/drift-test\",\n    \"base_exec_prefix\": \"/usr\",\n    \"path\": [\n      \"/usr/lib/python311.zip\",\n      \"/usr/lib/python3.11\",\n      \"/usr/lib/python3.11/lib-dynload\",\n      \"/home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages\"\n    ],\n    \"meta_path\": [\n      \"<class '_frozen_importlib.BuiltinImporter'>\",\n      \"<class '_frozen_importlib.FrozenImporter'>\",\n      \"<class '_frozen_importlib_external.PathFinder'>\"\n    ],\n    \"fs_encoding\": \"utf-8\",\n    \"io_encoding\": \"utf-8\"\n  },\n  \"version\": \"3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]\",\n  \"makefile_filename\": \"/usr/lib/python3.11/config-3.11-x86_64-linux-gnu/Makefile\",\n  \"os\": \"<module 'os' (frozen)>\",\n  \"site\": \"<module 'site' (frozen)>\",\n  \"datetime\": \"<module 'datetime' from '/usr/lib/python3.11/datetime.py'>\",\n  \"math\": \"<module 'math' (built-in)>\",\n  \"json\": \"<module 'json' from '/usr/lib/python3.11/json/__init__.py'>\"\n} [virtualenv/run/session.py:80]\ndrift-test: 356 I add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84]\ndrift-test: 368 D install setuptools from wheel /home/zuul/.local/tox/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/setuptools-83.0.0-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]\ndrift-test: 368 D install pip from wheel /home/zuul/.local/tox/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/pip-26.1.2-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]\ndrift-test: 370 D build install image for setuptools-83.0.0-py3-none-any.whl to /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any [virtualenv/seed/embed/via_app_data/pip_install/base.py:81]\ndrift-test: 371 D build install image for pip-26.1.2-py3-none-any.whl to /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/pip-26.1.2-py3-none-any [virtualenv/seed/embed/via_app_data/pip_install/base.py:81]\ndrift-test: 720 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/setuptools-83.0.0.dist-info to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/setuptools-83.0.0.dist-info [virtualenv/util/path/_sync.py:46]\ndrift-test: 722 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/_distutils_hack to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/_distutils_hack [virtualenv/util/path/_sync.py:46]\ndrift-test: 723 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/setuptools to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/setuptools [virtualenv/util/path/_sync.py:46]\ndrift-test: 768 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/pip [virtualenv/util/path/_sync.py:46]\ndrift-test: 852 D copy /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/setuptools-83.0.0.virtualenv to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/setuptools-83.0.0.virtualenv [virtualenv/util/path/_sync.py:46]\ndrift-test: 853 D copy /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/distutils-precedence.pth to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/distutils-precedence.pth [virtualenv/util/path/_sync.py:46]\ndrift-test: 853 D generated console scripts  [virtualenv/seed/embed/via_app_data/pip_install/base.py:69]\ndrift-test: 864 D copy /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.virtualenv to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/pip-26.1.2.virtualenv [virtualenv/util/path/_sync.py:46]\ndrift-test: 865 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.dist-info to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/pip-26.1.2.dist-info [virtualenv/util/path/_sync.py:46]\ndrift-test: 871 D generated console scripts pip pip3 pip3.11 pip-3.11 [virtualenv/seed/embed/via_app_data/pip_install/base.py:69]\ndrift-test: 871 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python, Xonsh [virtualenv/run/session.py:90]\ndrift-test: 877 D write /home/zuul/src/github.com/osism/release/.tox/drift-test/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]\ndrift-test: 877 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \tversion_info = 3.11.2.final.0 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \tversion = 3.11.2 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \texecutable = /usr/bin/python3.11 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/osism/release/.tox/drift-test [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \tvirtualenv = 21.6.1 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 877 D \tbase-executable = /usr/bin/python3.11 [virtualenv/create/pyenv_cfg.py:51]\ndrift-test: 881 W install_deps> python -I -m pip install -r requirements.txt [tox/tox_env/api.py:485]\nCollecting GitPython==3.1.50 (from -r requirements.txt (line 1))\n  Downloading gitpython-3.1.50-py3-none-any.whl.metadata (14 kB)\nCollecting PyDriller==2.10 (from -r requirements.txt (line 2))\n  Downloading pydriller-2.10-py3-none-any.whl.metadata (1.5 kB)\nCollecting PyGithub==2.9.1 (from -r requirements.txt (line 3))\n  Downloading pygithub-2.9.1-py3-none-any.whl.metadata (3.9 kB)\nCollecting PyYAML==6.0.3 (from -r requirements.txt (line 4))\n  Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)\nCollecting dictdiffer==0.9.0 (from -r requirements.txt (line 5))\n  Downloading dictdiffer-0.9.0-py2.py3-none-any.whl.metadata (4.8 kB)\nCollecting docker==7.1.0 (from -r requirements.txt (line 6))\n  Downloading docker-7.1.0-py3-none-any.whl.metadata (3.8 kB)\nCollecting pytest==8.3.4 (from -r requirements.txt (line 7))\n  Downloading pytest-8.3.4-py3-none-any.whl.metadata (7.5 kB)\nCollecting requests==2.34.2 (from -r requirements.txt (line 8))\n  Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)\nCollecting responses==0.25.3 (from -r requirements.txt (line 9))\n  Downloading responses-0.25.3-py3-none-any.whl.metadata (46 kB)\nCollecting ruamel.yaml==0.19.1 (from -r requirements.txt (line 10))\n  Downloading ruamel_yaml-0.19.1-py3-none-any.whl.metadata (16 kB)\nCollecting tabulate==0.10.0 (from -r requirements.txt (line 11))\n  Downloading tabulate-0.10.0-py3-none-any.whl.metadata (40 kB)\nCollecting gitdb<5,>=4.0.1 (from GitPython==3.1.50->-r requirements.txt (line 1))\n  Downloading gitdb-4.0.12-py3-none-any.whl.metadata (1.2 kB)\nCollecting pytz (from PyDriller==2.10->-r requirements.txt (line 2))\n  Downloading pytz-2026.2-py2.py3-none-any.whl.metadata (22 kB)\nCollecting types-pytz (from PyDriller==2.10->-r requirements.txt (line 2))\n  Downloading types_pytz-2026.2.0.20260518-py3-none-any.whl.metadata (1.7 kB)\nCollecting lizard (from PyDriller==2.10->-r requirements.txt (line 2))\n  Downloading lizard-1.23.0-py2.py3-none-any.whl.metadata (17 kB)\nCollecting pynacl>=1.4.0 (from PyGithub==2.9.1->-r requirements.txt (line 3))\n  Downloading pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl.metadata (10.0 kB)\nCollecting pyjwt>=2.4.0 (from pyjwt[crypto]>=2.4.0->PyGithub==2.9.1->-r requirements.txt (line 3))\n  Downloading pyjwt-2.13.0-py3-none-any.whl.metadata (3.4 kB)\nCollecting typing-extensions>=4.5.0 (from PyGithub==2.9.1->-r requirements.txt (line 3))\n  Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)\nCollecting urllib3>=1.26.0 (from PyGithub==2.9.1->-r requirements.txt (line 3))\n  Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB)\nCollecting iniconfig (from pytest==8.3.4->-r requirements.txt (line 7))\n  Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB)\nCollecting packaging (from pytest==8.3.4->-r requirements.txt (line 7))\n  Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB)\nCollecting pluggy<2,>=1.5 (from pytest==8.3.4->-r requirements.txt (line 7))\n  Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB)\nCollecting charset_normalizer<4,>=2 (from requests==2.34.2->-r requirements.txt (line 8))\n  Downloading charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (41 kB)\nCollecting idna<4,>=2.5 (from requests==2.34.2->-r requirements.txt (line 8))\n  Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB)\nCollecting certifi>=2023.5.7 (from requests==2.34.2->-r requirements.txt (line 8))\n  Downloading certifi-2026.6.17-py3-none-any.whl.metadata (2.5 kB)\nCollecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->GitPython==3.1.50->-r requirements.txt (line 1))\n  Downloading smmap-5.0.3-py3-none-any.whl.metadata (4.6 kB)\nCollecting cryptography>=3.4.0 (from pyjwt[crypto]>=2.4.0->PyGithub==2.9.1->-r requirements.txt (line 3))\n  Downloading cryptography-49.0.0-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (4.3 kB)\nCollecting cffi>=2.0.0 (from cryptography>=3.4.0->pyjwt[crypto]>=2.4.0->PyGithub==2.9.1->-r requirements.txt (line 3))\n  Downloading cffi-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)\nCollecting pycparser (from cffi>=2.0.0->cryptography>=3.4.0->pyjwt[crypto]>=2.4.0->PyGithub==2.9.1->-r requirements.txt (line 3))\n  Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)\nCollecting pygments (from lizard->PyDriller==2.10->-r requirements.txt (line 2))\n  Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB)\nCollecting pathspec (from lizard->PyDriller==2.10->-r requirements.txt (line 2))\n  Downloading pathspec-1.1.1-py3-none-any.whl.metadata (14 kB)\nDownloading gitpython-3.1.50-py3-none-any.whl (212 kB)\nDownloading pydriller-2.10-py3-none-any.whl (37 kB)\nDownloading pygithub-2.9.1-py3-none-any.whl (449 kB)\nDownloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (806 kB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 806.6/806.6 kB 29.5 MB/s  0:00:00\nDownloading dictdiffer-0.9.0-py2.py3-none-any.whl (16 kB)\nDownloading docker-7.1.0-py3-none-any.whl (147 kB)\nDownloading pytest-8.3.4-py3-none-any.whl (343 kB)\nDownloading requests-2.34.2-py3-none-any.whl (73 kB)\nDownloading responses-0.25.3-py3-none-any.whl (55 kB)\nDownloading ruamel_yaml-0.19.1-py3-none-any.whl (118 kB)\nDownloading tabulate-0.10.0-py3-none-any.whl (39 kB)\nDownloading charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (221 kB)\nDownloading gitdb-4.0.12-py3-none-any.whl (62 kB)\nDownloading idna-3.18-py3-none-any.whl (65 kB)\nDownloading pluggy-1.6.0-py3-none-any.whl (20 kB)\nDownloading smmap-5.0.3-py3-none-any.whl (24 kB)\nDownloading urllib3-2.7.0-py3-none-any.whl (131 kB)\nDownloading certifi-2026.6.17-py3-none-any.whl (133 kB)\nDownloading pyjwt-2.13.0-py3-none-any.whl (31 kB)\nDownloading cryptography-49.0.0-cp311-abi3-manylinux_2_34_x86_64.whl (4.7 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.7/4.7 MB 31.9 MB/s  0:00:00\nDownloading cffi-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (217 kB)\nDownloading pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl (1.4 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.4/1.4 MB 44.3 MB/s  0:00:00\nDownloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)\nDownloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB)\nDownloading lizard-1.23.0-py2.py3-none-any.whl (100 kB)\nDownloading packaging-26.2-py3-none-any.whl (100 kB)\nDownloading pathspec-1.1.1-py3-none-any.whl (57 kB)\nDownloading pycparser-3.0-py3-none-any.whl (48 kB)\nDownloading pygments-2.20.0-py3-none-any.whl (1.2 MB)\n   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.2/1.2 MB 13.0 MB/s  0:00:00\nDownloading pytz-2026.2-py2.py3-none-any.whl (510 kB)\nDownloading types_pytz-2026.2.0.20260518-py3-none-any.whl (10 kB)\nInstalling collected packages: pytz, dictdiffer, urllib3, typing-extensions, types-pytz, tabulate, smmap, ruamel.yaml, PyYAML, pyjwt, pygments, pycparser, pluggy, pathspec, packaging, iniconfig, idna, charset_normalizer, certifi, requests, pytest, lizard, gitdb, cffi, responses, pynacl, GitPython, docker, cryptography, PyDriller, PyGithub\n\nSuccessfully installed GitPython-3.1.50 PyDriller-2.10 PyGithub-2.9.1 PyYAML-6.0.3 certifi-2026.6.17 cffi-2.1.0 charset_normalizer-3.4.9 cryptography-49.0.0 dictdiffer-0.9.0 docker-7.1.0 gitdb-4.0.12 idna-3.18 iniconfig-2.3.0 lizard-1.23.0 packaging-26.2 pathspec-1.1.1 pluggy-1.6.0 pycparser-3.0 pygments-2.20.0 pyjwt-2.13.0 pynacl-1.6.2 pytest-8.3.4 pytz-2026.2 requests-2.34.2 responses-0.25.3 ruamel.yaml-0.19.1 smmap-5.0.3 tabulate-0.10.0 types-pytz-2026.2.0.20260518 typing-extensions-4.16.0 urllib3-2.7.0\ndrift-test: 9189 I exit 0 (8.31 seconds) /home/zuul/src/github.com/osism/release> python -I -m pip install -r requirements.txt pid=1602 [tox/execute/api.py:308]\n  drift-test: OK (8.98 seconds)\n  congratulations :) (9.01 seconds)",
                            "stdout_lines": [
                                "ROOT: 184 D setup logging to DEBUG on pid 1589 [tox/report.py:229]",
                                "drift-test: 211 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                "drift-test: 213 I find interpreter for spec PythonSpec(major=3, free_threaded=False) [python_discovery/_discovery.py:131]",
                                "drift-test: 216 D get interpreter info via cmd: /usr/bin/python3.11 /home/zuul/.local/tox/lib/python3.11/site-packages/python_discovery/_py_info.py 39e0608e025f4915fc1b8980feaff26e eb58f3ddd4f289d1c251ddb3c21cc079 [python_discovery/_cached_py_info.py:198]",
                                "drift-test: 290 D wrote python info of /usr/bin/python3.11 at /home/zuul/.cache/virtualenv/py_info/5/ca3ed784184f1b3bb7c3539bfb45e71710cd27667424f92c2d5bb4df9c107c23.json [virtualenv/app_data/via_disk_folder.py:159]",
                                "drift-test: 290 D filesystem is case-sensitive [python_discovery/_compat.py:18]",
                                "drift-test: 291 I proposed PythonInfo(spec=CPython3.11.2.final.0-64-x86_64, system=/usr/bin/python3.11, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                "drift-test: 291 D accepted PythonInfo(spec=CPython3.11.2.final.0-64-x86_64, system=/usr/bin/python3.11, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                "drift-test: 293 D symlink on filesystem does work [virtualenv/info.py:51]",
                                "drift-test: 293 D filesystem is case-sensitive [virtualenv/info.py:28]",
                                "drift-test: 322 I create virtual environment via CPython3Posix(dest=/home/zuul/src/github.com/osism/release/.tox/drift-test, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77]",
                                "drift-test: 322 D create folder /home/zuul/src/github.com/osism/release/.tox/drift-test/bin [virtualenv/util/path/_sync.py:18]",
                                "drift-test: 323 D create folder /home/zuul/src/github.com/osism/release/.tox/drift-test/include [virtualenv/util/path/_sync.py:18]",
                                "drift-test: 323 D create folder /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages [virtualenv/util/path/_sync.py:18]",
                                "drift-test: 323 D write /home/zuul/src/github.com/osism/release/.tox/drift-test/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]",
                                "drift-test: 323 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 323 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 323 D \tversion_info = 3.11.2.final.0 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 323 D \tversion = 3.11.2 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 323 D \texecutable = /usr/bin/python3.11 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 323 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/osism/release/.tox/drift-test [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 323 D \tvirtualenv = 21.6.1 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 323 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 323 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 323 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 324 D \tbase-executable = /usr/bin/python3.11 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 324 D symlink /usr/bin/python3.11 to /home/zuul/src/github.com/osism/release/.tox/drift-test/bin/python [virtualenv/util/path/_sync.py:38]",
                                "drift-test: 324 D ============================== target debug ============================== [virtualenv/run/session.py:79]",
                                "drift-test: 325 D debug via /home/zuul/src/github.com/osism/release/.tox/drift-test/bin/python /home/zuul/.local/tox/lib/python3.11/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:265]",
                                "drift-test: 324 D {",
                                "  \"sys\": {",
                                "    \"executable\": \"/home/zuul/src/github.com/osism/release/.tox/drift-test/bin/python\",",
                                "    \"_base_executable\": \"/usr/bin/python3.11\",",
                                "    \"prefix\": \"/home/zuul/src/github.com/osism/release/.tox/drift-test\",",
                                "    \"base_prefix\": \"/usr\",",
                                "    \"exec_prefix\": \"/home/zuul/src/github.com/osism/release/.tox/drift-test\",",
                                "    \"base_exec_prefix\": \"/usr\",",
                                "    \"path\": [",
                                "      \"/usr/lib/python311.zip\",",
                                "      \"/usr/lib/python3.11\",",
                                "      \"/usr/lib/python3.11/lib-dynload\",",
                                "      \"/home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages\"",
                                "    ],",
                                "    \"meta_path\": [",
                                "      \"<class '_frozen_importlib.BuiltinImporter'>\",",
                                "      \"<class '_frozen_importlib.FrozenImporter'>\",",
                                "      \"<class '_frozen_importlib_external.PathFinder'>\"",
                                "    ],",
                                "    \"fs_encoding\": \"utf-8\",",
                                "    \"io_encoding\": \"utf-8\"",
                                "  },",
                                "  \"version\": \"3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]\",",
                                "  \"makefile_filename\": \"/usr/lib/python3.11/config-3.11-x86_64-linux-gnu/Makefile\",",
                                "  \"os\": \"<module 'os' (frozen)>\",",
                                "  \"site\": \"<module 'site' (frozen)>\",",
                                "  \"datetime\": \"<module 'datetime' from '/usr/lib/python3.11/datetime.py'>\",",
                                "  \"math\": \"<module 'math' (built-in)>\",",
                                "  \"json\": \"<module 'json' from '/usr/lib/python3.11/json/__init__.py'>\"",
                                "} [virtualenv/run/session.py:80]",
                                "drift-test: 356 I add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84]",
                                "drift-test: 368 D install setuptools from wheel /home/zuul/.local/tox/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/setuptools-83.0.0-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]",
                                "drift-test: 368 D install pip from wheel /home/zuul/.local/tox/lib/python3.11/site-packages/virtualenv/seed/wheels/embed/pip-26.1.2-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65]",
                                "drift-test: 370 D build install image for setuptools-83.0.0-py3-none-any.whl to /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any [virtualenv/seed/embed/via_app_data/pip_install/base.py:81]",
                                "drift-test: 371 D build install image for pip-26.1.2-py3-none-any.whl to /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/pip-26.1.2-py3-none-any [virtualenv/seed/embed/via_app_data/pip_install/base.py:81]",
                                "drift-test: 720 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/setuptools-83.0.0.dist-info to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/setuptools-83.0.0.dist-info [virtualenv/util/path/_sync.py:46]",
                                "drift-test: 722 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/_distutils_hack to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/_distutils_hack [virtualenv/util/path/_sync.py:46]",
                                "drift-test: 723 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/setuptools to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/setuptools [virtualenv/util/path/_sync.py:46]",
                                "drift-test: 768 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/pip [virtualenv/util/path/_sync.py:46]",
                                "drift-test: 852 D copy /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/setuptools-83.0.0.virtualenv to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/setuptools-83.0.0.virtualenv [virtualenv/util/path/_sync.py:46]",
                                "drift-test: 853 D copy /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/setuptools-83.0.0-py3-none-any/distutils-precedence.pth to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/distutils-precedence.pth [virtualenv/util/path/_sync.py:46]",
                                "drift-test: 853 D generated console scripts  [virtualenv/seed/embed/via_app_data/pip_install/base.py:69]",
                                "drift-test: 864 D copy /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.virtualenv to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/pip-26.1.2.virtualenv [virtualenv/util/path/_sync.py:46]",
                                "drift-test: 865 D copy directory /home/zuul/.cache/virtualenv/wheel/3.11/image/1/CopyPipInstall/pip-26.1.2-py3-none-any/pip-26.1.2.dist-info to /home/zuul/src/github.com/osism/release/.tox/drift-test/lib/python3.11/site-packages/pip-26.1.2.dist-info [virtualenv/util/path/_sync.py:46]",
                                "drift-test: 871 D generated console scripts pip pip3 pip3.11 pip-3.11 [virtualenv/seed/embed/via_app_data/pip_install/base.py:69]",
                                "drift-test: 871 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python, Xonsh [virtualenv/run/session.py:90]",
                                "drift-test: 877 D write /home/zuul/src/github.com/osism/release/.tox/drift-test/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41]",
                                "drift-test: 877 D \thome = /usr/bin [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \timplementation = CPython [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \tversion_info = 3.11.2.final.0 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \tversion = 3.11.2 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \texecutable = /usr/bin/python3.11 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \tcommand = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/osism/release/.tox/drift-test [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \tvirtualenv = 21.6.1 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \tinclude-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \tbase-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \tbase-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 877 D \tbase-executable = /usr/bin/python3.11 [virtualenv/create/pyenv_cfg.py:51]",
                                "drift-test: 881 W install_deps> python -I -m pip install -r requirements.txt [tox/tox_env/api.py:485]",
                                "Collecting GitPython==3.1.50 (from -r requirements.txt (line 1))",
                                "  Downloading gitpython-3.1.50-py3-none-any.whl.metadata (14 kB)",
                                "Collecting PyDriller==2.10 (from -r requirements.txt (line 2))",
                                "  Downloading pydriller-2.10-py3-none-any.whl.metadata (1.5 kB)",
                                "Collecting PyGithub==2.9.1 (from -r requirements.txt (line 3))",
                                "  Downloading pygithub-2.9.1-py3-none-any.whl.metadata (3.9 kB)",
                                "Collecting PyYAML==6.0.3 (from -r requirements.txt (line 4))",
                                "  Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)",
                                "Collecting dictdiffer==0.9.0 (from -r requirements.txt (line 5))",
                                "  Downloading dictdiffer-0.9.0-py2.py3-none-any.whl.metadata (4.8 kB)",
                                "Collecting docker==7.1.0 (from -r requirements.txt (line 6))",
                                "  Downloading docker-7.1.0-py3-none-any.whl.metadata (3.8 kB)",
                                "Collecting pytest==8.3.4 (from -r requirements.txt (line 7))",
                                "  Downloading pytest-8.3.4-py3-none-any.whl.metadata (7.5 kB)",
                                "Collecting requests==2.34.2 (from -r requirements.txt (line 8))",
                                "  Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)",
                                "Collecting responses==0.25.3 (from -r requirements.txt (line 9))",
                                "  Downloading responses-0.25.3-py3-none-any.whl.metadata (46 kB)",
                                "Collecting ruamel.yaml==0.19.1 (from -r requirements.txt (line 10))",
                                "  Downloading ruamel_yaml-0.19.1-py3-none-any.whl.metadata (16 kB)",
                                "Collecting tabulate==0.10.0 (from -r requirements.txt (line 11))",
                                "  Downloading tabulate-0.10.0-py3-none-any.whl.metadata (40 kB)",
                                "Collecting gitdb<5,>=4.0.1 (from GitPython==3.1.50->-r requirements.txt (line 1))",
                                "  Downloading gitdb-4.0.12-py3-none-any.whl.metadata (1.2 kB)",
                                "Collecting pytz (from PyDriller==2.10->-r requirements.txt (line 2))",
                                "  Downloading pytz-2026.2-py2.py3-none-any.whl.metadata (22 kB)",
                                "Collecting types-pytz (from PyDriller==2.10->-r requirements.txt (line 2))",
                                "  Downloading types_pytz-2026.2.0.20260518-py3-none-any.whl.metadata (1.7 kB)",
                                "Collecting lizard (from PyDriller==2.10->-r requirements.txt (line 2))",
                                "  Downloading lizard-1.23.0-py2.py3-none-any.whl.metadata (17 kB)",
                                "Collecting pynacl>=1.4.0 (from PyGithub==2.9.1->-r requirements.txt (line 3))",
                                "  Downloading pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl.metadata (10.0 kB)",
                                "Collecting pyjwt>=2.4.0 (from pyjwt[crypto]>=2.4.0->PyGithub==2.9.1->-r requirements.txt (line 3))",
                                "  Downloading pyjwt-2.13.0-py3-none-any.whl.metadata (3.4 kB)",
                                "Collecting typing-extensions>=4.5.0 (from PyGithub==2.9.1->-r requirements.txt (line 3))",
                                "  Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)",
                                "Collecting urllib3>=1.26.0 (from PyGithub==2.9.1->-r requirements.txt (line 3))",
                                "  Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB)",
                                "Collecting iniconfig (from pytest==8.3.4->-r requirements.txt (line 7))",
                                "  Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB)",
                                "Collecting packaging (from pytest==8.3.4->-r requirements.txt (line 7))",
                                "  Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB)",
                                "Collecting pluggy<2,>=1.5 (from pytest==8.3.4->-r requirements.txt (line 7))",
                                "  Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB)",
                                "Collecting charset_normalizer<4,>=2 (from requests==2.34.2->-r requirements.txt (line 8))",
                                "  Downloading charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (41 kB)",
                                "Collecting idna<4,>=2.5 (from requests==2.34.2->-r requirements.txt (line 8))",
                                "  Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB)",
                                "Collecting certifi>=2023.5.7 (from requests==2.34.2->-r requirements.txt (line 8))",
                                "  Downloading certifi-2026.6.17-py3-none-any.whl.metadata (2.5 kB)",
                                "Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->GitPython==3.1.50->-r requirements.txt (line 1))",
                                "  Downloading smmap-5.0.3-py3-none-any.whl.metadata (4.6 kB)",
                                "Collecting cryptography>=3.4.0 (from pyjwt[crypto]>=2.4.0->PyGithub==2.9.1->-r requirements.txt (line 3))",
                                "  Downloading cryptography-49.0.0-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (4.3 kB)",
                                "Collecting cffi>=2.0.0 (from cryptography>=3.4.0->pyjwt[crypto]>=2.4.0->PyGithub==2.9.1->-r requirements.txt (line 3))",
                                "  Downloading cffi-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)",
                                "Collecting pycparser (from cffi>=2.0.0->cryptography>=3.4.0->pyjwt[crypto]>=2.4.0->PyGithub==2.9.1->-r requirements.txt (line 3))",
                                "  Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)",
                                "Collecting pygments (from lizard->PyDriller==2.10->-r requirements.txt (line 2))",
                                "  Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB)",
                                "Collecting pathspec (from lizard->PyDriller==2.10->-r requirements.txt (line 2))",
                                "  Downloading pathspec-1.1.1-py3-none-any.whl.metadata (14 kB)",
                                "Downloading gitpython-3.1.50-py3-none-any.whl (212 kB)",
                                "Downloading pydriller-2.10-py3-none-any.whl (37 kB)",
                                "Downloading pygithub-2.9.1-py3-none-any.whl (449 kB)",
                                "Downloading pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (806 kB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 806.6/806.6 kB 29.5 MB/s  0:00:00",
                                "Downloading dictdiffer-0.9.0-py2.py3-none-any.whl (16 kB)",
                                "Downloading docker-7.1.0-py3-none-any.whl (147 kB)",
                                "Downloading pytest-8.3.4-py3-none-any.whl (343 kB)",
                                "Downloading requests-2.34.2-py3-none-any.whl (73 kB)",
                                "Downloading responses-0.25.3-py3-none-any.whl (55 kB)",
                                "Downloading ruamel_yaml-0.19.1-py3-none-any.whl (118 kB)",
                                "Downloading tabulate-0.10.0-py3-none-any.whl (39 kB)",
                                "Downloading charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (221 kB)",
                                "Downloading gitdb-4.0.12-py3-none-any.whl (62 kB)",
                                "Downloading idna-3.18-py3-none-any.whl (65 kB)",
                                "Downloading pluggy-1.6.0-py3-none-any.whl (20 kB)",
                                "Downloading smmap-5.0.3-py3-none-any.whl (24 kB)",
                                "Downloading urllib3-2.7.0-py3-none-any.whl (131 kB)",
                                "Downloading certifi-2026.6.17-py3-none-any.whl (133 kB)",
                                "Downloading pyjwt-2.13.0-py3-none-any.whl (31 kB)",
                                "Downloading cryptography-49.0.0-cp311-abi3-manylinux_2_34_x86_64.whl (4.7 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.7/4.7 MB 31.9 MB/s  0:00:00",
                                "Downloading cffi-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (217 kB)",
                                "Downloading pynacl-1.6.2-cp38-abi3-manylinux_2_34_x86_64.whl (1.4 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.4/1.4 MB 44.3 MB/s  0:00:00",
                                "Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)",
                                "Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB)",
                                "Downloading lizard-1.23.0-py2.py3-none-any.whl (100 kB)",
                                "Downloading packaging-26.2-py3-none-any.whl (100 kB)",
                                "Downloading pathspec-1.1.1-py3-none-any.whl (57 kB)",
                                "Downloading pycparser-3.0-py3-none-any.whl (48 kB)",
                                "Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB)",
                                "   \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.2/1.2 MB 13.0 MB/s  0:00:00",
                                "Downloading pytz-2026.2-py2.py3-none-any.whl (510 kB)",
                                "Downloading types_pytz-2026.2.0.20260518-py3-none-any.whl (10 kB)",
                                "Installing collected packages: pytz, dictdiffer, urllib3, typing-extensions, types-pytz, tabulate, smmap, ruamel.yaml, PyYAML, pyjwt, pygments, pycparser, pluggy, pathspec, packaging, iniconfig, idna, charset_normalizer, certifi, requests, pytest, lizard, gitdb, cffi, responses, pynacl, GitPython, docker, cryptography, PyDriller, PyGithub",
                                "",
                                "Successfully installed GitPython-3.1.50 PyDriller-2.10 PyGithub-2.9.1 PyYAML-6.0.3 certifi-2026.6.17 cffi-2.1.0 charset_normalizer-3.4.9 cryptography-49.0.0 dictdiffer-0.9.0 docker-7.1.0 gitdb-4.0.12 idna-3.18 iniconfig-2.3.0 lizard-1.23.0 packaging-26.2 pathspec-1.1.1 pluggy-1.6.0 pycparser-3.0 pygments-2.20.0 pyjwt-2.13.0 pynacl-1.6.2 pytest-8.3.4 pytz-2026.2 requests-2.34.2 responses-0.25.3 ruamel.yaml-0.19.1 smmap-5.0.3 tabulate-0.10.0 types-pytz-2026.2.0.20260518 typing-extensions-4.16.0 urllib3-2.7.0",
                                "drift-test: 9189 I exit 0 (8.31 seconds) /home/zuul/src/github.com/osism/release> python -I -m pip install -r requirements.txt pid=1602 [tox/execute/api.py:308]",
                                "  drift-test: OK (8.98 seconds)",
                                "  congratulations :) (9.01 seconds)"
                            ],
                            "zuul_log_id": "0242ac1f-6606-5aee-1374-000000000053-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:13.796745Z",
                            "start": "2026-07-12T19:11:03.803623Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000053",
                        "name": "Run tox without tests"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "tempfile",
                            "changed": true,
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "path": null,
                                    "prefix": "ansible.",
                                    "state": "file",
                                    "suffix": ""
                                }
                            },
                            "mode": "0600",
                            "owner": "zuul",
                            "path": "/tmp/ansible.ywqxkvts",
                            "size": 0,
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:14.221093Z",
                            "start": "2026-07-12T19:11:13.802514Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000054",
                        "name": "Create a tempfile to save tox showconfig"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "--version",
                                "--quiet"
                            ],
                            "delta": "0:00:00.282347",
                            "end": "2026-07-12 19:11:14.793220",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox --version --quiet",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/osism/release",
                                    "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": "0242ac1f-6606-5aee-1374-000000000055-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:11:14.510873",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "4.56.4 from /home/zuul/.local/tox/lib/python3.11/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "4.56.4 from /home/zuul/.local/tox/lib/python3.11/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "0242ac1f-6606-5aee-1374-000000000055-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:15.280612Z",
                            "start": "2026-07-12T19:11:14.274397Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000055",
                        "name": "Detect tox version"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "/home/zuul/.local/tox/bin/tox   config   -edrift-test  > /tmp/ansible.ywqxkvts",
                            "delta": "0:00:00.316429",
                            "end": "2026-07-12 19:11:15.930342",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox   config   -edrift-test  > /tmp/ansible.ywqxkvts",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": "src/github.com/osism/release",
                                    "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": "0242ac1f-6606-5aee-1374-000000000056-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:11:15.613913",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-5aee-1374-000000000056-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:16.333685Z",
                            "start": "2026-07-12T19:11:15.322729Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000056",
                        "name": "Get tox envlist config"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "tox_install_sibling_packages",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "project_dir": "src/github.com/osism/release",
                                    "projects": [],
                                    "tox_constraints_file": null,
                                    "tox_package_name": null,
                                    "tox_show_config": "/tmp/ansible.ywqxkvts"
                                }
                            },
                            "msg": "No setup.cfg, no action needed"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:16.903172Z",
                            "start": "2026-07-12T19:11:16.340156Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000057",
                        "name": "Install any sibling python packages"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/ansible.ywqxkvts",
                                    "state": "absent"
                                },
                                "before": {
                                    "path": "/tmp/ansible.ywqxkvts",
                                    "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.ywqxkvts",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "absent",
                                    "unsafe_writes": false
                                }
                            },
                            "path": "/tmp/ansible.ywqxkvts",
                            "state": "absent"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:17.431644Z",
                            "start": "2026-07-12T19:11:16.910952Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000058",
                        "name": "Remove tempfile"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "debug",
                            "changed": false,
                            "msg": "/home/zuul/.local/tox/bin/tox   -edrift-test  -vv --skip-missing-interpreters=false"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:17.485417Z",
                            "start": "2026-07-12T19:11:17.443397Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000012",
                        "name": "Emit tox command"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "-edrift-test",
                                "-vv",
                                "--skip-missing-interpreters=false"
                            ],
                            "delta": "0:00:04.791994",
                            "end": "2026-07-12 19:11:22.648214",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox   -edrift-test  -vv --skip-missing-interpreters=false",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/osism/release",
                                    "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": "0242ac1f-6606-5aee-1374-000000000014-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:11:17.856220",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ROOT: 187 D setup logging to DEBUG on pid 1759 [tox/report.py:229]\ndrift-test: 213 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]\ndrift-test: 216 I find interpreter for spec PythonSpec(major=3, free_threaded=False) [python_discovery/_discovery.py:131]\ndrift-test: 219 D got python info of /usr/bin/python3.11 from /home/zuul/.cache/virtualenv/py_info/5/ca3ed784184f1b3bb7c3539bfb45e71710cd27667424f92c2d5bb4df9c107c23.json [virtualenv/app_data/via_disk_folder.py:139]\ndrift-test: 220 D filesystem is case-sensitive [python_discovery/_compat.py:18]\ndrift-test: 220 I proposed PythonInfo(spec=CPython3.11.2.final.0-64-x86_64, system=/usr/bin/python3.11, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]\ndrift-test: 220 D accepted PythonInfo(spec=CPython3.11.2.final.0-64-x86_64, system=/usr/bin/python3.11, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]\ndrift-test: 222 D symlink on filesystem does work [virtualenv/info.py:51]\ndrift-test: 222 D filesystem is case-sensitive [virtualenv/info.py:28]\ndrift-test: 253 W commands[0]> pytest tests/ -v [tox/tox_env/api.py:485]\n============================= test session starts ==============================\nplatform linux -- Python 3.11.2, pytest-8.3.4, pluggy-1.6.0 -- /home/zuul/src/github.com/osism/release/.tox/drift-test/bin/python\ncachedir: .tox/drift-test/.pytest_cache\nrootdir: /home/zuul/src/github.com/osism/release\ncollecting ... collected 332 items\n\ntests/image_drift/test_demo.py::test_three_entries_per_plugin PASSED     [  0%]\ntests/image_drift/test_demo.py::test_entries_carry_live_plugin_text PASSED [  0%]\ntests/image_drift/test_demo.py::test_entries_are_actionable PASSED       [  0%]\ntests/image_drift/test_demo.py::test_show_values_plugin_covers_both_render_branches PASSED [  1%]\ntests/image_drift/test_demo.py::test_paths_reflect_plugin_input_files PASSED [  1%]\ntests/image_drift/test_driver.py::test_help_lists_plugins PASSED         [  1%]\ntests/image_drift/test_driver.py::test_default_run_exits_1_with_drifting_images PASSED [  2%]\ntests/image_drift/test_driver.py::test_allowlisted_osism_ansible_hidden_by_default PASSED [  2%]\ntests/image_drift/test_driver.py::test_no_allowlist_surfaces_osism_ansible PASSED [  2%]\ntests/image_drift/test_driver.py::test_format_json_keys PASSED           [  3%]\ntests/image_drift/test_driver.py::test_plugin_filter_runs_only_role_shadows PASSED [  3%]\ntests/image_drift/test_driver.py::test_summary_line_counts PASSED        [  3%]\ntests/image_drift/test_driver.py::test_advisory_only_exits_0 PASSED      [  3%]\ntests/image_drift/test_driver.py::test_advisory_finding_in_default_json PASSED [  4%]\ntests/image_drift/test_driver.py::test_missing_group_errors PASSED       [  4%]\ntests/image_drift/test_image_orphan.py::test_orphan_alias_detected PASSED [  4%]\ntests/image_drift/test_image_orphan.py::test_consumed_alias_not_detected PASSED [  5%]\ntests/image_drift/test_image_orphan.py::test_playbook_consumed_alias_not_detected PASSED [  5%]\ntests/image_drift/test_image_orphan.py::test_non_text_files_are_not_read PASSED [  5%]\ntests/image_drift/test_image_orphan.py::test_allowlist_suppresses_orphan PASSED [  6%]\ntests/image_drift/test_manager_parser.py::test_plain_value PASSED        [  6%]\ntests/image_drift/test_manager_parser.py::test_latest_override_pattern PASSED [  6%]\ntests/image_drift/test_manager_parser.py::test_unresolved_jinja_marked PASSED [  6%]\ntests/image_drift/test_manager_parser.py::test_multiple_entries PASSED   [  7%]\ntests/image_drift/test_manager_template_parser.py::test_basic_alias_extraction PASSED [  7%]\ntests/image_drift/test_manager_template_parser.py::test_jinja_escaped_lines_ignored PASSED [  7%]\ntests/image_drift/test_manager_template_parser.py::test_double_quoted_versions_key PASSED [  8%]\ntests/image_drift/test_manager_template_parser.py::test_lines_without_pattern_skipped PASSED [  8%]\ntests/image_drift/test_manager_template_parser.py::test_extract_stream_resolved_basic PASSED [  8%]\ntests/image_drift/test_manager_template_parser.py::test_extract_stream_resolved_multiple PASSED [  9%]\ntests/image_drift/test_override_template_parser.py::test_returns_tag_aliases_only PASSED [  9%]\ntests/image_drift/test_override_template_parser.py::test_ignores_image_lines PASSED [  9%]\ntests/image_drift/test_override_template_parser.py::test_empty_input PASSED [  9%]\ntests/image_drift/test_override_template_parser.py::test_comment_and_blank_lines_ignored PASSED [ 10%]\ntests/image_drift/test_plugin_registry.py::test_image_plugins_registered PASSED [ 10%]\ntests/image_drift/test_plugin_registry.py::test_image_plugin_group_matches_registry PASSED [ 10%]\ntests/image_drift/test_plugin_registry.py::test_role_unpinned_enabled_in_config PASSED [ 11%]\ntests/image_drift/test_plugin_registry.py::test_image_orphan_enabled_in_config PASSED [ 11%]\ntests/image_drift/test_plugin_registry.py::test_each_plugin_has_required_metadata PASSED [ 11%]\ntests/image_drift/test_release_parser.py::test_parse_release_returns_docker_images PASSED [ 12%]\ntests/image_drift/test_release_parser.py::test_parse_release_missing_docker_images_errors PASSED [ 12%]\ntests/image_drift/test_release_vs_manager.py::test_baseline_drift PASSED [ 12%]\ntests/image_drift/test_release_vs_manager.py::test_allowlist_broad_suppresses_all_redis PASSED [ 12%]\ntests/image_drift/test_release_vs_manager.py::test_allowlist_narrow_suppresses_one_alias_only PASSED [ 13%]\ntests/image_drift/test_release_vs_manager.py::test_latest_override_emitted_with_found_latest PASSED [ 13%]\ntests/image_drift/test_release_vs_manager.py::test_disabled_image_not_in_release_skipped PASSED [ 13%]\ntests/image_drift/test_report.py::test_show_values_produces_two_blocks PASSED [ 14%]\ntests/image_drift/test_report.py::test_show_values_live_block_collapses_file PASSED [ 14%]\ntests/image_drift/test_report.py::test_show_values_dormant_block_collapses_two_files PASSED [ 14%]\ntests/image_drift/test_report.py::test_show_values_refs_single_line_only PASSED [ 15%]\ntests/image_drift/test_report.py::test_show_values_item_order_by_path_then_alias PASSED [ 15%]\ntests/image_drift/test_report.py::test_show_values_fix_and_refs_present PASSED [ 15%]\ntests/image_drift/test_report.py::test_show_values_empty_expected_renders_no_release_pin PASSED [ 15%]\ntests/image_drift/test_report.py::test_show_values_empty_expected_refs_single_line PASSED [ 16%]\ntests/image_drift/test_report.py::test_show_values_empty_expected_sorted_by_path_then_alias PASSED [ 16%]\ntests/image_drift/test_report.py::test_show_values_nonempty_expected_still_uses_arrow PASSED [ 16%]\ntests/image_drift/test_report.py::test_kolla_chain_inner_regression_two_blocks PASSED [ 17%]\ntests/image_drift/test_role_defaults_parser.py::test_concrete_tag_extracted PASSED [ 17%]\ntests/image_drift/test_role_defaults_parser.py::test_jinja_value_skipped PASSED [ 17%]\ntests/image_drift/test_role_defaults_parser.py::test_multiple_aliases_in_one_role_file PASSED [ 18%]\ntests/image_drift/test_role_defaults_parser.py::test_empty_or_malformed_returns_empty PASSED [ 18%]\ntests/image_drift/test_role_defaults_parser.py::test_tag_indirected_through_own_version_resolved PASSED [ 18%]\ntests/image_drift/test_role_defaults_parser.py::test_tag_indirected_through_own_version_non_string_pin PASSED [ 18%]\ntests/image_drift/test_role_defaults_parser.py::test_tag_indirection_whitespace_insensitive PASSED [ 19%]\ntests/image_drift/test_role_defaults_parser.py::test_tag_indirection_skipped_when_version_non_concrete PASSED [ 19%]\ntests/image_drift/test_role_defaults_parser.py::test_tag_indirection_skipped_when_version_missing PASSED [ 19%]\ntests/image_drift/test_role_defaults_parser.py::test_tag_referencing_other_var_skipped PASSED [ 20%]\ntests/image_drift/test_role_defaults_parser.py::test_composed_tag_left_for_later_pass PASSED [ 20%]\ntests/image_drift/test_role_shadows.py::test_baseline_drift PASSED       [ 20%]\ntests/image_drift/test_role_shadows.py::test_role_without_defaults_skipped PASSED [ 21%]\ntests/image_drift/test_role_shadows.py::test_jinja_valued_tag_not_drift PASSED [ 21%]\ntests/image_drift/test_role_shadows.py::test_allowlist_very_narrow_pins_to_role_file PASSED [ 21%]\ntests/image_drift/test_role_shadows.py::test_netbox_redis_is_live PASSED [ 21%]\ntests/image_drift/test_role_shadows.py::test_dormant_aliases_are_dormant PASSED [ 22%]\ntests/image_drift/test_role_shadows.py::test_floatdemo_is_live PASSED    [ 22%]\ntests/image_drift/test_role_shadows.py::test_stream_resolved_not_emitted PASSED [ 22%]\ntests/image_drift/test_role_shadows.py::test_dormant_findings_are_advisory PASSED [ 23%]\ntests/image_drift/test_role_shadows.py::test_live_findings_are_actionable PASSED [ 23%]\ntests/image_drift/test_role_unpinned.py::test_ciinternal_detected PASSED [ 23%]\ntests/image_drift/test_role_unpinned.py::test_widget_detected_with_release_key PASSED [ 24%]\ntests/image_drift/test_role_unpinned.py::test_adminer_not_emitted PASSED [ 24%]\ntests/image_drift/test_role_unpinned.py::test_stream_resolved_not_emitted PASSED [ 24%]\ntests/image_drift/test_role_unpinned.py::test_allowlist_marks_ciinternal_allowlisted PASSED [ 25%]\ntests/image_drift/test_source_list_tree.py::test_list_tree_returns_nested_paths PASSED [ 25%]\ntests/image_drift/test_source_list_tree.py::test_list_tree_absent_raises_by_default PASSED [ 25%]\ntests/image_drift/test_source_list_tree.py::test_list_tree_absent_missing_ok_returns_empty PASSED [ 25%]\ntests/kolla_drift/test_archive.py::test_repo_slug_and_archive_url PASSED [ 26%]\ntests/kolla_drift/test_archive.py::test_snapshot_dir_fetches_extracts_and_serves PASSED [ 26%]\ntests/kolla_drift/test_archive.py::test_snapshot_dir_memoizes_one_http_call PASSED [ 26%]\ntests/kolla_drift/test_archive.py::test_snapshot_dir_404_raises PASSED   [ 27%]\ntests/kolla_drift/test_archive.py::test_fetch_retries_once_then_succeeds PASSED [ 27%]\ntests/kolla_drift/test_archive.py::test_fetch_fails_twice_raises PASSED  [ 27%]\ntests/kolla_drift/test_archive.py::test_unsafe_traversal_member_rejected PASSED [ 28%]\ntests/kolla_drift/test_archive.py::test_absolute_symlink_member_rejected_on_fallback PASSED [ 28%]\ntests/kolla_drift/test_archive.py::test_safe_relative_symlink_extracted_on_fallback PASSED [ 28%]\ntests/kolla_drift/test_config.py::test_load_minimal_config PASSED        [ 28%]\ntests/kolla_drift/test_config.py::test_osism_root_and_paths_are_unknown_keys PASSED [ 29%]\ntests/kolla_drift/test_config.py::test_unknown_top_level_key_errors PASSED [ 29%]\ntests/kolla_drift/test_config.py::test_allowlist_broad_match PASSED      [ 29%]\ntests/kolla_drift/test_config.py::test_apply_marks_matching_drift_allowlisted PASSED [ 30%]\ntests/kolla_drift/test_config.py::test_apply_returns_unmatched_drift_unchanged PASSED [ 30%]\ntests/kolla_drift/test_config.py::test_allowlist_narrow_by_alias PASSED  [ 30%]\ntests/kolla_drift/test_config.py::test_allowlist_very_narrow PASSED      [ 31%]\ntests/kolla_drift/test_config.py::test_allowlist_empty_reason_errors PASSED [ 31%]\ntests/kolla_drift/test_config.py::test_allowlist_no_file_returns_empty PASSED [ 31%]\ntests/kolla_drift/test_config.py::test_sources_parsed PASSED             [ 31%]\ntests/kolla_drift/test_config.py::test_default_owner_defaults_when_absent PASSED [ 32%]\ntests/kolla_drift/test_config.py::test_unknown_source_key_errors PASSED  [ 32%]\ntests/kolla_drift/test_config.py::test_stale_flags_unused_entry PASSED   [ 32%]\ntests/kolla_drift/test_config.py::test_stale_scoped_to_ran_plugins PASSED [ 33%]\ntests/kolla_drift/test_config.py::test_prefix_matches_service_and_subgroups PASSED [ 33%]\ntests/kolla_drift/test_config.py::test_prefix_does_not_match_adjacent_name PASSED [ 33%]\ntests/kolla_drift/test_config.py::test_exact_is_default_and_unchanged PASSED [ 34%]\ntests/kolla_drift/test_config.py::test_allowlist_unknown_match_value_errors PASSED [ 34%]\ntests/kolla_drift/test_config.py::test_allowlist_empty_image_errors PASSED [ 34%]\ntests/kolla_drift/test_config.py::test_prefix_entry_stale_when_no_match PASSED [ 34%]\ntests/kolla_drift/test_config.py::test_releases_and_release_refs_parse PASSED [ 35%]\ntests/kolla_drift/test_config.py::test_releases_default_empty PASSED     [ 35%]\ntests/kolla_drift/test_config.py::test_archive_and_snapshot_cache_defaults PASSED [ 35%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_read_returns_bytes PASSED [ 36%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_read_missing_raises_with_where PASSED [ 36%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_read_optional_present PASSED [ 36%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_read_optional_absent_returns_none PASSED [ 37%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_list_tree_sorted_repo_relative PASSED [ 37%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_list_tree_missing_raises PASSED [ 37%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_list_tree_missing_ok_returns_empty PASSED [ 37%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_list_returns_names PASSED [ 38%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_list_dirs_only PASSED    [ 38%]\ntests/kolla_drift/test_dir_helpers.py::test_dir_list_missing_raises PASSED [ 38%]\ntests/kolla_drift/test_driver.py::test_base_dir_not_found_exits_2 PASSED [ 39%]\ntests/kolla_drift/test_driver_stale.py::test_stale_entry_forces_exit_1_and_is_reported PASSED [ 39%]\ntests/kolla_drift/test_driver_stale.py::test_no_allowlist_ignores_invalid_file PASSED [ 39%]\ntests/kolla_drift/test_enablement.py::test_canon_normalizes_hyphen_to_underscore PASSED [ 40%]\ntests/kolla_drift/test_enablement.py::test_parse_enable_flags_strips_prefix PASSED [ 40%]\ntests/kolla_drift/test_enablement.py::test_truthy_enables_literal_only_and_canon PASSED [ 40%]\ntests/kolla_drift/test_enablement.py::test_parse_build_set_unions_both_blocks_canon PASSED [ 40%]\ntests/kolla_drift/test_enablement.py::test_release_range_derives_from_file_set PASSED [ 41%]\ntests/kolla_drift/test_enablement.py::test_release_range_override_wins PASSED [ 41%]\ntests/kolla_drift/test_enablement.py::test_upstream_enable_keys_monolithic PASSED [ 41%]\ntests/kolla_drift/test_enablement.py::test_upstream_enable_keys_split_dir PASSED [ 42%]\ntests/kolla_drift/test_enablement.py::test_upstream_groupvars_keys_monolithic PASSED [ 42%]\ntests/kolla_drift/test_enablement.py::test_upstream_groupvars_keys_split_dir PASSED [ 42%]\ntests/kolla_drift/test_enablement.py::test_osism_groupvars_keys_merges_defaults_and_versions_template PASSED [ 43%]\ntests/kolla_drift/test_enablement.py::test_osism_groupvars_keys_counts_overlays PASSED [ 43%]\ntests/kolla_drift/test_enablement.py::test_osism_enable_flags_merges_across_all_files PASSED [ 43%]\ntests/kolla_drift/test_enablement.py::test_osism_enable_ids_truthy PASSED [ 43%]\ntests/kolla_drift/test_enablement.py::test_osism_enable_ids_explicit_includes_all_keys PASSED [ 44%]\ntests/kolla_drift/test_enablement.py::test_osism_enable_ids_unknown_scope_raises PASSED [ 44%]\ntests/kolla_drift/test_enablement.py::test_groupvars_home_in_newest_keys PASSED [ 44%]\ntests/kolla_drift/test_enablement.py::test_groupvars_home_dropped_only PASSED [ 45%]\ntests/kolla_drift/test_enablement.py::test_groupvars_home_newest_wins_over_dropped PASSED [ 45%]\ntests/kolla_drift/test_enablement.py::test_groupvars_home_neither_returns_none PASSED [ 45%]\ntests/kolla_drift/test_enablement.py::test_upstream_image_tag_keys_collects_both_suffixes PASSED [ 46%]\ntests/kolla_drift/test_enablement_values.py::test_groupvars_values_merges_and_parses PASSED [ 46%]\ntests/kolla_drift/test_enablement_values.py::test_groupvars_values_skips_non_mapping_and_empty PASSED [ 46%]\ntests/kolla_drift/test_enablement_values.py::test_osism_mirror_values_reads_only_001 PASSED [ 46%]\ntests/kolla_drift/test_inventory_sections.py::test_returns_groups_with_sorted_members PASSED [ 47%]\ntests/kolla_drift/test_inventory_sections.py::test_empty_group_has_no_members PASSED [ 47%]\ntests/kolla_drift/test_inventory_sections.py::test_duplicate_member_in_group_does_not_raise PASSED [ 47%]\ntests/kolla_drift/test_kolla_docker.py::test_normalises_hyphen_to_underscore PASSED [ 48%]\ntests/kolla_drift/test_kolla_docker.py::test_empty PASSED                [ 48%]\ntests/kolla_drift/test_kolla_enablement_build.py::test_flags_enabled_buildable_not_built PASSED [ 48%]\ntests/kolla_drift/test_kolla_enablement_build.py::test_reads_enable_flags_split_across_files PASSED [ 49%]\ntests/kolla_drift/test_kolla_enablement_build.py::test_allowlist_marks_allowlisted PASSED [ 49%]\ntests/kolla_drift/test_kolla_enablement_orphan.py::test_truthy_scope_flags_absent_truthy_services PASSED [ 49%]\ntests/kolla_drift/test_kolla_enablement_orphan.py::test_explicit_scope_also_flags_dead_no_flags PASSED [ 50%]\ntests/kolla_drift/test_kolla_enablement_orphan.py::test_present_upstream_is_not_orphan PASSED [ 50%]\ntests/kolla_drift/test_kolla_enablement_orphan.py::test_union_across_releases_not_intersection PASSED [ 50%]\ntests/kolla_drift/test_kolla_enablement_orphan.py::test_allowlist_marks_allowlisted PASSED [ 50%]\ntests/kolla_drift/test_kolla_enablement_orphan.py::test_run_uses_explicit_default PASSED [ 51%]\ntests/kolla_drift/test_kolla_enablement_orphan.py::test_reads_enable_flags_split_across_files PASSED [ 51%]\ntests/kolla_drift/test_kolla_enablement_orphan.py::test_empty_release_range_raises PASSED [ 51%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_flags_upstream_key_missing_from_osism PASSED [ 52%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_present_in_osism_is_not_missing PASSED [ 52%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_osism_key_in_any_file_suppresses PASSED [ 52%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_versions_template_supplied_key_not_flagged PASSED [ 53%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_overlay_supplied_key_not_flagged PASSED [ 53%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_union_across_releases_not_intersection PASSED [ 53%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_allowlist_marks_allowlisted PASSED [ 53%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_empty_release_range_raises PASSED [ 54%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_missing_key_at_newest_routes_to_001 PASSED [ 54%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_missing_key_dropped_by_newest_routes_to_010 PASSED [ 54%]\ntests/kolla_drift/test_kolla_groupvars_missing.py::test_two_keys_with_different_homes_have_distinct_remediations PASSED [ 55%]\ntests/kolla_drift/test_kolla_image_orphan.py::test_flags_removed_service_image_and_tag PASSED [ 55%]\ntests/kolla_drift/test_kolla_image_orphan.py::test_present_service_not_flagged PASSED [ 55%]\ntests/kolla_drift/test_kolla_image_orphan.py::test_union_across_releases_not_intersection PASSED [ 56%]\ntests/kolla_drift/test_kolla_image_orphan.py::test_allowlist_marks_osism_built PASSED [ 56%]\ntests/kolla_drift/test_kolla_image_orphan.py::test_ceph_catalogue_ignored PASSED [ 56%]\ntests/kolla_drift/test_kolla_image_orphan.py::test_empty_upstream_union_raises PASSED [ 56%]\ntests/kolla_drift/test_kolla_image_orphan.py::test_empty_catalogue_match_raises PASSED [ 57%]\ntests/kolla_drift/test_kolla_inventory.py::test_flags_upstream_only_groups PASSED [ 57%]\ntests/kolla_drift/test_kolla_inventory.py::test_expected_src_uses_configured_ref PASSED [ 57%]\ntests/kolla_drift/test_kolla_inventory.py::test_red_entry_carries_members PASSED [ 58%]\ntests/kolla_drift/test_kolla_inventory.py::test_exact_and_prefix_allowlist_match PASSED [ 58%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_clean_mirror_no_drift PASSED [ 58%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_value_diff_flagged PASSED [ 59%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_missing_from_mirror_flagged PASSED [ 59%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_dropped_key_routed_to_010 PASSED [ 59%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_dup_key_delete PASSED [ 59%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_invented_key PASSED [ 60%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_typo_mirrored_not_flagged PASSED [ 60%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_newest_selected_by_sort PASSED [ 60%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_dropped_key_classified_with_out_of_order_releases PASSED [ 61%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_allowlist_marks_entry PASSED [ 61%]\ntests/kolla_drift/test_kolla_mirror_verbatim.py::test_empty_release_range_raises PASSED [ 61%]\ntests/kolla_drift/test_kolla_orphan_config.py::test_flags_dead_service_companion_vars PASSED [ 62%]\ntests/kolla_drift/test_kolla_orphan_config.py::test_found_src_points_to_each_file PASSED [ 62%]\ntests/kolla_drift/test_kolla_orphan_config.py::test_no_dead_services_returns_empty PASSED [ 62%]\ntests/kolla_drift/test_kolla_orphan_config.py::test_respects_orphan_allowlist PASSED [ 62%]\ntests/kolla_drift/test_kolla_orphan_config.py::test_own_allowlist_marks_allowlisted PASSED [ 63%]\ntests/kolla_drift/test_kolla_secrets_orphan.py::test_flags_orphan_secrets_per_release PASSED [ 63%]\ntests/kolla_drift/test_kolla_secrets_orphan.py::test_present_secret_is_not_orphan PASSED [ 63%]\ntests/kolla_drift/test_kolla_secrets_orphan.py::test_allowlist_marks_allowlisted PASSED [ 64%]\ntests/kolla_drift/test_kolla_secrets_orphan.py::test_missing_template_skips_release PASSED [ 64%]\ntests/kolla_drift/test_kolla_version_chain_inner.py::test_flags_all_inert_keys PASSED [ 64%]\ntests/kolla_drift/test_kolla_version_chain_inner.py::test_enabled_and_buildable_key_is_an_add PASSED [ 65%]\ntests/kolla_drift/test_kolla_version_chain_inner.py::test_disabled_or_unbuildable_key_is_a_remove PASSED [ 65%]\ntests/kolla_drift/test_kolla_version_chain_inner.py::test_add_and_remove_render_as_separate_blocks PASSED [ 65%]\ntests/kolla_drift/test_kolla_version_chain_inner.py::test_hyphen_underscore_is_not_drift PASSED [ 65%]\ntests/kolla_drift/test_kolla_version_chain_inner.py::test_reads_enable_flags_split_across_files PASSED [ 66%]\ntests/kolla_drift/test_kolla_version_chain_inner.py::test_allowlist_marks_allowlisted PASSED [ 66%]\ntests/kolla_drift/test_kolla_version_chain_upstream.py::test_flags_services_without_template_key PASSED [ 66%]\ntests/kolla_drift/test_kolla_version_chain_upstream.py::test_expected_src_uses_configured_ref PASSED [ 67%]\ntests/kolla_drift/test_kolla_version_chain_upstream.py::test_present_service_not_flagged PASSED [ 67%]\ntests/kolla_drift/test_kolla_version_chain_upstream.py::test_allowlist_marks_allowlisted PASSED [ 67%]\ntests/kolla_drift/test_model.py::test_drift_entry_has_all_fields PASSED  [ 68%]\ntests/kolla_drift/test_model.py::test_drift_entry_to_dict_for_json PASSED [ 68%]\ntests/kolla_drift/test_model.py::test_default_severity_is_actionable PASSED [ 68%]\ntests/kolla_drift/test_model.py::test_as_allowlisted_preserves_severity PASSED [ 68%]\ntests/kolla_drift/test_plugin_registry.py::test_registry_is_a_list PASSED [ 69%]\ntests/kolla_drift/test_plugin_registry.py::test_each_plugin_has_required_metadata PASSED [ 69%]\ntests/kolla_drift/test_plugin_registry.py::test_kolla_inner_plugin_registered PASSED [ 69%]\ntests/kolla_drift/test_plugin_registry.py::test_kolla_upstream_plugin_registered PASSED [ 70%]\ntests/kolla_drift/test_plugin_registry.py::test_kolla_inventory_plugin_registered PASSED [ 70%]\ntests/kolla_drift/test_plugin_registry.py::test_kolla_enablement_build_plugin_registered PASSED [ 70%]\ntests/kolla_drift/test_plugin_registry.py::test_kolla_enablement_orphan_plugin_registered PASSED [ 71%]\ntests/kolla_drift/test_plugin_registry.py::test_kolla_secrets_orphan_plugin_registered PASSED [ 71%]\ntests/kolla_drift/test_plugin_registry.py::test_kolla_orphan_config_plugin_registered PASSED [ 71%]\ntests/kolla_drift/test_plugin_registry.py::test_kolla_groupvars_missing_plugin_registered PASSED [ 71%]\ntests/kolla_drift/test_plugin_registry.py::test_every_plugin_has_summary_and_remediation PASSED [ 72%]\ntests/kolla_drift/test_plugin_registry.py::test_default_config_enables_every_registered_plugin PASSED [ 72%]\ntests/kolla_drift/test_plugin_registry.py::test_kolla_mirror_verbatim_plugin_registered PASSED [ 72%]\ntests/kolla_drift/test_plugin_registry.py::test_plugins_in_lifecycle_order PASSED [ 73%]\ntests/kolla_drift/test_plugin_registry.py::test_plugin_groups_match_registries_and_are_disjoint PASSED [ 73%]\ntests/kolla_drift/test_report.py::test_single_plugin_groups_sorts_and_renders PASSED [ 73%]\ntests/kolla_drift/test_report.py::test_orders_blocks_by_plugins_list PASSED [ 74%]\ntests/kolla_drift/test_report.py::test_build_style_splits_one_block_per_ref_pair PASSED [ 74%]\ntests/kolla_drift/test_report.py::test_allowlisted_excluded_from_blocks_and_count PASSED [ 74%]\ntests/kolla_drift/test_report.py::test_empty_returns_empty_list PASSED   [ 75%]\ntests/kolla_drift/test_report.py::test_entry_summary_remediation_override_plugin_default PASSED [ 75%]\ntests/kolla_drift/test_report.py::test_lists_image_not_alias PASSED      [ 75%]\ntests/kolla_drift/test_sbom_map.py::test_extracts_keys PASSED            [ 75%]\ntests/kolla_drift/test_sbom_map.py::test_missing_map_raises PASSED       [ 76%]\ntests/kolla_drift/test_secrets_map.py::test_extracts_top_level_keys PASSED [ 76%]\ntests/kolla_drift/test_secrets_map.py::test_ignores_comments_indented_and_markers PASSED [ 76%]\ntests/kolla_drift/test_secrets_map.py::test_empty_input PASSED           [ 77%]\ntests/kolla_drift/test_source.py::test_read_local_working_tree_when_found PASSED [ 77%]\ntests/kolla_drift/test_source.py::test_read_not_found_in_base_dir_is_mode_b_error PASSED [ 77%]\ntests/kolla_drift/test_source.py::test_read_local_file_absent_is_error_not_remote PASSED [ 78%]\ntests/kolla_drift/test_source.py::test_read_remote_fallback_when_not_found PASSED [ 78%]\ntests/kolla_drift/test_source.py::test_read_no_base_dir_is_remote PASSED [ 78%]\ntests/kolla_drift/test_source.py::test_first_base_dir_with_the_repo_wins PASSED [ 78%]\ntests/kolla_drift/test_source.py::test_pinned_local_git_repo_reads_at_pin_ref PASSED [ 79%]\ntests/kolla_drift/test_source.py::test_pinned_non_git_dir_falls_back_to_remote PASSED [ 79%]\ntests/kolla_drift/test_source.py::test_pinned_non_git_dir_no_fallback_is_mode_b PASSED [ 79%]\ntests/kolla_drift/test_source.py::test_read_remote_404_errors PASSED     [ 80%]\ntests/kolla_drift/test_source.py::test_read_network_error PASSED         [ 80%]\ntests/kolla_drift/test_source.py::test_read_underscore_repo_translates_to_hyphen PASSED [ 80%]\ntests/kolla_drift/test_source.py::test_read_optional_present_local PASSED [ 81%]\ntests/kolla_drift/test_source.py::test_read_optional_missing_local_returns_none PASSED [ 81%]\ntests/kolla_drift/test_source.py::test_read_optional_404_returns_none PASSED [ 81%]\ntests/kolla_drift/test_source.py::test_read_optional_network_error_still_raises PASSED [ 81%]\ntests/kolla_drift/test_source.py::test_read_optional_underscore_repo_translates_to_hyphen PASSED [ 82%]\ntests/kolla_drift/test_source.py::test_list_dir_local PASSED             [ 82%]\ntests/kolla_drift/test_source.py::test_list_dir_remote PASSED            [ 82%]\ntests/kolla_drift/test_source.py::test_list_dir_remote_404_errors PASSED [ 83%]\ntests/kolla_drift/test_source.py::test_list_dir_underscore_repo_translates_to_hyphen PASSED [ 83%]\ntests/kolla_drift/test_source.py::test_source_override_redirects_owner_and_ref PASSED [ 83%]\ntests/kolla_drift/test_source.py::test_list_dir_local_dirs_only_excludes_files PASSED [ 84%]\ntests/kolla_drift/test_source.py::test_list_dir_remote_dirs_only_filters_type PASSED [ 84%]\ntests/kolla_drift/test_source.py::test_list_dir_at_ref_uses_explicit_ref_and_owner PASSED [ 84%]\ntests/kolla_drift/test_source.py::test_list_dir_at_ref_404_raises PASSED [ 84%]\ntests/kolla_drift/test_source.py::test_release_to_ref_prefers_stable PASSED [ 85%]\ntests/kolla_drift/test_source.py::test_release_to_ref_falls_back_through_candidates PASSED [ 85%]\ntests/kolla_drift/test_source.py::test_release_to_ref_treats_422_as_absent PASSED [ 85%]\ntests/kolla_drift/test_source.py::test_release_to_ref_uses_eom_tag_last PASSED [ 86%]\ntests/kolla_drift/test_source.py::test_release_to_ref_none_raises PASSED [ 86%]\ntests/kolla_drift/test_source.py::test_release_to_ref_override_wins PASSED [ 86%]\ntests/kolla_drift/test_source.py::test_read_at_ref_returns_bytes_at_explicit_ref PASSED [ 87%]\ntests/kolla_drift/test_source.py::test_read_at_ref_optional_404_returns_none PASSED [ 87%]\ntests/kolla_drift/test_source.py::test_read_at_ref_404_raises_when_not_optional PASSED [ 87%]\ntests/kolla_drift/test_source.py::test_describe_resolution_local_and_remote PASSED [ 87%]\ntests/kolla_drift/test_source.py::test_describe_resolution_mode_b_raises PASSED [ 88%]\ntests/kolla_drift/test_source.py::test_describe_resolution_lists_all_missing PASSED [ 88%]\ntests/kolla_drift/test_source.py::test_git_show_multi_ref_from_one_clone PASSED [ 88%]\ntests/kolla_drift/test_source.py::test_git_show_optional_absent_path PASSED [ 89%]\ntests/kolla_drift/test_source.py::test_git_ls_tree_returns_basenames_and_dirs_only PASSED [ 89%]\ntests/kolla_drift/test_source.py::test_resolve_local_ref_finds_non_origin_remote PASSED [ 89%]\ntests/kolla_drift/test_source.py::test_git_show_unresolvable_ref_raises PASSED [ 90%]\ntests/kolla_drift/test_source.py::test_git_ref_exists PASSED             [ 90%]\ntests/kolla_drift/test_source.py::test_read_at_ref_local_git PASSED      [ 90%]\ntests/kolla_drift/test_source.py::test_describe_resolution_pinned_local_tag PASSED [ 90%]\ntests/kolla_drift/test_source.py::test_read_at_ref_unpinned_local_dir_is_remote PASSED [ 91%]\ntests/kolla_drift/test_source.py::test_release_to_ref_memoizes_probes PASSED [ 91%]\ntests/kolla_drift/test_source.py::test_read_remote_rate_limit_403_gives_helpful_error PASSED [ 91%]\ntests/kolla_drift/test_source.py::test_rate_limit_error_when_authenticated_omits_token_advice PASSED [ 92%]\ntests/kolla_drift/test_source.py::test_secondary_rate_limit_retry_after_gives_hint PASSED [ 92%]\ntests/kolla_drift/test_source.py::test_raw_cdn_429_without_headers_gives_raw_specific_hint PASSED [ 92%]\ntests/kolla_drift/test_source.py::test_plain_403_is_not_mistaken_for_rate_limiting PASSED [ 93%]\ntests/kolla_drift/test_source.py::test_auth_headers_adds_bearer_for_github_host PASSED [ 93%]\ntests/kolla_drift/test_source.py::test_auth_headers_absent_when_no_token PASSED [ 93%]\ntests/kolla_drift/test_source.py::test_auth_headers_not_leaked_to_non_github_host PASSED [ 93%]\ntests/kolla_drift/test_source.py::test_get_sends_auth_header_to_github PASSED [ 94%]\ntests/kolla_drift/test_source.py::test_get_does_not_send_auth_to_non_github_mirror PASSED [ 94%]\ntests/kolla_drift/test_source.py::test_read_uses_archive_when_enabled PASSED [ 94%]\ntests/kolla_drift/test_source.py::test_archive_snapshot_shared_across_reads PASSED [ 95%]\ntests/kolla_drift/test_source.py::test_list_dir_uses_archive PASSED      [ 95%]\ntests/kolla_drift/test_source.py::test_list_tree_uses_archive PASSED     [ 95%]\ntests/kolla_drift/test_source.py::test_list_dir_at_ref_uses_archive PASSED [ 96%]\ntests/kolla_drift/test_source.py::test_read_at_ref_uses_archive PASSED   [ 96%]\ntests/kolla_drift/test_versions_template.py::test_extracts_distinct_keys PASSED [ 96%]\ntests/kolla_drift/test_versions_template.py::test_empty_input PASSED     [ 96%]\ntests/test_driver_groups.py::test_group_image_runs_only_image_plugins PASSED [ 97%]\ntests/test_driver_groups.py::test_group_kolla_runs_only_kolla_plugins PASSED [ 97%]\ntests/test_driver_groups.py::test_group_all_runs_both_groups PASSED      [ 97%]\ntests/test_driver_groups.py::test_archive_mode_preamble_not_misleading PASSED [ 98%]\ntests/test_driver_groups.py::test_use_raw_get_preamble_warns_slow PASSED [ 98%]\ntests/test_driver_groups.py::test_missing_group_errors PASSED            [ 98%]\ntests/test_driver_groups.py::test_demo_exits_0_without_reading_config_or_allowlist PASSED [ 99%]\ntests/test_driver_groups.py::test_demo_renders_every_real_plugin PASSED  [ 99%]\ntests/test_driver_groups.py::test_demo_json_emits_entries PASSED         [ 99%]\ntests/test_driver_groups.py::test_help_lists_plugin_groups PASSED        [100%]\n\n============================= 332 passed in 4.18s ==============================\ndrift-test: 4713 I exit 0 (4.46 seconds) /home/zuul/src/github.com/osism/release> pytest tests/ -v pid=1766 [tox/execute/api.py:308]\n  drift-test: OK (4.50=setup[0.05]+cmd[4.46] seconds)\n  congratulations :) (4.53 seconds)",
                            "stdout_lines": [
                                "ROOT: 187 D setup logging to DEBUG on pid 1759 [tox/report.py:229]",
                                "drift-test: 213 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65]",
                                "drift-test: 216 I find interpreter for spec PythonSpec(major=3, free_threaded=False) [python_discovery/_discovery.py:131]",
                                "drift-test: 219 D got python info of /usr/bin/python3.11 from /home/zuul/.cache/virtualenv/py_info/5/ca3ed784184f1b3bb7c3539bfb45e71710cd27667424f92c2d5bb4df9c107c23.json [virtualenv/app_data/via_disk_folder.py:139]",
                                "drift-test: 220 D filesystem is case-sensitive [python_discovery/_compat.py:18]",
                                "drift-test: 220 I proposed PythonInfo(spec=CPython3.11.2.final.0-64-x86_64, system=/usr/bin/python3.11, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:140]",
                                "drift-test: 220 D accepted PythonInfo(spec=CPython3.11.2.final.0-64-x86_64, system=/usr/bin/python3.11, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.11.2 (main, May 12 2026, 05:17:27) [GCC 12.2.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:144]",
                                "drift-test: 222 D symlink on filesystem does work [virtualenv/info.py:51]",
                                "drift-test: 222 D filesystem is case-sensitive [virtualenv/info.py:28]",
                                "drift-test: 253 W commands[0]> pytest tests/ -v [tox/tox_env/api.py:485]",
                                "============================= test session starts ==============================",
                                "platform linux -- Python 3.11.2, pytest-8.3.4, pluggy-1.6.0 -- /home/zuul/src/github.com/osism/release/.tox/drift-test/bin/python",
                                "cachedir: .tox/drift-test/.pytest_cache",
                                "rootdir: /home/zuul/src/github.com/osism/release",
                                "collecting ... collected 332 items",
                                "",
                                "tests/image_drift/test_demo.py::test_three_entries_per_plugin PASSED     [  0%]",
                                "tests/image_drift/test_demo.py::test_entries_carry_live_plugin_text PASSED [  0%]",
                                "tests/image_drift/test_demo.py::test_entries_are_actionable PASSED       [  0%]",
                                "tests/image_drift/test_demo.py::test_show_values_plugin_covers_both_render_branches PASSED [  1%]",
                                "tests/image_drift/test_demo.py::test_paths_reflect_plugin_input_files PASSED [  1%]",
                                "tests/image_drift/test_driver.py::test_help_lists_plugins PASSED         [  1%]",
                                "tests/image_drift/test_driver.py::test_default_run_exits_1_with_drifting_images PASSED [  2%]",
                                "tests/image_drift/test_driver.py::test_allowlisted_osism_ansible_hidden_by_default PASSED [  2%]",
                                "tests/image_drift/test_driver.py::test_no_allowlist_surfaces_osism_ansible PASSED [  2%]",
                                "tests/image_drift/test_driver.py::test_format_json_keys PASSED           [  3%]",
                                "tests/image_drift/test_driver.py::test_plugin_filter_runs_only_role_shadows PASSED [  3%]",
                                "tests/image_drift/test_driver.py::test_summary_line_counts PASSED        [  3%]",
                                "tests/image_drift/test_driver.py::test_advisory_only_exits_0 PASSED      [  3%]",
                                "tests/image_drift/test_driver.py::test_advisory_finding_in_default_json PASSED [  4%]",
                                "tests/image_drift/test_driver.py::test_missing_group_errors PASSED       [  4%]",
                                "tests/image_drift/test_image_orphan.py::test_orphan_alias_detected PASSED [  4%]",
                                "tests/image_drift/test_image_orphan.py::test_consumed_alias_not_detected PASSED [  5%]",
                                "tests/image_drift/test_image_orphan.py::test_playbook_consumed_alias_not_detected PASSED [  5%]",
                                "tests/image_drift/test_image_orphan.py::test_non_text_files_are_not_read PASSED [  5%]",
                                "tests/image_drift/test_image_orphan.py::test_allowlist_suppresses_orphan PASSED [  6%]",
                                "tests/image_drift/test_manager_parser.py::test_plain_value PASSED        [  6%]",
                                "tests/image_drift/test_manager_parser.py::test_latest_override_pattern PASSED [  6%]",
                                "tests/image_drift/test_manager_parser.py::test_unresolved_jinja_marked PASSED [  6%]",
                                "tests/image_drift/test_manager_parser.py::test_multiple_entries PASSED   [  7%]",
                                "tests/image_drift/test_manager_template_parser.py::test_basic_alias_extraction PASSED [  7%]",
                                "tests/image_drift/test_manager_template_parser.py::test_jinja_escaped_lines_ignored PASSED [  7%]",
                                "tests/image_drift/test_manager_template_parser.py::test_double_quoted_versions_key PASSED [  8%]",
                                "tests/image_drift/test_manager_template_parser.py::test_lines_without_pattern_skipped PASSED [  8%]",
                                "tests/image_drift/test_manager_template_parser.py::test_extract_stream_resolved_basic PASSED [  8%]",
                                "tests/image_drift/test_manager_template_parser.py::test_extract_stream_resolved_multiple PASSED [  9%]",
                                "tests/image_drift/test_override_template_parser.py::test_returns_tag_aliases_only PASSED [  9%]",
                                "tests/image_drift/test_override_template_parser.py::test_ignores_image_lines PASSED [  9%]",
                                "tests/image_drift/test_override_template_parser.py::test_empty_input PASSED [  9%]",
                                "tests/image_drift/test_override_template_parser.py::test_comment_and_blank_lines_ignored PASSED [ 10%]",
                                "tests/image_drift/test_plugin_registry.py::test_image_plugins_registered PASSED [ 10%]",
                                "tests/image_drift/test_plugin_registry.py::test_image_plugin_group_matches_registry PASSED [ 10%]",
                                "tests/image_drift/test_plugin_registry.py::test_role_unpinned_enabled_in_config PASSED [ 11%]",
                                "tests/image_drift/test_plugin_registry.py::test_image_orphan_enabled_in_config PASSED [ 11%]",
                                "tests/image_drift/test_plugin_registry.py::test_each_plugin_has_required_metadata PASSED [ 11%]",
                                "tests/image_drift/test_release_parser.py::test_parse_release_returns_docker_images PASSED [ 12%]",
                                "tests/image_drift/test_release_parser.py::test_parse_release_missing_docker_images_errors PASSED [ 12%]",
                                "tests/image_drift/test_release_vs_manager.py::test_baseline_drift PASSED [ 12%]",
                                "tests/image_drift/test_release_vs_manager.py::test_allowlist_broad_suppresses_all_redis PASSED [ 12%]",
                                "tests/image_drift/test_release_vs_manager.py::test_allowlist_narrow_suppresses_one_alias_only PASSED [ 13%]",
                                "tests/image_drift/test_release_vs_manager.py::test_latest_override_emitted_with_found_latest PASSED [ 13%]",
                                "tests/image_drift/test_release_vs_manager.py::test_disabled_image_not_in_release_skipped PASSED [ 13%]",
                                "tests/image_drift/test_report.py::test_show_values_produces_two_blocks PASSED [ 14%]",
                                "tests/image_drift/test_report.py::test_show_values_live_block_collapses_file PASSED [ 14%]",
                                "tests/image_drift/test_report.py::test_show_values_dormant_block_collapses_two_files PASSED [ 14%]",
                                "tests/image_drift/test_report.py::test_show_values_refs_single_line_only PASSED [ 15%]",
                                "tests/image_drift/test_report.py::test_show_values_item_order_by_path_then_alias PASSED [ 15%]",
                                "tests/image_drift/test_report.py::test_show_values_fix_and_refs_present PASSED [ 15%]",
                                "tests/image_drift/test_report.py::test_show_values_empty_expected_renders_no_release_pin PASSED [ 15%]",
                                "tests/image_drift/test_report.py::test_show_values_empty_expected_refs_single_line PASSED [ 16%]",
                                "tests/image_drift/test_report.py::test_show_values_empty_expected_sorted_by_path_then_alias PASSED [ 16%]",
                                "tests/image_drift/test_report.py::test_show_values_nonempty_expected_still_uses_arrow PASSED [ 16%]",
                                "tests/image_drift/test_report.py::test_kolla_chain_inner_regression_two_blocks PASSED [ 17%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_concrete_tag_extracted PASSED [ 17%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_jinja_value_skipped PASSED [ 17%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_multiple_aliases_in_one_role_file PASSED [ 18%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_empty_or_malformed_returns_empty PASSED [ 18%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_tag_indirected_through_own_version_resolved PASSED [ 18%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_tag_indirected_through_own_version_non_string_pin PASSED [ 18%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_tag_indirection_whitespace_insensitive PASSED [ 19%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_tag_indirection_skipped_when_version_non_concrete PASSED [ 19%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_tag_indirection_skipped_when_version_missing PASSED [ 19%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_tag_referencing_other_var_skipped PASSED [ 20%]",
                                "tests/image_drift/test_role_defaults_parser.py::test_composed_tag_left_for_later_pass PASSED [ 20%]",
                                "tests/image_drift/test_role_shadows.py::test_baseline_drift PASSED       [ 20%]",
                                "tests/image_drift/test_role_shadows.py::test_role_without_defaults_skipped PASSED [ 21%]",
                                "tests/image_drift/test_role_shadows.py::test_jinja_valued_tag_not_drift PASSED [ 21%]",
                                "tests/image_drift/test_role_shadows.py::test_allowlist_very_narrow_pins_to_role_file PASSED [ 21%]",
                                "tests/image_drift/test_role_shadows.py::test_netbox_redis_is_live PASSED [ 21%]",
                                "tests/image_drift/test_role_shadows.py::test_dormant_aliases_are_dormant PASSED [ 22%]",
                                "tests/image_drift/test_role_shadows.py::test_floatdemo_is_live PASSED    [ 22%]",
                                "tests/image_drift/test_role_shadows.py::test_stream_resolved_not_emitted PASSED [ 22%]",
                                "tests/image_drift/test_role_shadows.py::test_dormant_findings_are_advisory PASSED [ 23%]",
                                "tests/image_drift/test_role_shadows.py::test_live_findings_are_actionable PASSED [ 23%]",
                                "tests/image_drift/test_role_unpinned.py::test_ciinternal_detected PASSED [ 23%]",
                                "tests/image_drift/test_role_unpinned.py::test_widget_detected_with_release_key PASSED [ 24%]",
                                "tests/image_drift/test_role_unpinned.py::test_adminer_not_emitted PASSED [ 24%]",
                                "tests/image_drift/test_role_unpinned.py::test_stream_resolved_not_emitted PASSED [ 24%]",
                                "tests/image_drift/test_role_unpinned.py::test_allowlist_marks_ciinternal_allowlisted PASSED [ 25%]",
                                "tests/image_drift/test_source_list_tree.py::test_list_tree_returns_nested_paths PASSED [ 25%]",
                                "tests/image_drift/test_source_list_tree.py::test_list_tree_absent_raises_by_default PASSED [ 25%]",
                                "tests/image_drift/test_source_list_tree.py::test_list_tree_absent_missing_ok_returns_empty PASSED [ 25%]",
                                "tests/kolla_drift/test_archive.py::test_repo_slug_and_archive_url PASSED [ 26%]",
                                "tests/kolla_drift/test_archive.py::test_snapshot_dir_fetches_extracts_and_serves PASSED [ 26%]",
                                "tests/kolla_drift/test_archive.py::test_snapshot_dir_memoizes_one_http_call PASSED [ 26%]",
                                "tests/kolla_drift/test_archive.py::test_snapshot_dir_404_raises PASSED   [ 27%]",
                                "tests/kolla_drift/test_archive.py::test_fetch_retries_once_then_succeeds PASSED [ 27%]",
                                "tests/kolla_drift/test_archive.py::test_fetch_fails_twice_raises PASSED  [ 27%]",
                                "tests/kolla_drift/test_archive.py::test_unsafe_traversal_member_rejected PASSED [ 28%]",
                                "tests/kolla_drift/test_archive.py::test_absolute_symlink_member_rejected_on_fallback PASSED [ 28%]",
                                "tests/kolla_drift/test_archive.py::test_safe_relative_symlink_extracted_on_fallback PASSED [ 28%]",
                                "tests/kolla_drift/test_config.py::test_load_minimal_config PASSED        [ 28%]",
                                "tests/kolla_drift/test_config.py::test_osism_root_and_paths_are_unknown_keys PASSED [ 29%]",
                                "tests/kolla_drift/test_config.py::test_unknown_top_level_key_errors PASSED [ 29%]",
                                "tests/kolla_drift/test_config.py::test_allowlist_broad_match PASSED      [ 29%]",
                                "tests/kolla_drift/test_config.py::test_apply_marks_matching_drift_allowlisted PASSED [ 30%]",
                                "tests/kolla_drift/test_config.py::test_apply_returns_unmatched_drift_unchanged PASSED [ 30%]",
                                "tests/kolla_drift/test_config.py::test_allowlist_narrow_by_alias PASSED  [ 30%]",
                                "tests/kolla_drift/test_config.py::test_allowlist_very_narrow PASSED      [ 31%]",
                                "tests/kolla_drift/test_config.py::test_allowlist_empty_reason_errors PASSED [ 31%]",
                                "tests/kolla_drift/test_config.py::test_allowlist_no_file_returns_empty PASSED [ 31%]",
                                "tests/kolla_drift/test_config.py::test_sources_parsed PASSED             [ 31%]",
                                "tests/kolla_drift/test_config.py::test_default_owner_defaults_when_absent PASSED [ 32%]",
                                "tests/kolla_drift/test_config.py::test_unknown_source_key_errors PASSED  [ 32%]",
                                "tests/kolla_drift/test_config.py::test_stale_flags_unused_entry PASSED   [ 32%]",
                                "tests/kolla_drift/test_config.py::test_stale_scoped_to_ran_plugins PASSED [ 33%]",
                                "tests/kolla_drift/test_config.py::test_prefix_matches_service_and_subgroups PASSED [ 33%]",
                                "tests/kolla_drift/test_config.py::test_prefix_does_not_match_adjacent_name PASSED [ 33%]",
                                "tests/kolla_drift/test_config.py::test_exact_is_default_and_unchanged PASSED [ 34%]",
                                "tests/kolla_drift/test_config.py::test_allowlist_unknown_match_value_errors PASSED [ 34%]",
                                "tests/kolla_drift/test_config.py::test_allowlist_empty_image_errors PASSED [ 34%]",
                                "tests/kolla_drift/test_config.py::test_prefix_entry_stale_when_no_match PASSED [ 34%]",
                                "tests/kolla_drift/test_config.py::test_releases_and_release_refs_parse PASSED [ 35%]",
                                "tests/kolla_drift/test_config.py::test_releases_default_empty PASSED     [ 35%]",
                                "tests/kolla_drift/test_config.py::test_archive_and_snapshot_cache_defaults PASSED [ 35%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_read_returns_bytes PASSED [ 36%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_read_missing_raises_with_where PASSED [ 36%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_read_optional_present PASSED [ 36%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_read_optional_absent_returns_none PASSED [ 37%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_list_tree_sorted_repo_relative PASSED [ 37%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_list_tree_missing_raises PASSED [ 37%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_list_tree_missing_ok_returns_empty PASSED [ 37%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_list_returns_names PASSED [ 38%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_list_dirs_only PASSED    [ 38%]",
                                "tests/kolla_drift/test_dir_helpers.py::test_dir_list_missing_raises PASSED [ 38%]",
                                "tests/kolla_drift/test_driver.py::test_base_dir_not_found_exits_2 PASSED [ 39%]",
                                "tests/kolla_drift/test_driver_stale.py::test_stale_entry_forces_exit_1_and_is_reported PASSED [ 39%]",
                                "tests/kolla_drift/test_driver_stale.py::test_no_allowlist_ignores_invalid_file PASSED [ 39%]",
                                "tests/kolla_drift/test_enablement.py::test_canon_normalizes_hyphen_to_underscore PASSED [ 40%]",
                                "tests/kolla_drift/test_enablement.py::test_parse_enable_flags_strips_prefix PASSED [ 40%]",
                                "tests/kolla_drift/test_enablement.py::test_truthy_enables_literal_only_and_canon PASSED [ 40%]",
                                "tests/kolla_drift/test_enablement.py::test_parse_build_set_unions_both_blocks_canon PASSED [ 40%]",
                                "tests/kolla_drift/test_enablement.py::test_release_range_derives_from_file_set PASSED [ 41%]",
                                "tests/kolla_drift/test_enablement.py::test_release_range_override_wins PASSED [ 41%]",
                                "tests/kolla_drift/test_enablement.py::test_upstream_enable_keys_monolithic PASSED [ 41%]",
                                "tests/kolla_drift/test_enablement.py::test_upstream_enable_keys_split_dir PASSED [ 42%]",
                                "tests/kolla_drift/test_enablement.py::test_upstream_groupvars_keys_monolithic PASSED [ 42%]",
                                "tests/kolla_drift/test_enablement.py::test_upstream_groupvars_keys_split_dir PASSED [ 42%]",
                                "tests/kolla_drift/test_enablement.py::test_osism_groupvars_keys_merges_defaults_and_versions_template PASSED [ 43%]",
                                "tests/kolla_drift/test_enablement.py::test_osism_groupvars_keys_counts_overlays PASSED [ 43%]",
                                "tests/kolla_drift/test_enablement.py::test_osism_enable_flags_merges_across_all_files PASSED [ 43%]",
                                "tests/kolla_drift/test_enablement.py::test_osism_enable_ids_truthy PASSED [ 43%]",
                                "tests/kolla_drift/test_enablement.py::test_osism_enable_ids_explicit_includes_all_keys PASSED [ 44%]",
                                "tests/kolla_drift/test_enablement.py::test_osism_enable_ids_unknown_scope_raises PASSED [ 44%]",
                                "tests/kolla_drift/test_enablement.py::test_groupvars_home_in_newest_keys PASSED [ 44%]",
                                "tests/kolla_drift/test_enablement.py::test_groupvars_home_dropped_only PASSED [ 45%]",
                                "tests/kolla_drift/test_enablement.py::test_groupvars_home_newest_wins_over_dropped PASSED [ 45%]",
                                "tests/kolla_drift/test_enablement.py::test_groupvars_home_neither_returns_none PASSED [ 45%]",
                                "tests/kolla_drift/test_enablement.py::test_upstream_image_tag_keys_collects_both_suffixes PASSED [ 46%]",
                                "tests/kolla_drift/test_enablement_values.py::test_groupvars_values_merges_and_parses PASSED [ 46%]",
                                "tests/kolla_drift/test_enablement_values.py::test_groupvars_values_skips_non_mapping_and_empty PASSED [ 46%]",
                                "tests/kolla_drift/test_enablement_values.py::test_osism_mirror_values_reads_only_001 PASSED [ 46%]",
                                "tests/kolla_drift/test_inventory_sections.py::test_returns_groups_with_sorted_members PASSED [ 47%]",
                                "tests/kolla_drift/test_inventory_sections.py::test_empty_group_has_no_members PASSED [ 47%]",
                                "tests/kolla_drift/test_inventory_sections.py::test_duplicate_member_in_group_does_not_raise PASSED [ 47%]",
                                "tests/kolla_drift/test_kolla_docker.py::test_normalises_hyphen_to_underscore PASSED [ 48%]",
                                "tests/kolla_drift/test_kolla_docker.py::test_empty PASSED                [ 48%]",
                                "tests/kolla_drift/test_kolla_enablement_build.py::test_flags_enabled_buildable_not_built PASSED [ 48%]",
                                "tests/kolla_drift/test_kolla_enablement_build.py::test_reads_enable_flags_split_across_files PASSED [ 49%]",
                                "tests/kolla_drift/test_kolla_enablement_build.py::test_allowlist_marks_allowlisted PASSED [ 49%]",
                                "tests/kolla_drift/test_kolla_enablement_orphan.py::test_truthy_scope_flags_absent_truthy_services PASSED [ 49%]",
                                "tests/kolla_drift/test_kolla_enablement_orphan.py::test_explicit_scope_also_flags_dead_no_flags PASSED [ 50%]",
                                "tests/kolla_drift/test_kolla_enablement_orphan.py::test_present_upstream_is_not_orphan PASSED [ 50%]",
                                "tests/kolla_drift/test_kolla_enablement_orphan.py::test_union_across_releases_not_intersection PASSED [ 50%]",
                                "tests/kolla_drift/test_kolla_enablement_orphan.py::test_allowlist_marks_allowlisted PASSED [ 50%]",
                                "tests/kolla_drift/test_kolla_enablement_orphan.py::test_run_uses_explicit_default PASSED [ 51%]",
                                "tests/kolla_drift/test_kolla_enablement_orphan.py::test_reads_enable_flags_split_across_files PASSED [ 51%]",
                                "tests/kolla_drift/test_kolla_enablement_orphan.py::test_empty_release_range_raises PASSED [ 51%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_flags_upstream_key_missing_from_osism PASSED [ 52%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_present_in_osism_is_not_missing PASSED [ 52%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_osism_key_in_any_file_suppresses PASSED [ 52%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_versions_template_supplied_key_not_flagged PASSED [ 53%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_overlay_supplied_key_not_flagged PASSED [ 53%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_union_across_releases_not_intersection PASSED [ 53%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_allowlist_marks_allowlisted PASSED [ 53%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_empty_release_range_raises PASSED [ 54%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_missing_key_at_newest_routes_to_001 PASSED [ 54%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_missing_key_dropped_by_newest_routes_to_010 PASSED [ 54%]",
                                "tests/kolla_drift/test_kolla_groupvars_missing.py::test_two_keys_with_different_homes_have_distinct_remediations PASSED [ 55%]",
                                "tests/kolla_drift/test_kolla_image_orphan.py::test_flags_removed_service_image_and_tag PASSED [ 55%]",
                                "tests/kolla_drift/test_kolla_image_orphan.py::test_present_service_not_flagged PASSED [ 55%]",
                                "tests/kolla_drift/test_kolla_image_orphan.py::test_union_across_releases_not_intersection PASSED [ 56%]",
                                "tests/kolla_drift/test_kolla_image_orphan.py::test_allowlist_marks_osism_built PASSED [ 56%]",
                                "tests/kolla_drift/test_kolla_image_orphan.py::test_ceph_catalogue_ignored PASSED [ 56%]",
                                "tests/kolla_drift/test_kolla_image_orphan.py::test_empty_upstream_union_raises PASSED [ 56%]",
                                "tests/kolla_drift/test_kolla_image_orphan.py::test_empty_catalogue_match_raises PASSED [ 57%]",
                                "tests/kolla_drift/test_kolla_inventory.py::test_flags_upstream_only_groups PASSED [ 57%]",
                                "tests/kolla_drift/test_kolla_inventory.py::test_expected_src_uses_configured_ref PASSED [ 57%]",
                                "tests/kolla_drift/test_kolla_inventory.py::test_red_entry_carries_members PASSED [ 58%]",
                                "tests/kolla_drift/test_kolla_inventory.py::test_exact_and_prefix_allowlist_match PASSED [ 58%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_clean_mirror_no_drift PASSED [ 58%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_value_diff_flagged PASSED [ 59%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_missing_from_mirror_flagged PASSED [ 59%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_dropped_key_routed_to_010 PASSED [ 59%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_dup_key_delete PASSED [ 59%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_invented_key PASSED [ 60%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_typo_mirrored_not_flagged PASSED [ 60%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_newest_selected_by_sort PASSED [ 60%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_dropped_key_classified_with_out_of_order_releases PASSED [ 61%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_allowlist_marks_entry PASSED [ 61%]",
                                "tests/kolla_drift/test_kolla_mirror_verbatim.py::test_empty_release_range_raises PASSED [ 61%]",
                                "tests/kolla_drift/test_kolla_orphan_config.py::test_flags_dead_service_companion_vars PASSED [ 62%]",
                                "tests/kolla_drift/test_kolla_orphan_config.py::test_found_src_points_to_each_file PASSED [ 62%]",
                                "tests/kolla_drift/test_kolla_orphan_config.py::test_no_dead_services_returns_empty PASSED [ 62%]",
                                "tests/kolla_drift/test_kolla_orphan_config.py::test_respects_orphan_allowlist PASSED [ 62%]",
                                "tests/kolla_drift/test_kolla_orphan_config.py::test_own_allowlist_marks_allowlisted PASSED [ 63%]",
                                "tests/kolla_drift/test_kolla_secrets_orphan.py::test_flags_orphan_secrets_per_release PASSED [ 63%]",
                                "tests/kolla_drift/test_kolla_secrets_orphan.py::test_present_secret_is_not_orphan PASSED [ 63%]",
                                "tests/kolla_drift/test_kolla_secrets_orphan.py::test_allowlist_marks_allowlisted PASSED [ 64%]",
                                "tests/kolla_drift/test_kolla_secrets_orphan.py::test_missing_template_skips_release PASSED [ 64%]",
                                "tests/kolla_drift/test_kolla_version_chain_inner.py::test_flags_all_inert_keys PASSED [ 64%]",
                                "tests/kolla_drift/test_kolla_version_chain_inner.py::test_enabled_and_buildable_key_is_an_add PASSED [ 65%]",
                                "tests/kolla_drift/test_kolla_version_chain_inner.py::test_disabled_or_unbuildable_key_is_a_remove PASSED [ 65%]",
                                "tests/kolla_drift/test_kolla_version_chain_inner.py::test_add_and_remove_render_as_separate_blocks PASSED [ 65%]",
                                "tests/kolla_drift/test_kolla_version_chain_inner.py::test_hyphen_underscore_is_not_drift PASSED [ 65%]",
                                "tests/kolla_drift/test_kolla_version_chain_inner.py::test_reads_enable_flags_split_across_files PASSED [ 66%]",
                                "tests/kolla_drift/test_kolla_version_chain_inner.py::test_allowlist_marks_allowlisted PASSED [ 66%]",
                                "tests/kolla_drift/test_kolla_version_chain_upstream.py::test_flags_services_without_template_key PASSED [ 66%]",
                                "tests/kolla_drift/test_kolla_version_chain_upstream.py::test_expected_src_uses_configured_ref PASSED [ 67%]",
                                "tests/kolla_drift/test_kolla_version_chain_upstream.py::test_present_service_not_flagged PASSED [ 67%]",
                                "tests/kolla_drift/test_kolla_version_chain_upstream.py::test_allowlist_marks_allowlisted PASSED [ 67%]",
                                "tests/kolla_drift/test_model.py::test_drift_entry_has_all_fields PASSED  [ 68%]",
                                "tests/kolla_drift/test_model.py::test_drift_entry_to_dict_for_json PASSED [ 68%]",
                                "tests/kolla_drift/test_model.py::test_default_severity_is_actionable PASSED [ 68%]",
                                "tests/kolla_drift/test_model.py::test_as_allowlisted_preserves_severity PASSED [ 68%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_registry_is_a_list PASSED [ 69%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_each_plugin_has_required_metadata PASSED [ 69%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_kolla_inner_plugin_registered PASSED [ 69%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_kolla_upstream_plugin_registered PASSED [ 70%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_kolla_inventory_plugin_registered PASSED [ 70%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_kolla_enablement_build_plugin_registered PASSED [ 70%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_kolla_enablement_orphan_plugin_registered PASSED [ 71%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_kolla_secrets_orphan_plugin_registered PASSED [ 71%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_kolla_orphan_config_plugin_registered PASSED [ 71%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_kolla_groupvars_missing_plugin_registered PASSED [ 71%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_every_plugin_has_summary_and_remediation PASSED [ 72%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_default_config_enables_every_registered_plugin PASSED [ 72%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_kolla_mirror_verbatim_plugin_registered PASSED [ 72%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_plugins_in_lifecycle_order PASSED [ 73%]",
                                "tests/kolla_drift/test_plugin_registry.py::test_plugin_groups_match_registries_and_are_disjoint PASSED [ 73%]",
                                "tests/kolla_drift/test_report.py::test_single_plugin_groups_sorts_and_renders PASSED [ 73%]",
                                "tests/kolla_drift/test_report.py::test_orders_blocks_by_plugins_list PASSED [ 74%]",
                                "tests/kolla_drift/test_report.py::test_build_style_splits_one_block_per_ref_pair PASSED [ 74%]",
                                "tests/kolla_drift/test_report.py::test_allowlisted_excluded_from_blocks_and_count PASSED [ 74%]",
                                "tests/kolla_drift/test_report.py::test_empty_returns_empty_list PASSED   [ 75%]",
                                "tests/kolla_drift/test_report.py::test_entry_summary_remediation_override_plugin_default PASSED [ 75%]",
                                "tests/kolla_drift/test_report.py::test_lists_image_not_alias PASSED      [ 75%]",
                                "tests/kolla_drift/test_sbom_map.py::test_extracts_keys PASSED            [ 75%]",
                                "tests/kolla_drift/test_sbom_map.py::test_missing_map_raises PASSED       [ 76%]",
                                "tests/kolla_drift/test_secrets_map.py::test_extracts_top_level_keys PASSED [ 76%]",
                                "tests/kolla_drift/test_secrets_map.py::test_ignores_comments_indented_and_markers PASSED [ 76%]",
                                "tests/kolla_drift/test_secrets_map.py::test_empty_input PASSED           [ 77%]",
                                "tests/kolla_drift/test_source.py::test_read_local_working_tree_when_found PASSED [ 77%]",
                                "tests/kolla_drift/test_source.py::test_read_not_found_in_base_dir_is_mode_b_error PASSED [ 77%]",
                                "tests/kolla_drift/test_source.py::test_read_local_file_absent_is_error_not_remote PASSED [ 78%]",
                                "tests/kolla_drift/test_source.py::test_read_remote_fallback_when_not_found PASSED [ 78%]",
                                "tests/kolla_drift/test_source.py::test_read_no_base_dir_is_remote PASSED [ 78%]",
                                "tests/kolla_drift/test_source.py::test_first_base_dir_with_the_repo_wins PASSED [ 78%]",
                                "tests/kolla_drift/test_source.py::test_pinned_local_git_repo_reads_at_pin_ref PASSED [ 79%]",
                                "tests/kolla_drift/test_source.py::test_pinned_non_git_dir_falls_back_to_remote PASSED [ 79%]",
                                "tests/kolla_drift/test_source.py::test_pinned_non_git_dir_no_fallback_is_mode_b PASSED [ 79%]",
                                "tests/kolla_drift/test_source.py::test_read_remote_404_errors PASSED     [ 80%]",
                                "tests/kolla_drift/test_source.py::test_read_network_error PASSED         [ 80%]",
                                "tests/kolla_drift/test_source.py::test_read_underscore_repo_translates_to_hyphen PASSED [ 80%]",
                                "tests/kolla_drift/test_source.py::test_read_optional_present_local PASSED [ 81%]",
                                "tests/kolla_drift/test_source.py::test_read_optional_missing_local_returns_none PASSED [ 81%]",
                                "tests/kolla_drift/test_source.py::test_read_optional_404_returns_none PASSED [ 81%]",
                                "tests/kolla_drift/test_source.py::test_read_optional_network_error_still_raises PASSED [ 81%]",
                                "tests/kolla_drift/test_source.py::test_read_optional_underscore_repo_translates_to_hyphen PASSED [ 82%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_local PASSED             [ 82%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_remote PASSED            [ 82%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_remote_404_errors PASSED [ 83%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_underscore_repo_translates_to_hyphen PASSED [ 83%]",
                                "tests/kolla_drift/test_source.py::test_source_override_redirects_owner_and_ref PASSED [ 83%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_local_dirs_only_excludes_files PASSED [ 84%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_remote_dirs_only_filters_type PASSED [ 84%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_at_ref_uses_explicit_ref_and_owner PASSED [ 84%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_at_ref_404_raises PASSED [ 84%]",
                                "tests/kolla_drift/test_source.py::test_release_to_ref_prefers_stable PASSED [ 85%]",
                                "tests/kolla_drift/test_source.py::test_release_to_ref_falls_back_through_candidates PASSED [ 85%]",
                                "tests/kolla_drift/test_source.py::test_release_to_ref_treats_422_as_absent PASSED [ 85%]",
                                "tests/kolla_drift/test_source.py::test_release_to_ref_uses_eom_tag_last PASSED [ 86%]",
                                "tests/kolla_drift/test_source.py::test_release_to_ref_none_raises PASSED [ 86%]",
                                "tests/kolla_drift/test_source.py::test_release_to_ref_override_wins PASSED [ 86%]",
                                "tests/kolla_drift/test_source.py::test_read_at_ref_returns_bytes_at_explicit_ref PASSED [ 87%]",
                                "tests/kolla_drift/test_source.py::test_read_at_ref_optional_404_returns_none PASSED [ 87%]",
                                "tests/kolla_drift/test_source.py::test_read_at_ref_404_raises_when_not_optional PASSED [ 87%]",
                                "tests/kolla_drift/test_source.py::test_describe_resolution_local_and_remote PASSED [ 87%]",
                                "tests/kolla_drift/test_source.py::test_describe_resolution_mode_b_raises PASSED [ 88%]",
                                "tests/kolla_drift/test_source.py::test_describe_resolution_lists_all_missing PASSED [ 88%]",
                                "tests/kolla_drift/test_source.py::test_git_show_multi_ref_from_one_clone PASSED [ 88%]",
                                "tests/kolla_drift/test_source.py::test_git_show_optional_absent_path PASSED [ 89%]",
                                "tests/kolla_drift/test_source.py::test_git_ls_tree_returns_basenames_and_dirs_only PASSED [ 89%]",
                                "tests/kolla_drift/test_source.py::test_resolve_local_ref_finds_non_origin_remote PASSED [ 89%]",
                                "tests/kolla_drift/test_source.py::test_git_show_unresolvable_ref_raises PASSED [ 90%]",
                                "tests/kolla_drift/test_source.py::test_git_ref_exists PASSED             [ 90%]",
                                "tests/kolla_drift/test_source.py::test_read_at_ref_local_git PASSED      [ 90%]",
                                "tests/kolla_drift/test_source.py::test_describe_resolution_pinned_local_tag PASSED [ 90%]",
                                "tests/kolla_drift/test_source.py::test_read_at_ref_unpinned_local_dir_is_remote PASSED [ 91%]",
                                "tests/kolla_drift/test_source.py::test_release_to_ref_memoizes_probes PASSED [ 91%]",
                                "tests/kolla_drift/test_source.py::test_read_remote_rate_limit_403_gives_helpful_error PASSED [ 91%]",
                                "tests/kolla_drift/test_source.py::test_rate_limit_error_when_authenticated_omits_token_advice PASSED [ 92%]",
                                "tests/kolla_drift/test_source.py::test_secondary_rate_limit_retry_after_gives_hint PASSED [ 92%]",
                                "tests/kolla_drift/test_source.py::test_raw_cdn_429_without_headers_gives_raw_specific_hint PASSED [ 92%]",
                                "tests/kolla_drift/test_source.py::test_plain_403_is_not_mistaken_for_rate_limiting PASSED [ 93%]",
                                "tests/kolla_drift/test_source.py::test_auth_headers_adds_bearer_for_github_host PASSED [ 93%]",
                                "tests/kolla_drift/test_source.py::test_auth_headers_absent_when_no_token PASSED [ 93%]",
                                "tests/kolla_drift/test_source.py::test_auth_headers_not_leaked_to_non_github_host PASSED [ 93%]",
                                "tests/kolla_drift/test_source.py::test_get_sends_auth_header_to_github PASSED [ 94%]",
                                "tests/kolla_drift/test_source.py::test_get_does_not_send_auth_to_non_github_mirror PASSED [ 94%]",
                                "tests/kolla_drift/test_source.py::test_read_uses_archive_when_enabled PASSED [ 94%]",
                                "tests/kolla_drift/test_source.py::test_archive_snapshot_shared_across_reads PASSED [ 95%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_uses_archive PASSED      [ 95%]",
                                "tests/kolla_drift/test_source.py::test_list_tree_uses_archive PASSED     [ 95%]",
                                "tests/kolla_drift/test_source.py::test_list_dir_at_ref_uses_archive PASSED [ 96%]",
                                "tests/kolla_drift/test_source.py::test_read_at_ref_uses_archive PASSED   [ 96%]",
                                "tests/kolla_drift/test_versions_template.py::test_extracts_distinct_keys PASSED [ 96%]",
                                "tests/kolla_drift/test_versions_template.py::test_empty_input PASSED     [ 96%]",
                                "tests/test_driver_groups.py::test_group_image_runs_only_image_plugins PASSED [ 97%]",
                                "tests/test_driver_groups.py::test_group_kolla_runs_only_kolla_plugins PASSED [ 97%]",
                                "tests/test_driver_groups.py::test_group_all_runs_both_groups PASSED      [ 97%]",
                                "tests/test_driver_groups.py::test_archive_mode_preamble_not_misleading PASSED [ 98%]",
                                "tests/test_driver_groups.py::test_use_raw_get_preamble_warns_slow PASSED [ 98%]",
                                "tests/test_driver_groups.py::test_missing_group_errors PASSED            [ 98%]",
                                "tests/test_driver_groups.py::test_demo_exits_0_without_reading_config_or_allowlist PASSED [ 99%]",
                                "tests/test_driver_groups.py::test_demo_renders_every_real_plugin PASSED  [ 99%]",
                                "tests/test_driver_groups.py::test_demo_json_emits_entries PASSED         [ 99%]",
                                "tests/test_driver_groups.py::test_help_lists_plugin_groups PASSED        [100%]",
                                "",
                                "============================= 332 passed in 4.18s ==============================",
                                "drift-test: 4713 I exit 0 (4.46 seconds) /home/zuul/src/github.com/osism/release> pytest tests/ -v pid=1766 [tox/execute/api.py:308]",
                                "  drift-test: OK (4.50=setup[0.05]+cmd[4.46] seconds)",
                                "  congratulations :) (4.53 seconds)"
                            ],
                            "zuul_log_id": "0242ac1f-6606-5aee-1374-000000000014-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:23.059854Z",
                            "start": "2026-07-12T19:11:17.543830Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000014",
                        "name": "Run tox"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "tox_parse_output",
                            "changed": false,
                            "failed_when_result": false,
                            "file_comments": {},
                            "invocation": {
                                "module_args": {
                                    "tox_envlist": "drift-test",
                                    "tox_output": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
                                    "workdir": "src/github.com/osism/release"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:23.557383Z",
                            "start": "2026-07-12T19:11:23.067587Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000015",
                        "name": "Look for output"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "zuul_return",
                            "changed": false,
                            "false_condition": "file_comments.file_comments",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-5aee-1374-00000000000c",
                        "name": "tox",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/tox"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:23.688840Z",
                            "start": "2026-07-12T19:11:23.586514Z"
                        },
                        "id": "0242ac1f-6606-5aee-1374-000000000016",
                        "name": "Return file comments to Zuul"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 9,
            "failures": 0,
            "ignored": 0,
            "ok": 13,
            "rescued": 0,
            "skipped": 4,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/osism/openinfra-zuul-jobs/playbooks/tox/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-12T19:11:30.470453Z",
                    "start": "2026-07-12T19:11:25.699146Z"
                },
                "id": "0242ac1f-6606-6e60-cfd6-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:25.773374Z",
                            "start": "2026-07-12T19:11:25.715779Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-000000000007",
                        "name": "Set tox log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/tox"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:25.820544Z",
                            "start": "2026-07-12T19:11:25.779626Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-000000000008",
                        "name": "Set tox log path for single node"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/tox",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/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/09e0db2ebf1948afa7ba3457c92d0331/work/logs/tox",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/tox",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:26.506022Z",
                            "start": "2026-07-12T19:11:25.830790Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-000000000009",
                        "name": "Ensure local tox dir"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "zuul_use_fetch_output",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:26.566875Z",
                            "start": "2026-07-12T19:11:26.512651Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-00000000000a",
                        "name": "Ensure zuul-output tox dir"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "envlist": [
                                    "drift-test"
                                ]
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:26.615794Z",
                            "start": "2026-07-12T19:11:26.572222Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-00000000000b",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "/home/zuul/.local/tox/bin/tox",
                                "--version"
                            ],
                            "delta": "0:00:00.274275",
                            "end": "2026-07-12 19:11:27.566318",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/home/zuul/.local/tox/bin/tox --version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-6e60-cfd6-00000000000c-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-07-12 19:11:27.292043",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul\n4.56.4 from /home/zuul/.local/tox/lib/python3.11/site-packages/tox/__init__.py",
                            "stdout_lines": [
                                "ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul",
                                "4.56.4 from /home/zuul/.local/tox/lib/python3.11/site-packages/tox/__init__.py"
                            ],
                            "zuul_log_id": "0242ac1f-6606-6e60-cfd6-00000000000c-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:27.670095Z",
                            "start": "2026-07-12T19:11:26.652311Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-00000000000c",
                        "name": "Get tox version"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "tox_envlist is not defined or not tox_envlist",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:28.241859Z",
                            "start": "2026-07-12T19:11:27.730103Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-00000000000d",
                        "name": "Find all default environments"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_default_environments.stdout_lines is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:28.311718Z",
                            "start": "2026-07-12T19:11:28.247618Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-00000000000e",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:28.864906Z",
                            "start": "2026-07-12T19:11:28.355004Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-00000000000f",
                        "name": "Find all default environments"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "tox_all_environments.stdout_lines is defined",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:28.944930Z",
                            "start": "2026-07-12T19:11:28.870546Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-000000000010",
                        "name": "Set envlist fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "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": "drift-test"
                                }
                            ],
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:29.077350Z",
                            "start": "2026-07-12T19:11:28.951372Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-000000000011",
                        "name": "Copy tox logs"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_testenv",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' '[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:src/github.com/osism/release/.tox/drift-test/log/' /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/tox/drift-test",
                                    "failed": false,
                                    "failed_when_result": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/tox/drift-test",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:src/github.com/osism/release/.tox/drift-test/log/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": "created directory /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/tox/drift-test\ncd+++++++++ ./\n>f+++++++++ 1-commands[0].log\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        "created directory /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/tox/drift-test",
                                        "cd+++++++++ ./",
                                        ">f+++++++++ 1-commands[0].log"
                                    ],
                                    "zj_testenv": "drift-test"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-6e60-cfd6-000000000005",
                        "name": "fetch-tox-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-tox-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:30.470453Z",
                            "start": "2026-07-12T19:11:29.084663Z"
                        },
                        "id": "0242ac1f-6606-6e60-cfd6-000000000013",
                        "name": "Collect tox logs"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 7,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "master",
    "index": "1",
    "phase": "post",
    "playbook": "github.com/osism/openinfra-zuul-jobs/playbooks/unittests/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-12T19:11:33.559167Z",
                    "start": "2026-07-12T19:11:32.824808Z"
                },
                "id": "0242ac1f-6606-b236-32c8-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "script",
                            "changed": true,
                            "exception": "NoneType: None\n",
                            "failed_when_result": false,
                            "msg": "non-zero return code",
                            "rc": 1,
                            "stderr": "Shared connection to 2a13:1a81:8000:3124:f816:3eff:fe46:4ef closed.\r\n",
                            "stderr_lines": [
                                "Shared connection to 2a13:1a81:8000:3124:f816:3eff:fe46:4ef closed."
                            ],
                            "stdout": "",
                            "stdout_lines": []
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b236-32c8-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:33.195209Z",
                            "start": "2026-07-12T19:11:32.896640Z"
                        },
                        "id": "0242ac1f-6606-b236-32c8-000000000007",
                        "name": "Find stestr or testr executable"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b236-32c8-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:33.264352Z",
                            "start": "2026-07-12T19:11:33.201371Z"
                        },
                        "id": "0242ac1f-6606-b236-32c8-000000000009",
                        "name": "Get the list of directories with subunit files"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "find",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b236-32c8-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:33.335398Z",
                            "start": "2026-07-12T19:11:33.269882Z"
                        },
                        "id": "0242ac1f-6606-b236-32c8-00000000000a",
                        "name": "Find any inflight partial subunit files"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b236-32c8-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:33.377871Z",
                            "start": "2026-07-12T19:11:33.343295Z"
                        },
                        "id": "0242ac1f-6606-b236-32c8-00000000000c",
                        "name": "Copy any inflight subunit files"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "tempfile",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b236-32c8-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:33.434576Z",
                            "start": "2026-07-12T19:11:33.385806Z"
                        },
                        "id": "0242ac1f-6606-b236-32c8-00000000000f",
                        "name": "Create a temporary file to store the subunit stream"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "shell",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b236-32c8-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:33.476871Z",
                            "start": "2026-07-12T19:11:33.442564Z"
                        },
                        "id": "0242ac1f-6606-b236-32c8-000000000010",
                        "name": "Generate subunit file"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b236-32c8-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:33.496296Z",
                            "start": "2026-07-12T19:11:33.482373Z"
                        },
                        "id": "0242ac1f-6606-b236-32c8-000000000012",
                        "name": "Copy the combined subunit file to the zuul work directory"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b236-32c8-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:33.530137Z",
                            "start": "2026-07-12T19:11:33.502603Z"
                        },
                        "id": "0242ac1f-6606-b236-32c8-000000000013",
                        "name": "Remove the temporary file"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "testr_command.rc == 0",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-b236-32c8-000000000005",
                        "name": "fetch-subunit-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/untrusted/project_0/github.com/osism/openinfra-zuul-jobs/roles/fetch-subunit-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:33.559167Z",
                            "start": "2026-07-12T19:11:33.535639Z"
                        },
                        "id": "0242ac1f-6606-b236-32c8-000000000014",
                        "name": "Process and fetch subunit results"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 8,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "post",
    "playbook": "github.com/osism/zuul-config/playbooks/base/post-fetch.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-12T19:12:05.978972Z",
                    "start": "2026-07-12T19:11:35.310750Z"
                },
                "id": "0242ac1f-6606-3c68-e82f-000000000002",
                "name": "Base post-fetch"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/zuul-output/logs"
                                },
                                "before": {
                                    "path": "/home/zuul/zuul-output/logs"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": "0755",
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/zuul-output/logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "zuul",
                            "path": "/home/zuul/zuul-output/logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3c68-e82f-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:35.933736Z",
                            "start": "2026-07-12T19:11:35.343702Z"
                        },
                        "id": "0242ac1f-6606-3c68-e82f-000000000009",
                        "name": "Ensure log directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "ansible_job_id": "j891644352385.2657",
                            "changed": false,
                            "cmd": "set +e\nset -o pipefail\nphase=post\nout=/home/zuul/zuul-output/logs/net-debug.$phase.txt\ntargets=\"tarballs.opendev.org galaxy.ansible.com\"\niface=$(ip -6 route show default 2>/dev/null        | awk '{for(i=1;i<=NF;i++) if($i==\"dev\"){print $(i+1); exit}}')\n: \"${iface:=eth0}\"\ngw=$(ip -6 route show default 2>/dev/null     | awk '{for(i=1;i<=NF;i++) if($i==\"via\"){print $(i+1); exit}}')\n{\n  echo \"== date ==\";    date -Is\n  echo \"== iface / gw ==\"; echo \"iface=$iface gw=$gw\"\n  echo \"== ip -6 addr (lifetimes = SLAAC evidence) ==\"; ip -6 addr show\n  echo \"== ip -6 route show ==\"; ip -6 route show\n  echo \"== ip -6 route show default (expires/proto ra = RA evidence) ==\"\n  ip -6 route show default\n  echo \"== ip -4 route show default ==\"; ip -4 route show default\n  echo \"== accept_ra / forwarding (procfs; RA-suppression evidence) ==\"\n  for k in all default \"$iface\"; do\n    for s in forwarding accept_ra; do\n      v=$(cat \"/proc/sys/net/ipv6/conf/$k/$s\" 2>/dev/null)\n      echo \"net.ipv6.conf.$k.$s = ${v:-<unavailable>}\"\n    done\n  done\n  echo \"== resolvectl status ==\"\n  if command -v resolvectl >/dev/null 2>&1; then resolvectl status 2>&1\n  else echo \"resolvectl not installed\"; fi\n  echo \"== /etc/resolv.conf (resolver stub) ==\"\n  cat /etc/resolv.conf 2>/dev/null || echo \"(absent)\"\n  echo \"== /run/systemd/resolve/resolv.conf (upstreams) ==\"\n  cat /run/systemd/resolve/resolv.conf 2>/dev/null    || echo \"(no systemd-resolved upstream file)\"\n  for d in $targets; do\n    echo \"== target: $d ==\"\n    echo \"-- getent ahosts (families glibc returns) --\"\n    getent ahosts \"$d\" 2>&1\n    if command -v resolvectl >/dev/null 2>&1; then\n      echo \"-- resolvectl query --\"; resolvectl query --cache=no \"$d\" 2>&1\n    fi\n    v6=$(getent ahosts \"$d\" 2>/dev/null | awk '$1~/:/{print $1; exit}')\n    v4=$(getent ahosts \"$d\" 2>/dev/null         | awk '$1~/^[0-9]+(\\.[0-9]+){3}$/{print $1; exit}')\n    if [ -n \"$v6\" ]; then\n      echo \"-- ip -6 route get $v6 --\"; ip -6 route get \"$v6\" 2>&1\n    fi\n    if [ -n \"$v4\" ]; then\n      echo \"-- ip -4 route get $v4 --\"; ip -4 route get \"$v4\" 2>&1\n    fi\n    # Several attempts per family: a single sample misclassifies a\n    # ~50%-loss path as healthy or dead by coin flip, defeating the\n    # pre/post bracket. Bounded and in-line -- not a background sampler.\n    for fam in 6 4; do\n      echo \"-- curl -$fam (3 attempts) --\"\n      ok=0\n      for n in 1 2 3; do\n        curl -$fam -sS -m 10 -o /dev/null          -w \"  #$n http=%{http_code} ip=%{remote_ip} t=%{time_total}s\\n\"          \"https://$d/\" 2>&1 && ok=1 || echo \"  #$n curl -$fam FAILED\"\n      done\n      # Trace only the family that failed, to its resolved address:\n      # localises WHERE the failing path dies instead of tracing the\n      # healthy family. v4 via traceroute, v6 via traceroute6.\n      if [ \"$ok\" = 0 ]; then\n        addr=$v6; [ \"$fam\" = 4 ] && addr=$v4\n        tr=traceroute6; [ \"$fam\" = 4 ] && tr=traceroute\n        if [ -n \"$addr\" ] && command -v \"$tr\" >/dev/null 2>&1; then\n          echo \"  !! curl -$fam failed 3x; $tr to $addr\"\n          timeout 30 \"$tr\" -q1 -w2 \"$addr\" 2>&1\n        fi\n      fi\n    done\n  done\n  echo \"== ping -6 gateway ==\"\n  if [ -n \"$gw\" ]; then\n    ping -6 -c1 -W2 \"${gw}%${iface}\" 2>&1\n  else echo \"no v6 gw\"; fi\n} > \"$out\" 2>&1\n",
                            "delta": "0:00:06.241091",
                            "end": "2026-07-12 19:11:43.543020",
                            "failed_when_result": false,
                            "finished": 1,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set +e\nset -o pipefail\nphase=post\nout=/home/zuul/zuul-output/logs/net-debug.$phase.txt\ntargets=\"tarballs.opendev.org galaxy.ansible.com\"\niface=$(ip -6 route show default 2>/dev/null        | awk '{for(i=1;i<=NF;i++) if($i==\"dev\"){print $(i+1); exit}}')\n: \"${iface:=eth0}\"\ngw=$(ip -6 route show default 2>/dev/null     | awk '{for(i=1;i<=NF;i++) if($i==\"via\"){print $(i+1); exit}}')\n{\n  echo \"== date ==\";    date -Is\n  echo \"== iface / gw ==\"; echo \"iface=$iface gw=$gw\"\n  echo \"== ip -6 addr (lifetimes = SLAAC evidence) ==\"; ip -6 addr show\n  echo \"== ip -6 route show ==\"; ip -6 route show\n  echo \"== ip -6 route show default (expires/proto ra = RA evidence) ==\"\n  ip -6 route show default\n  echo \"== ip -4 route show default ==\"; ip -4 route show default\n  echo \"== accept_ra / forwarding (procfs; RA-suppression evidence) ==\"\n  for k in all default \"$iface\"; do\n    for s in forwarding accept_ra; do\n      v=$(cat \"/proc/sys/net/ipv6/conf/$k/$s\" 2>/dev/null)\n      echo \"net.ipv6.conf.$k.$s = ${v:-<unavailable>}\"\n    done\n  done\n  echo \"== resolvectl status ==\"\n  if command -v resolvectl >/dev/null 2>&1; then resolvectl status 2>&1\n  else echo \"resolvectl not installed\"; fi\n  echo \"== /etc/resolv.conf (resolver stub) ==\"\n  cat /etc/resolv.conf 2>/dev/null || echo \"(absent)\"\n  echo \"== /run/systemd/resolve/resolv.conf (upstreams) ==\"\n  cat /run/systemd/resolve/resolv.conf 2>/dev/null    || echo \"(no systemd-resolved upstream file)\"\n  for d in $targets; do\n    echo \"== target: $d ==\"\n    echo \"-- getent ahosts (families glibc returns) --\"\n    getent ahosts \"$d\" 2>&1\n    if command -v resolvectl >/dev/null 2>&1; then\n      echo \"-- resolvectl query --\"; resolvectl query --cache=no \"$d\" 2>&1\n    fi\n    v6=$(getent ahosts \"$d\" 2>/dev/null | awk '$1~/:/{print $1; exit}')\n    v4=$(getent ahosts \"$d\" 2>/dev/null         | awk '$1~/^[0-9]+(\\.[0-9]+){3}$/{print $1; exit}')\n    if [ -n \"$v6\" ]; then\n      echo \"-- ip -6 route get $v6 --\"; ip -6 route get \"$v6\" 2>&1\n    fi\n    if [ -n \"$v4\" ]; then\n      echo \"-- ip -4 route get $v4 --\"; ip -4 route get \"$v4\" 2>&1\n    fi\n    # Several attempts per family: a single sample misclassifies a\n    # ~50%-loss path as healthy or dead by coin flip, defeating the\n    # pre/post bracket. Bounded and in-line -- not a background sampler.\n    for fam in 6 4; do\n      echo \"-- curl -$fam (3 attempts) --\"\n      ok=0\n      for n in 1 2 3; do\n        curl -$fam -sS -m 10 -o /dev/null          -w \"  #$n http=%{http_code} ip=%{remote_ip} t=%{time_total}s\\n\"          \"https://$d/\" 2>&1 && ok=1 || echo \"  #$n curl -$fam FAILED\"\n      done\n      # Trace only the family that failed, to its resolved address:\n      # localises WHERE the failing path dies instead of tracing the\n      # healthy family. v4 via traceroute, v6 via traceroute6.\n      if [ \"$ok\" = 0 ]; then\n        addr=$v6; [ \"$fam\" = 4 ] && addr=$v4\n        tr=traceroute6; [ \"$fam\" = 4 ] && tr=traceroute\n        if [ -n \"$addr\" ] && command -v \"$tr\" >/dev/null 2>&1; then\n          echo \"  !! curl -$fam failed 3x; $tr to $addr\"\n          timeout 30 \"$tr\" -q1 -w2 \"$addr\" 2>&1\n        fi\n      fi\n    done\n  done\n  echo \"== ping -6 gateway ==\"\n  if [ -n \"$gw\" ]; then\n    ping -6 -c1 -W2 \"${gw}%${iface}\" 2>&1\n  else echo \"no v6 gw\"; fi\n} > \"$out\" 2>&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": "0242ac1f-6606-3c68-e82f-00000000000a-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "results_file": "/home/zuul/.ansible_async/j891644352385.2657",
                            "start": "2026-07-12 19:11:37.301929",
                            "started": 1,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-3c68-e82f-00000000000a-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3c68-e82f-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:48.187165Z",
                            "start": "2026-07-12T19:11:35.943508Z"
                        },
                        "id": "0242ac1f-6606-3c68-e82f-00000000000a",
                        "name": "Snapshot dual-stack network state (post)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "ansible_job_id": "j269717756741.2763",
                            "changed": false,
                            "cmd": "set +e\nset -o pipefail\nphase=post\nout=/home/zuul/zuul-output/logs/net-debug.$phase.txt\n{\n  echo \"== docker / buildkit IPv6 config ==\"\n  if ! command -v docker >/dev/null 2>&1; then\n    echo \"docker not available; skipped\"\n  else\n    echo \"-- docker info (IPv6 lines) --\"\n    if info=$(timeout 30 docker info 2>&1); then\n      printf '%s\\n' \"$info\" | grep -iE 'ipv6|ip6tables'        || echo \"(no IPv6 lines)\"\n    else\n      echo \"docker info FAILED/timed out (daemon down or no permission):\"\n      printf '%s\\n' \"$info\" | head -5\n    fi\n    echo \"-- /etc/docker/daemon.json --\"\n    cat /etc/docker/daemon.json 2>/dev/null || echo \"(absent)\"\n    echo \"-- docker network inspect bridge (EnableIPv6 + IPAM) --\"\n    timeout 30 docker network inspect bridge 2>&1      | grep -iE '\"Name\"|EnableIPv6|Subnet|Gateway'      || echo \"(inspect failed)\"\n    echo \"-- docker buildx ls --\"\n    timeout 30 docker buildx ls 2>&1 || echo \"(buildx unavailable)\"\n  fi\n} >> \"$out\" 2>&1\n",
                            "delta": "0:00:00.007458",
                            "end": "2026-07-12 19:11:48.784407",
                            "failed_when_result": false,
                            "finished": 1,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set +e\nset -o pipefail\nphase=post\nout=/home/zuul/zuul-output/logs/net-debug.$phase.txt\n{\n  echo \"== docker / buildkit IPv6 config ==\"\n  if ! command -v docker >/dev/null 2>&1; then\n    echo \"docker not available; skipped\"\n  else\n    echo \"-- docker info (IPv6 lines) --\"\n    if info=$(timeout 30 docker info 2>&1); then\n      printf '%s\\n' \"$info\" | grep -iE 'ipv6|ip6tables'        || echo \"(no IPv6 lines)\"\n    else\n      echo \"docker info FAILED/timed out (daemon down or no permission):\"\n      printf '%s\\n' \"$info\" | head -5\n    fi\n    echo \"-- /etc/docker/daemon.json --\"\n    cat /etc/docker/daemon.json 2>/dev/null || echo \"(absent)\"\n    echo \"-- docker network inspect bridge (EnableIPv6 + IPAM) --\"\n    timeout 30 docker network inspect bridge 2>&1      | grep -iE '\"Name\"|EnableIPv6|Subnet|Gateway'      || echo \"(inspect failed)\"\n    echo \"-- docker buildx ls --\"\n    timeout 30 docker buildx ls 2>&1 || echo \"(buildx unavailable)\"\n  fi\n} >> \"$out\" 2>&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": "0242ac1f-6606-3c68-e82f-00000000000b-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "results_file": "/home/zuul/.ansible_async/j269717756741.2763",
                            "start": "2026-07-12 19:11:48.776949",
                            "started": 1,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-3c68-e82f-00000000000b-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3c68-e82f-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:11:54.159812Z",
                            "start": "2026-07-12T19:11:48.194383Z"
                        },
                        "id": "0242ac1f-6606-3c68-e82f-00000000000b",
                        "name": "Snapshot Docker/BuildKit IPv6 config (teardown)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "ansible_job_id": "j264678215781.2798",
                            "changed": false,
                            "cmd": "set +e\nset -o pipefail\nphase=post\nout=/home/zuul/zuul-output/logs/net-debug.$phase.txt\ntargets=\"tarballs.opendev.org galaxy.ansible.com\"\n{\n  echo \"== container netns exec probe (default bridge) ==\"\n  if ! command -v docker >/dev/null 2>&1; then\n    echo \"docker not available; skipped\"\n  else\n    # Prefer a full base image likely to carry ip/curl/getent,\n    # skipping dangling (<none>) tags; fall back to any local image\n    # ID (a valid run reference). Never pull. (docker image ls\n    # columns: REPOSITORY TAG IMAGE_ID ...)\n    img=$(timeout 30 docker image ls 2>/dev/null | awk      '$1~/^(ubuntu|debian)$/ && $2!=\"<none>\"{print $1\":\"$2; exit}')\n    if [ -z \"$img\" ]; then\n      img=$(timeout 30 docker image ls -q 2>/dev/null | head -1)\n    fi\n    if [ -z \"$img\" ]; then\n      echo \"no local image; skipped (will not pull over a broken network)\"\n    else\n      echo \"using local image $img\"\n      # Bound the whole probe: on the degraded node this role exists\n      # to diagnose, a wedged daemon can make `docker run` hang\n      # indefinitely and stall teardown. timeout keeps it best-effort.\n      # A killed client may orphan the container, but the node is torn\n      # down right after, so that is acceptable here.\n      timeout 60 docker run --rm \"$img\" sh -c '\n        echo \"tools: ip=$(command -v ip || echo no)\" \\\n             \"curl=$(command -v curl || echo no)\" \\\n             \"getent=$(command -v getent || echo no)\"\n        echo \"-- ip -6 addr / route --\"\n        (ip -6 addr show 2>/dev/null; ip -6 route show 2>/dev/null) \\\n          || cat /proc/net/ipv6_route 2>/dev/null || echo \"no ip tool\"\n        echo \"-- /etc/resolv.conf --\"; cat /etc/resolv.conf 2>/dev/null\n        for d in '\"$targets\"'; do\n          echo \"target $d:\"\n          getent ahosts \"$d\" 2>&1 | head -4 || echo \"  getent unavailable\"\n          (curl -6 -sS -m 8 -o /dev/null \\\n             -w \"  v6 %{http_code} %{remote_ip} t=%{time_total}\\n\" \\\n             \"https://$d/\" 2>&1 || echo \"  v6 FAIL/unavailable\")\n          (curl -4 -sS -m 8 -o /dev/null \\\n             -w \"  v4 %{http_code} %{remote_ip} t=%{time_total}\\n\" \\\n             \"https://$d/\" 2>&1 || echo \"  v4 FAIL/unavailable\")\n        done\n      ' 2>&1\n    fi\n  fi\n} >> \"$out\" 2>&1\n",
                            "delta": "0:00:00.008246",
                            "end": "2026-07-12 19:11:54.872355",
                            "failed_when_result": false,
                            "finished": 1,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set +e\nset -o pipefail\nphase=post\nout=/home/zuul/zuul-output/logs/net-debug.$phase.txt\ntargets=\"tarballs.opendev.org galaxy.ansible.com\"\n{\n  echo \"== container netns exec probe (default bridge) ==\"\n  if ! command -v docker >/dev/null 2>&1; then\n    echo \"docker not available; skipped\"\n  else\n    # Prefer a full base image likely to carry ip/curl/getent,\n    # skipping dangling (<none>) tags; fall back to any local image\n    # ID (a valid run reference). Never pull. (docker image ls\n    # columns: REPOSITORY TAG IMAGE_ID ...)\n    img=$(timeout 30 docker image ls 2>/dev/null | awk      '$1~/^(ubuntu|debian)$/ && $2!=\"<none>\"{print $1\":\"$2; exit}')\n    if [ -z \"$img\" ]; then\n      img=$(timeout 30 docker image ls -q 2>/dev/null | head -1)\n    fi\n    if [ -z \"$img\" ]; then\n      echo \"no local image; skipped (will not pull over a broken network)\"\n    else\n      echo \"using local image $img\"\n      # Bound the whole probe: on the degraded node this role exists\n      # to diagnose, a wedged daemon can make `docker run` hang\n      # indefinitely and stall teardown. timeout keeps it best-effort.\n      # A killed client may orphan the container, but the node is torn\n      # down right after, so that is acceptable here.\n      timeout 60 docker run --rm \"$img\" sh -c '\n        echo \"tools: ip=$(command -v ip || echo no)\" \\\n             \"curl=$(command -v curl || echo no)\" \\\n             \"getent=$(command -v getent || echo no)\"\n        echo \"-- ip -6 addr / route --\"\n        (ip -6 addr show 2>/dev/null; ip -6 route show 2>/dev/null) \\\n          || cat /proc/net/ipv6_route 2>/dev/null || echo \"no ip tool\"\n        echo \"-- /etc/resolv.conf --\"; cat /etc/resolv.conf 2>/dev/null\n        for d in '\"$targets\"'; do\n          echo \"target $d:\"\n          getent ahosts \"$d\" 2>&1 | head -4 || echo \"  getent unavailable\"\n          (curl -6 -sS -m 8 -o /dev/null \\\n             -w \"  v6 %{http_code} %{remote_ip} t=%{time_total}\\n\" \\\n             \"https://$d/\" 2>&1 || echo \"  v6 FAIL/unavailable\")\n          (curl -4 -sS -m 8 -o /dev/null \\\n             -w \"  v4 %{http_code} %{remote_ip} t=%{time_total}\\n\" \\\n             \"https://$d/\" 2>&1 || echo \"  v4 FAIL/unavailable\")\n        done\n      ' 2>&1\n    fi\n  fi\n} >> \"$out\" 2>&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": "0242ac1f-6606-3c68-e82f-00000000000c-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "results_file": "/home/zuul/.ansible_async/j264678215781.2798",
                            "start": "2026-07-12 19:11:54.864109",
                            "started": 1,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-3c68-e82f-00000000000c-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3c68-e82f-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:12:00.276992Z",
                            "start": "2026-07-12T19:11:54.165315Z"
                        },
                        "id": "0242ac1f-6606-3c68-e82f-00000000000c",
                        "name": "Probe container network namespace (teardown)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3c68-e82f-00000000000e",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:12:00.398009Z",
                            "start": "2026-07-12T19:12:00.292418Z"
                        },
                        "id": "0242ac1f-6606-3c68-e82f-000000000010",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3c68-e82f-00000000000e",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:12:00.468365Z",
                            "start": "2026-07-12T19:12:00.403832Z"
                        },
                        "id": "0242ac1f-6606-3c68-e82f-000000000011",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3c68-e82f-00000000000e",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:12:01.870096Z",
                            "start": "2026-07-12T19:12:00.477164Z"
                        },
                        "id": "0242ac1f-6606-3c68-e82f-000000000012",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' '[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:/home/zuul/zuul-output/logs/' /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n>f+++++++++ net-debug.post.txt\n>f+++++++++ net-debug.pre.txt\n>f+++++++++ sudo-debug.txt\n>f+++++++++ sudo-strace.log\n>f+++++++++ sudo-strace.log.time\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./",
                                        ">f+++++++++ net-debug.post.txt",
                                        ">f+++++++++ net-debug.pre.txt",
                                        ">f+++++++++ sudo-debug.txt",
                                        ">f+++++++++ sudo-strace.log",
                                        ">f+++++++++ sudo-strace.log.time"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' '[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:/home/zuul/zuul-output/artifacts/' /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:/home/zuul/zuul-output/artifacts/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' '[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:/home/zuul/zuul-output/docs/' /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "[zuul@2a13:1a81:8000:3124:f816:3eff:fe46:4ef]:/home/zuul/zuul-output/docs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3c68-e82f-00000000000e",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:12:04.491219Z",
                            "start": "2026-07-12T19:12:01.876832Z"
                        },
                        "id": "0242ac1f-6606-3c68-e82f-000000000014",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "shell",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/artifacts\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts/* /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.018139",
                                    "end": "2026-07-12 19:12:05.152424",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/artifacts\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/artifacts/* /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/artifacts\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-07-12 19:12:05.134285",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "artifacts",
                                    "zuul_log_id": "in-loop-ignore"
                                },
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/docs\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs/* /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.014050",
                                    "end": "2026-07-12 19:12:05.861308",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/docs\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/docs/* /var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/work/logs/docs\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-07-12 19:12:05.847258",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3c68-e82f-000000000017",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:12:05.978972Z",
                            "start": "2026-07-12T19:12:04.503045Z"
                        },
                        "id": "0242ac1f-6606-3c68-e82f-000000000019",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 8,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "3",
    "phase": "post",
    "playbook": "github.com/osism/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-07-12T19:12:07.746687Z",
                    "start": "2026-07-12T19:12:07.187040Z"
                },
                "id": "0242ac1f-6606-70f3-c2c5-000000000002",
                "name": "Base post"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC6csjs21VIO0PViu2NS2SKPMgEHgQwf7oZcTBuWxaiMOYKapyFvofbLTu+M1BrH6LzanCTgarmZRqkWTOvRRx0qa9ERhnBgCLbZM0bEvK2iSct37zj2EtzUUk1oUWn5AIGcow810F9pxpJ+NdQ64VSh8Cs+5jCD4BJJJrJkDAF4EHOj5I+NF3+m4NFgARtoD5wHD9TYRsT3rZMmpgiajHCx8B4e6/JwsG3pIK656bo4iFXmg+oHZiqaB1MUfBwxwKtbIBt91GzO50yJGiLHx4gKOsGAejxVXq7+4r41w6E7pM8Rkhp9ZRn2V04XIFLUZcCZLS4HyY4l0lOpsky9GBrIQ0oYOPqTNwZd8VJ5vrOJMTqTudM6nHIQz/M0LNBcbI8lpk71gyaKfSXpp3bYpfkomrcvnn/81LIX16QTHTps3ox7NiLis1RC6wR93dWL2vO1J3CGYHAftdksqd1iSWgPAPZAFe6BDpQr2SmHFan7V8G3a5LADkMH2cuxQnynS0= zuul-build-sshkey",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "absent",
                                    "user": "zuul",
                                    "validate_certs": true
                                }
                            },
                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC6csjs21VIO0PViu2NS2SKPMgEHgQwf7oZcTBuWxaiMOYKapyFvofbLTu+M1BrH6LzanCTgarmZRqkWTOvRRx0qa9ERhnBgCLbZM0bEvK2iSct37zj2EtzUUk1oUWn5AIGcow810F9pxpJ+NdQ64VSh8Cs+5jCD4BJJJrJkDAF4EHOj5I+NF3+m4NFgARtoD5wHD9TYRsT3rZMmpgiajHCx8B4e6/JwsG3pIK656bo4iFXmg+oHZiqaB1MUfBwxwKtbIBt91GzO50yJGiLHx4gKOsGAejxVXq7+4r41w6E7pM8Rkhp9ZRn2V04XIFLUZcCZLS4HyY4l0lOpsky9GBrIQ0oYOPqTNwZd8VJ5vrOJMTqTudM6nHIQz/M0LNBcbI8lpk71gyaKfSXpp3bYpfkomrcvnn/81LIX16QTHTps3ox7NiLis1RC6wR93dWL2vO1J3CGYHAftdksqd1iSWgPAPZAFe6BDpQr2SmHFan7V8G3a5LADkMH2cuxQnynS0= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "absent",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-70f3-c2c5-000000000005",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/09e0db2ebf1948afa7ba3457c92d0331/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-07-12T19:12:07.746687Z",
                            "start": "2026-07-12T19:12:07.199227Z"
                        },
                        "id": "0242ac1f-6606-70f3-c2c5-000000000007",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
