[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/osism/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T10:23:01.349410Z",
                    "start": "2026-09-10T10:22:25.541653Z"
                },
                "id": "0242ac1f-6606-636e-8d8e-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-636e-8d8e-00000000000d",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:25.613901Z",
                            "start": "2026-09-10T10:22:25.566805Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-00000000000f",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "79f/osism/79fdfdbd850c49cf8c8bd60798e24c11"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-0000000000c1",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:25.729603Z",
                            "start": "2026-09-10T10:22:25.633063Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-0000000000c3",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.14\nJob: mypy\nPipeline: check\nExecutor: 521e9411259a\nTriggered by: https://github.com/osism/python-osism/pull/2688\nEvent ID: 76813db0-ad01-11f1-8f1c-f913ecbc38f6\n"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-00000000000d",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:25.795742Z",
                            "start": "2026-09-10T10:22:25.737302Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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:fe0d:242c\n",
                                    "zj_item": "debian-bookworm"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-00000000000d",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:25.996980Z",
                            "start": "2026-09-10T10:22:25.799652Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000011",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000014",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:26.866371Z",
                            "start": "2026-09-10T10:22:26.004486Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000016",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "3a6ebc7addb02b9e4ea4dcf8e43145b84c2d290b",
                            "dest": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "3a6ebc7addb02b9e4ea4dcf8e43145b84c2d290b",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/.ansible/tmp/ansible-tmp-1789035746.9362953-34-205911236299477/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "ec31bd88525cfebf9e62abcc2577a810",
                            "mode": "0644",
                            "owner": "root",
                            "size": 40877,
                            "src": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/.ansible/tmp/ansible-tmp-1789035746.9362953-34-205911236299477/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000014",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:28.853884Z",
                            "start": "2026-09-10T10:22:26.871432Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:29.509726Z",
                            "start": "2026-09-10T10:22:28.862003Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:29.562502Z",
                            "start": "2026-09-10T10:22:29.514432Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:02.968867",
                            "end": "2026-09-10 10:22:33.130759",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_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-636e-8d8e-0000000000e4-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 10:22:30.161892",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_id_rsa.pub\nThe key fingerprint is:\nSHA256:ZyJzJdz5zJS8OQyirdGTFIW0Dmt9jLj5CfpW78flooE zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|       .oo.      |\n|       ..+ o .   |\n|      . * = +    |\n|       @ B B o   |\n|      O S = O    |\n|     . O.B   ..  |\n|      =.E... o   |\n|     ..o ...+ .  |\n|    .o. o.oo .   |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:ZyJzJdz5zJS8OQyirdGTFIW0Dmt9jLj5CfpW78flooE zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|       .oo.      |",
                                "|       ..+ o .   |",
                                "|      . * = +    |",
                                "|       @ B B o   |",
                                "|      O S = O    |",
                                "|     . O.B   ..  |",
                                "|      =.E... o   |",
                                "|     ..o ...+ .  |",
                                "|    .o. o.oo .   |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac1f-6606-636e-8d8e-0000000000e4-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:33.210450Z",
                            "start": "2026-09-10T10:22:29.596414Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-0000000000e4",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:33.242718Z",
                            "start": "2026-09-10T10:22:33.215306Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-0000000000e5",
                        "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-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:33.311265Z",
                            "start": "2026-09-10T10:22:33.260473Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000104",
                        "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCe/NOdPdzBpsw2dP/neVuR/o8veUZEtpTLz3Ril+PJi/zse8WH0t+8op+h9qRDnF8q4QQDO+cWcoEg+FZH4WZ6mZGTJs7QVPOP1mQbrQ7Ckd00OWFqzVzVeRQhH9G6BTdHlNiVqxacdu8JHxE0U0C5JLMprDka5a7TeAAvHmZX3MfKRRK9Fla5PQv5OrrjsVHKllSaGiNypdsNYImO+sgYPW2Q08ddwiXKAkyzsyTHZ615ZNPPqGFRQt4fVMR5GPQvSHF+8XRRsjYdemKvSbP9F9scrLGwtLtFDCF7XiFDWDNarO8rjb8M7xgJsvOSurib4i0WweHqiqfaVNqeiL0m29pYtun2QAubvSG/rqHnqK8GnHgaC3A57fD122gcNHBueGWEhLwpST0hKZpJdELAyg74KGy/sVw2mf2hZtGw0Xh1Lk3AZq7AT9EhoqRBpQ/VHgh7qwFqTS0Jmw4zOUQCtZ3sjnJ8oN5Q9ENKURLL2AqZqOg1KqRFNY73NtGvpsE= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCe/NOdPdzBpsw2dP/neVuR/o8veUZEtpTLz3Ril+PJi/zse8WH0t+8op+h9qRDnF8q4QQDO+cWcoEg+FZH4WZ6mZGTJs7QVPOP1mQbrQ7Ckd00OWFqzVzVeRQhH9G6BTdHlNiVqxacdu8JHxE0U0C5JLMprDka5a7TeAAvHmZX3MfKRRK9Fla5PQv5OrrjsVHKllSaGiNypdsNYImO+sgYPW2Q08ddwiXKAkyzsyTHZ615ZNPPqGFRQt4fVMR5GPQvSHF+8XRRsjYdemKvSbP9F9scrLGwtLtFDCF7XiFDWDNarO8rjb8M7xgJsvOSurib4i0WweHqiqfaVNqeiL0m29pYtun2QAubvSG/rqHnqK8GnHgaC3A57fD122gcNHBueGWEhLwpST0hKZpJdELAyg74KGy/sVw2mf2hZtGw0Xh1Lk3AZq7AT9EhoqRBpQ/VHgh7qwFqTS0Jmw4zOUQCtZ3sjnJ8oN5Q9ENKURLL2AqZqOg1KqRFNY73NtGvpsE= 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-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:34.193768Z",
                            "start": "2026-09-10T10:22:33.315975Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000105",
                        "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-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:34.490868Z",
                            "start": "2026-09-10T10:22:34.198888Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000106",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "e72cad6e7e6bbeff0c465ed7b0417d014b81b85b",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "79fdfdbd850c49cf8c8bd60798e24c11_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "e72cad6e7e6bbeff0c465ed7b0417d014b81b85b",
                                    "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-1789035754.5298285-139-41996202176798/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8976147f996bba9cbd09944b352b96da",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789035754.5298285-139-41996202176798/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:35.192916Z",
                            "start": "2026-09-10T10:22:34.496034Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000107",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "9d1fc25945448e730ec0eac37f19ee666fb04045",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "79fdfdbd850c49cf8c8bd60798e24c11_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "9d1fc25945448e730ec0eac37f19ee666fb04045",
                                    "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-1789035755.2312458-149-174913300339461/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "275f3645bc43d02f8700651537e28101",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1789035755.2312458-149-174913300339461/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:35.892535Z",
                            "start": "2026-09-10T10:22:35.196943Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000108",
                        "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-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:35.920626Z",
                            "start": "2026-09-10T10:22:35.897579Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-0000000000e6",
                        "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-636e-8d8e-0000000000eb",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:36.787167Z",
                            "start": "2026-09-10T10:22:35.926084Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-0000000000ed",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_id_rsa"
                            ],
                            "delta": "0:00:00.022855",
                            "end": "2026-09-10 10:22:37.347611",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_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-636e-8d8e-0000000000f3-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 10:22:37.324756",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/79fdfdbd850c49cf8c8bd60798e24c11_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac1f-6606-636e-8d8e-0000000000f3-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:37.430621Z",
                            "start": "2026-09-10T10:22:36.797181Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-0000000000f3",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:38.016075Z",
                            "start": "2026-09-10T10:22:37.437422Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-0000000000f4",
                        "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-636e-8d8e-000000000019",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:38.047252Z",
                            "start": "2026-09-10T10:22:38.022879Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-0000000000f5",
                        "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-636e-8d8e-00000000001e",
                        "name": "start-zuul-console",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/start-zuul-console"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:38.621164Z",
                            "start": "2026-09-10T10:22:38.069053Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000020",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_info_dir": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/logs/zuul-info"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:38.672814Z",
                            "start": "2026-09-10T10:22:38.633059Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000024",
                        "name": "Define zuul_info_dir fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/logs/zuul-info"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:39.193602Z",
                            "start": "2026-09-10T10:22:38.676831Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000025",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "10.128.7.147"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "2a13:1a81:8000:3124:f816:3eff:fe0d:242c",
                                    "fe80::f816:3eff:fe0d:242c"
                                ],
                                "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-53-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-09-10",
                                    "day": "10",
                                    "epoch": "1789035760",
                                    "epoch_int": "1789035760",
                                    "hour": "10",
                                    "iso8601": "2026-09-10T10:22:40Z",
                                    "iso8601_basic": "20260910T102240340682",
                                    "iso8601_basic_short": "20260910T102240",
                                    "iso8601_micro": "2026-09-10T10:22:40.340682Z",
                                    "minute": "22",
                                    "month": "09",
                                    "second": "40",
                                    "time": "10:22:40",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Thursday",
                                    "weekday_number": "4",
                                    "weeknumber": "36",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "10.128.7.147",
                                    "alias": "ens3",
                                    "broadcast": "10.128.7.255",
                                    "gateway": "10.128.7.1",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:0d:24:2c",
                                    "mtu": 1500,
                                    "netmask": "255.255.255.0",
                                    "network": "10.128.7.0",
                                    "prefix": "24",
                                    "type": "ether"
                                },
                                "ansible_default_ipv6": {
                                    "address": "2a13:1a81:8000:3124:f816:3eff:fe0d:242c",
                                    "gateway": "fe80::f816:3eff:fe92:ad10",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:0d:24:2c",
                                    "mtu": 1500,
                                    "prefix": "64",
                                    "scope": "global",
                                    "type": "ether"
                                },
                                "ansible_device_links": {
                                    "ids": {},
                                    "labels": {
                                        "vda1": [
                                            "cloudimg-rootfs"
                                        ]
                                    },
                                    "masters": {},
                                    "uuids": {
                                        "vda1": [
                                            "4667c3ba-230f-49d1-8f2a-de51b6ee78f9"
                                        ]
                                    }
                                },
                                "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": [
                                                        "4667c3ba-230f-49d1-8f2a-de51b6ee78f9"
                                                    ]
                                                },
                                                "sectors": "20969439",
                                                "sectorsize": 512,
                                                "size": "10.00 GB",
                                                "start": "2048",
                                                "uuid": "4667c3ba-230f-49d1-8f2a-de51b6ee78f9"
                                            }
                                        },
                                        "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.7.147",
                                        "broadcast": "10.128.7.255",
                                        "netmask": "255.255.255.0",
                                        "network": "10.128.7.0",
                                        "prefix": "24"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "2a13:1a81:8000:3124:f816:3eff:fe0d:242c",
                                            "prefix": "64",
                                            "scope": "global"
                                        },
                                        {
                                            "address": "fe80::f816:3eff:fe0d:242c",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:0d:24:2c",
                                    "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 55494 22",
                                    "SSH_CONNECTION": "2a13:1a81:8000:2::38d 55494 2a13:1a81:8000:3124:f816:3eff:fe0d:242c 22",
                                    "USER": "zuul",
                                    "XDG_RUNTIME_DIR": "/run/user/1000",
                                    "XDG_SESSION_CLASS": "user",
                                    "XDG_SESSION_ID": "3",
                                    "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-53-amd64",
                                "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Debian 6.1.187-1 (2026-09-07)",
                                "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.00390625,
                                    "1m": 0.0615234375,
                                    "5m": 0.01513671875
                                },
                                "ansible_local": {},
                                "ansible_locally_reachable_ips": {
                                    "ipv4": [
                                        "10.128.7.147",
                                        "127.0.0.0/8",
                                        "127.0.0.1"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "2a13:1a81:8000:3124:f816:3eff:fe0d:242c",
                                        "fe80::f816:3eff:fe0d:242c"
                                    ]
                                },
                                "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": "98f0a3e3adea433399bb8d36e466e02f",
                                "ansible_memfree_mb": 3667,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 3754,
                                        "used": 159
                                    },
                                    "real": {
                                        "free": 3667,
                                        "total": 3913,
                                        "used": 246
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 3913,
                                "ansible_mounts": [
                                    {
                                        "block_available": 1943792,
                                        "block_size": 4096,
                                        "block_total": 2443452,
                                        "block_used": 499660,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 2496073,
                                        "inode_total": 2532384,
                                        "inode_used": 36311,
                                        "mount": "/",
                                        "options": "rw,relatime",
                                        "size_available": 7961772032,
                                        "size_total": 10008379392,
                                        "uuid": "4667c3ba-230f-49d1-8f2a-de51b6ee78f9"
                                    }
                                ],
                                "ansible_nodename": "debian",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-6.1.0-53-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": "AAAAB3NzaC1kc3MAAACBAIbMVbC7QEi9LhpzA8ZeeeUm639asv0RhptMALBrd6Qce5Fx8Et8frni0Byr78obIFg4m2YRBkF7WV5Oge9fOFhZEaGDzw7zL4LrxgklYgNg0xyZSddzsc/JsyU2Mr6GNXvqzwORmcdzDsKBXjmmU7jNogIIPIiFzn3ADOwLuRTPAAAAFQC1nsbkrM3/yG5GEzbVV5ME9hqAsQAAAIBXkCqHwrNYdAxZkNjNQQXz+hUIIz45iBVk+06/yhWRtv8tnk3eGQlbYNez+N+ylD+I8lZ6vTBVvG18Xb5qqa3jVQI2YE32QyDHjORlSVMrNTcD7C3kiwXl20CAp/XNmg2J7IrhWZ3eShHrgcAl0JjsGAe8bc+F9s+A6uco9fZPcAAAAIAe8Iz5W8RC6RggWCTZwfMQHN6dKDY9Toj5K5tk/QWMqe2ywrI5lXNV1aZUABjndnStbcEDz5ei2EQhlywvYY5gSgYB7rzJbUbjWs+dfgq3Wz4XsS1M08xMNw9rVExm0VzRYUPLuDiQ7yswDr5NYwUaqmvq795j47GkkZGbmHamZg==",
                                "ansible_ssh_host_key_dsa_public_keytype": "ssh-dss",
                                "ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEL9UKp2WWSUI7rS4S7xhBgetGwFWlBCzi9agSAS6lGjc7Uhp9QHO/uXpOqDo3BhpeD2QpPC4nOL7xSRafsuMyo=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAII1kGu30ZMnXyA2efh/LRLL07OKr19sH37382OwEN89w",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQDn7h3KkqFJRxp6vVTs8EsJ9B8wQ5NBBKr/oPvzJd96qJ72g7cKSQbVdRa3+4zXy8GHQ+vauY8AYTij6TsTs+NM+J77wQ9lAO/2g9tYyVsfZXTIKsxX3DUxYcBJcMi8MIs5kFosSBMCgBV2C9p1gRpEK8KL0+j23KPpClNh9TBCfSmxI/NI4x6Hs3z7pnX8MDYOx0m/iPbGGhD3KZBuU/lTOAqYIvI46mN0be8SwqLY3zq0yFWTUSnKkdCsShIGKgCIb425scULyuZHbyCiRj9L671HDOx/0uvS0MYuLZ0xZv8tfPWIqBEjymwgfcAbNm1Wmx6PCCBA8lFOjWZoKQYRUKp3RonmpCWOOId4edAl543pRGFedBv1EakXOb9ovv7OsuhmGkUPPlzw8RKGJ47eISkyGG4fMbfC6EKbzG87SYWWflVvaqInugAZym9mfE8nzY+kAz1a9CUz4YJdajvEWSPdIP3fzpYNa+7M110hs5039gHpiz1LN0/2tBYvlrs=",
                                "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": 6651,
                                "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-636e-8d8e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:40.471817Z",
                            "start": "2026-09-10T10:22:39.198468Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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-636e-8d8e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:40.659724Z",
                            "start": "2026-09-10T10:22:40.493092Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000027",
                        "name": "Sanitize hostname"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "template",
                            "changed": true,
                            "checksum": "c3958676e977c468ff4ed91995546b2640334ff0",
                            "dest": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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": "c3958676e977c468ff4ed91995546b2640334ff0",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/.ansible/tmp/ansible-tmp-1789035760.7286077-246-242497584231522/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8525d025eada270f781a06d206f8d1b0",
                            "mode": "0644",
                            "owner": "root",
                            "size": 13288,
                            "src": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/.ansible/tmp/ansible-tmp-1789035760.7286077-246-242497584231522/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:41.436715Z",
                            "start": "2026-09-10T10:22:40.670937Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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            495370   343  495027    1% /dev\ntmpfs           500889   458  500431    1% /run\n/dev/vda1      2532384 36311 2496073    2% /\ntmpfs           500889     1  500888    1% /dev/shm\ntmpfs           500889     3  500886    1% /run/lock\ntmpfs           100177    20  100157    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           9545  1506      7594  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:0d:24:2c brd ff:ff:ff:ff:ff:ff\n    altname enp0s3\n    inet 10.128.7.147/24 brd 10.128.7.255 scope global dynamic ens3\n       valid_lft 36552sec preferred_lft 36552sec\n    inet6 2a13:1a81:8000:3124:f816:3eff:fe0d:242c/64 scope global dynamic mngtmpaddr \n       valid_lft forever preferred_lft forever\n    inet6 fe80::f816:3eff:fe0d:242c/64 scope link \n       valid_lft forever preferred_lft forever\n",
                            "network_neighbors": "10.128.7.1 dev ens3 lladdr fa:16:3e:ef:4b:9b 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.7.1 dev ens3 \n10.128.7.0/24 dev ens3 proto kernel scope link src 10.128.7.147 \n169.254.169.254 via 10.128.7.2 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 65181sec 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-53-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.187-1 (2026-09-07) x86_64 GNU/Linux\n"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:41.931613Z",
                            "start": "2026-09-10T10:22:41.442337Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-00000000002a",
                        "name": "Collect information about zuul worker"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "template",
                            "changed": true,
                            "checksum": "493b2a0d7ad870fb92919d4f3058298fdb6fdb90",
                            "dest": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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": "493b2a0d7ad870fb92919d4f3058298fdb6fdb90",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/.ansible/tmp/ansible-tmp-1789035761.9682689-285-157915694317448/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "677149a1ebd309933e7eefcb445c5ae3",
                            "mode": "0644",
                            "owner": "root",
                            "size": 2520,
                            "src": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/.ansible/tmp/ansible-tmp-1789035761.9682689-285-157915694317448/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000022",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:42.775420Z",
                            "start": "2026-09-10T10:22:41.936547Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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-636e-8d8e-00000000002d",
                        "name": "prepare-workspace-log",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/prepare-workspace-log"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:43.154850Z",
                            "start": "2026-09-10T10:22:42.782770Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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/79fdfdbd850c49cf8c8bd60798e24c11/work/src '[zuul@2a13:1a81:8000:3124:f816:3eff:fe0d:242c]:.'",
                            "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:fe0d:242c]:.",
                                    "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/79fdfdbd850c49cf8c8bd60798e24c11/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/python-osism/\n<f+++++++++ src/github.com/osism/python-osism/.flake8\n<f+++++++++ src/github.com/osism/python-osism/.gitignore\n<f+++++++++ src/github.com/osism/python-osism/.hadolint.yaml\n<f+++++++++ src/github.com/osism/python-osism/.zuul.yaml\n<f+++++++++ src/github.com/osism/python-osism/CHANGELOG.md\n<f+++++++++ src/github.com/osism/python-osism/Containerfile\ncL+++++++++ src/github.com/osism/python-osism/Dockerfile -> Containerfile\n<f+++++++++ src/github.com/osism/python-osism/Giltfile.yaml\n<f+++++++++ src/github.com/osism/python-osism/LICENSE\n<f+++++++++ src/github.com/osism/python-osism/Makefile\n<f+++++++++ src/github.com/osism/python-osism/Pipfile\n<f+++++++++ src/github.com/osism/python-osism/Pipfile.lock\n<f+++++++++ src/github.com/osism/python-osism/README.md\n<f+++++++++ src/github.com/osism/python-osism/requirements.ansible.txt\n<f+++++++++ src/github.com/osism/python-osism/requirements.netbox-manager.txt\n<f+++++++++ src/github.com/osism/python-osism/requirements.openstack-flavor-manager.txt\n<f+++++++++ src/github.com/osism/python-osism/requirements.openstack-image-manager.txt\n<f+++++++++ src/github.com/osism/python-osism/requirements.openstackclient.txt\n<f+++++++++ src/github.com/osism/python-osism/requirements.sonic.txt\n<f+++++++++ src/github.com/osism/python-osism/requirements.txt\n<f+++++++++ src/github.com/osism/python-osism/requirements.yml\n<f+++++++++ src/github.com/osism/python-osism/setup.cfg\n<f+++++++++ src/github.com/osism/python-osism/setup.py\ncd+++++++++ src/github.com/osism/python-osism/.git/\n<f+++++++++ src/github.com/osism/python-osism/.git/COMMIT_EDITMSG\n<f+++++++++ src/github.com/osism/python-osism/.git/FETCH_HEAD\n<f+++++++++ src/github.com/osism/python-osism/.git/HEAD\n<f+++++++++ src/github.com/osism/python-osism/.git/ORIG_HEAD\n<f+++++++++ src/github.com/osism/python-osism/.git/config\n<f+++++++++ src/github.com/osism/python-osism/.git/config.worktree\n<f+++++++++ src/github.com/osism/python-osism/.git/description\n<f+++++++++ src/github.com/osism/python-osism/.git/index\n<f+++++++++ src/github.com/osism/python-osism/.git/packed-refs\ncd+++++++++ src/github.com/osism/python-osism/.git/branches/\ncd+++++++++ src/github.com/osism/python-osism/.git/hooks/\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/applypatch-msg.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/commit-msg.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/fsmonitor-watchman.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/post-update.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-applypatch.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-commit.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-merge-commit.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-push.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-rebase.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-receive.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/prepare-commit-msg.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/push-to-checkout.sample\n<f+++++++++ src/github.com/osism/python-osism/.git/hooks/update.sample\ncd+++++++++ src/github.com/osism/python-osism/.git/info/\n<f+++++++++ src/github.com/osism/python-osism/.git/info/exclude\ncd+++++++++ src/github.com/osism/python-osism/.git/logs/\n<f+++++++++ src/github.com/osism/python-osism/.git/logs/HEAD\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/00/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/00/8af777abb8a8e5206ccdadcd461baf1958e076\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/00/8c8af594fe57c663d0039911811424080bf380\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/00/a15b0ad9c52053e8bc585892b159ac44fe17d5\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/00/fc80ea92b59817dad6aea0c980d09d50432760\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/01/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/01/16fabc3d32e3e86b73ebf08ae010c5f1c29876\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/02/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/02/596bec4e506ac04fc6ea394019e467330ae20e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/03/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/03/f7acab83aa1bd1d40ea8c307b93a52c2f2f54e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/04/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/04/ac2415ea5e0d596447356cac2c27d20bdb01f1\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/05/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/05/09e9c9a06559431d61d75b6e88f1691a88fd3c\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/05/31426420d4c28ef93d027434404275d35fb00a\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/06/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/06/6b28a137e6bf0ff75e48645d5e5518bf4b277b\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/06/d1a0abe2673958bf24ff6b94b34d52961c3460\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/07/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/07/3e5dc673796fec45f19f2dd05795c19e877b3c\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/09/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/09/1918da7b3985053fddf26c2bdea2c3cdf8fa1b\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/09/de52bc141c9d7142ea90a91e2dae1974b1deab\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/0e/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/0e/009735689bb46581882d942a3e2c547b555bfe\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/0e/8819fd861d5e5852f859bf35eb8278e6d018bc\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/10/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/10/04e5f24ba44aa30c0f9ed8fe0d491c693d0474\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/12/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/12/45079b9c74814314ef03c3e9c5ef0f5ec7b545\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/12/d946d62e604888a392245cc9c51bdaa3e92cb7\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/13/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/13/03fd7a97f6a4d5c5625bfa2260705580de299d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/13/d56a3066c55f25d1f21c45caf06b5118fa1f8f\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/14/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/14/15a920085dbf41cdc1e68203039fc88eed3e24\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/14/5766dca4617bf13acadea94b8e4ce4a68de9c5\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/15/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/15/997d32e31587b7bfdb48edd313d5e802482a1b\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/15/bbc427422f2e281e93f3be41bd9c17fa27d355\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/16/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/16/6e9b2ef8ea0daace28ca066aa592978e55f6e1\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/16/7ecfd1441fc2d028d2a2fcf7293fbcf843a8e4\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/17/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/17/8e9e3e183edd7a0c29fb30083c6922c960bd56\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/17/b8c5c58f1f52849d96df932899fe9746f98b0e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/18/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/18/066cfb8e301841e8cfa9b7ccb4a4cd863cdd66\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/18/d3a9f35dc19d7051636ff5af15b642e379dccf\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/19/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/19/8d2ea87887294528d9b7d17b59068f66a8e876\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/1a/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/1a/69928e98c0150d6e5106a13e631abd4e3815eb\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/1d/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/1d/b691acfc3da8ef022bdf1d3a49da6b32be7afb\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/1e/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/1e/2a5e6f100f752cc4dfeec2fdde9ab54a13ab97\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/1e/d5dfa7dd3b7ff6f22216b17ac5c392f92d57a3\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/1f/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/1f/1c7e7a783e0ab87a6410597c50e6b86ea0cc32\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/20/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/20/1de1ee8788b4861b8198cbcf208306112a7f48\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/21/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/21/3f09ff2c7147aa5e603dd18c594502ddae50a9\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/23/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/23/63268c1241999362a7fcab3f1ac3aedbaa6028\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/23/cd7b3e0df4c629d92fcf2bf986402c0842adab\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/24/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/24/1ab9f73985d86fc879e4b3bc9d6d3765f7dccb\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/25/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/25/154cd4c3c7eaf10657814b446399b46e23fd8b\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/25/48dff7573fb0ab93c84bfc7cf814aa9d7c14a6\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/27/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/27/14fd826c20e8dbdc3975ff65c103bd43c56e6b\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/2a/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2a/131862bc7b9c17ad441006c5fe16346ff84713\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2a/1640e41317454fe7b73300e94fb646f8f8268f\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2a/cf58301c58d583cb9bc54abb16ef3a41080336\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/2b/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2b/5011edef9694d41546ec3b29b0e4180d6ec13f\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2b/cccf5eaab765678d1509a85aa2a3a4653e3cb6\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2b/da209913ce718b118e3ef1255a68b10e162f4d\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/2e/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2e/3cd6fa14dafb6b4db563f34c411e80d223ec50\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/2f/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2f/1b89ff0e46aa88f2a8d0766ec88e651fbab91f\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2f/4f1f3d066f276745018c3c0fadbaf09f3fb234\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2f/5be74a72975b12af8d2e4cb9571df4b2b8cbc3\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/2f/faec9b8b9d4a1748254a28fb65f9a026e43c0d\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/30/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/30/4d1bca560e4b4f2de2b4b57b9c959bce613c83\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/31/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/31/68ae00648408a07a6112ebb6a9699a1d261755\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/32/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/32/2674a42991a790d09627a3275054429daefdcf\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/32/ab4cf6833facddff8d8f102e1613f4126d9876\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/34/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/34/6b6b9654eea56ff579a24aa04af5594efd96b3\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/36/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/36/e33248df792488982feed1bf958b36c08bcdf7\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/37/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/37/67e9438369c75ee9ee9f69c38607c1c05333e2\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/38/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/38/573a061fc0af0ce95437092778d7fdd8f49e3e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/39/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/39/1fab167bdf724e36d862250515e5b71b51e1ff\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/3a/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3a/6b927137614f2c3fe7df027f751827303b8d49\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/3c/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3c/512a41b93ddb7956e1840c917d96982d9410f7\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/3d/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3d/04c9a8ea4f92006425ca116e72d13ced3acce4\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3d/366cec9f0b8658477ad7ba76a2b514b0ee65bd\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3d/9712aa4e0dc0a5af0914b9f9e0fe3fc89bfa32\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3d/a149b6e56d3e6670eb3adfda3d786502323240\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/3e/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3e/b6859b3f9bc844fbef067778bce53a3f4a1f57\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/3f/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3f/779ee549354709e7e9aa9395b558d2f51e3ecf\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3f/7c4c69b539f1406884c96f48d9471155301623\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/3f/f53e8c704b195085d7e3d7c83352e6be9966d6\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/40/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/40/27c47e48635960c5c3072d1920c3d8aebf64d9\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/40/e4e5fa9033ac91cac7020b77fcab5b9c9885be\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/40/ec8051cc6246de1994a0bd9154273bbfd92d35\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/41/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/41/603d7031bb339c5fa8815cd020e09c345a6ad3\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/41/9d31147514e4dcfe43ddc469df0813a345fed5\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/42/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/42/a52122930be94d68e136bb91fe3fbf33bda42d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/42/dab863354ea6c759a91ea8ead6b805c946ad6b\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/44/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/44/8d02d8dff45a3b2be0104f6d8479e85128f18a\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/45/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/45/c6f5e2deeb16d404a039c59200a1157695ed36\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/45/d039c78d8fb65965d7d31ebca8264a5c740e7d\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/47/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/47/dbef51a5e2d24068bda4ed397dbf3790ae98a8\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/48/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/48/c3b3e353ec399ea1fb0f3f4bbd06b73f1eda88\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/48/c6338cfc67cc9edeb42fd93c8d587a2a90c74a\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/4a/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4a/2685c1d9a0d1e2ffeafd7158dad95b706ac732\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4a/a264aa6dbf1a925bfd181842ac8e4de625f545\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/4b/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4b/2c52ab044bb16a6d6eee1ccb8f5e58ebdf549d\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/4c/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4c/0865464806a75b4f5517781acfbed28c2d2f7d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4c/2d35189d4e6f13d9d8fec340ca74ec54eeaba9\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/4d/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4d/81d5722b7837b66ff8fc007ef178c844bb8e19\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4d/82ba00eab25dc31105f6bd4ac1b0a390dbb5e5\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/4f/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4f/2c64df7b833a87a3bbb6f8b6035a68cc9da376\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4f/b49401abe3d340dd88bab56c97945fcaeaf38a\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4f/efe34e3fb4f56a6ab879dbd8db66d6c74e4a36\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/51/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/51/06dbdd6003f877c44f5012242717f29db99876\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/51/e23c0d99ac188ac1631bdf69c4d73983b5166e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/52/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/52/1ba35251c159fbb94472d9fda6916dfe5018b7\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/54/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/54/a92624cc3f7e416578ffbe4af52d8e1be7495c\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/55/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/55/4ecb709c1c643c54e15c2ab1f9ae88a1da10a9\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/56/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/56/3be31e1de00cbdf44f6f933d2acf56554a1956\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/56/3ebb7ed2985ba2713563caaf7228220b33db0d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/56/55f5d8ad6443dad1a25196e0d76d082f239e4a\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/56/59a5bad43d4a2a1a7bc24e4f1e7fe9d12db3fb\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/59/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/59/5a333ce04a14876e7b5fda55e57f6b50dc2e8d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/59/5f2ab501b2b2eddc954714a6c8fb26b5b7c875\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/5b/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/5b/f739d96ec3cee7e6db200f11a7801df401fbc2\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/5d/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/5d/106a1a046b007a17695f897cba223dc55dee77\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/5e/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/5e/fef5d95aba8e515982a36d3847b2d386c8b72a\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/60/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/60/519d0b42401ab50f10aa186b8aaefae6194821\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/62/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/62/404617e0698ad2eb9a5d49ea2a327096ec2036\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/64/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/64/e3da05961ee775c14f13c595b0d0b2dc32d94f\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/65/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/65/0cb95d49da04f507a37a46a61cba01b8b13877\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/65/6c238894e986e478f78a6dcdb38d0829f08761\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/66/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/66/34aeb97d9263c96c22182c41df00a68164b824\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/66/faffd2979720b6bb3525dd79fbb03186395181\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/69/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/69/39f26a376890dc06a749086f236725af907415\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/69/6491abc17f7446b6fb15649e1d6a73f96b8c1a\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/69/a3a42f51db1fc9ae53551abad18a20b6e4d2d9\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/6a/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/6a/f795e592447421c342152ec6aeb78e63f41479\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/6b/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/6b/6038ed7eac89502f233ec3cb8e82eaebe063a1\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/6c/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/6c/a75047845bab4e6d436dc5242b718cae618822\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/71/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/71/ac196236424c78574146e7ea86622189af0008\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/72/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/72/85c8c32f5c94bd58968255978021025a06b9a7\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/74/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/74/d31985374adf97720dafa239faeddcd4daa535\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/75/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/75/aef04cc9b51acb0113b633127247b3320135c1\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/79/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/79/a62a0ae16d95d7600ba918d8ad72da81a778d0\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/7a/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/7a/f4c52ca06ab60ef75e312d44613324a9a09c18\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/7a/f5c559bf2fbb2a4b22242d1ace83acfd0db6fe\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/7b/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/7b/5d3dcbf11daa45d7e803a2191a0318cc09b989\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/7c/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/7c/b08a76b314452d1cca158858057be0555634a5\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/7d/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/7d/23d35eda9360347a7eb6ae69dcd6bec4182fef\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/7e/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/7e/7a2af055ccd722142ebcd2755626e67e2946e7\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/7f/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/7f/7c3dd25366f9f2af660921bd342797714de8c2\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/7f/f8b3adf36f6840d1eb1c0b4375f936855a34f7\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/80/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/80/7513e464122e8891dad965a68d2117b142823b\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/81/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/81/b821ee071c9d04e51c9fb106abf3d5a2a8c8cb\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/82/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/82/4214c7b1c38e4ef8c1fe89fe1e8b3f5ccb4c93\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/83/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/83/74b08c92cccb69a46116c1648536aaae9b48f8\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/84/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/84/315a285c2a03f5668684969484a4be5b29e100\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/85/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/85/2e62aa7bd050b275c550c8a42b7c2f8f562296\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/85/b8f3465f6b851ee6616a510879f879f534fe44\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/88/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/88/919c058ca0378b0a6c2b1e94a74d24237c5251\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/88/edbc10ebcf89bbf88a4be71c6ad866986c85a8\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/90/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/90/c8534f8688bc107aa27d17d0fc65bb90c5546c\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/94/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/94/5f732ea4037b803a4e3801aa8498e75736bd0d\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/96/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/96/ab4f1f109b9089affd3ee92a965c402028f9c3\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/97/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/97/08aafc4036f05a7ebc2cd2f6c01fe15ab0d7ba\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/97/3dd555144b9010fb109a0a5e30f5d69848ecd0\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/97/42da15a07c9e3940ce8ef2d829351d36973476\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/98/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/98/5e2c0fcb9024e508cbfb152c86125eeb994dcf\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/98/d2abda15dd20a398a99fc2d063c27c11134cd5\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/9a/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9a/3efbdda4935fa67dde15ec464baf9284e581b0\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9a/68fccb2f46d3188265ac133d11c1f9f12cf46b\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9a/b2c544166390f93ba31037d0d016fb832a1188\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9a/c77ee4c91d37f00673f760317c3e396bcb830a\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/9b/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9b/17b57919b94724f34da7e99f6ccf69ee112157\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9b/2dea34238ca5afbf0099b80b49ae36e07434ef\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9b/e7d831b3835f42c2fd007131707601a47af0df\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/9c/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9c/d1a4db588323be372e36e7add2681846ec601d\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/9d/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9d/75c225120941f831481fd2738517e078884a7c\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/9f/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9f/002a0a6dd37f9ac7a72de46a033393e98a99ef\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9f/cc7448e1b3dd6f31091e35264913673f31c6fd\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/9f/dbd9a5d2da56584ba3d35e9bb43cc51268ac57\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/a0/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a0/1f9d07e6077d251631c7e68b89863d4eef201f\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/a1/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a1/0ae8982589792943e9a09c19b26b353da69b6d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a1/5fa2693fce0bbb0fc7f3c9bbe3ebe550f15244\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/a4/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a4/d172319d2fef940eec782982cf42912c131f1c\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/a5/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a5/93edbc02783b5291a23dd358233100b2557b97\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/a6/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a6/f87245dc02a4f043de9ff53e0bda99eab1aa32\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/a7/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a7/971e75ded7278092fba652af6e9174161caeff\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/a8/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a8/353bbfb184195ff78eccdd3d1efa224a7f74f2\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/a9/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a9/47814813dcf0a56df8b014d15c2d789d70fd7f\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ab/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ab/640a42df8c323c6b1cc4deef6448c311727715\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ac/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ac/4e3691d00ad43685e6875d7aad8ca2856787e4\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ac/c02e33739f4416d0709eea4755ef5b22bdfd2a\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ac/eb2a3c409936ac3ed800530506dbf49e8ae982\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ae/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ae/cde933824a6625a6650902ef2b606fb6f7ce7f\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/af/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/af/4e71c7365129ec034f7bc42cfd2930fc50d3df\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/af/5caebeb90dd267160755eaeebc2a3483479cf8\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/af/b35b0be0e49aa38b6b73eb1a625ad672b17af0\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/b1/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b1/ed1a51ecac51ec596c3d246cf947d573dbaece\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/b3/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b3/e69fb23d4906f755ee00662e1c68bfd395e155\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/b5/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b5/745d0d48ccd2efe12c838e1d86ccdef7c38a7d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b5/8c67c1ef5ca83fa5ed24f83eca3ca5e3a6e875\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/b6/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b6/04290095139176db84e5f9ad6be35ff6825941\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/b7/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b7/5f84bda83bb7f40156b59dd6600232c3910de0\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b7/8ac18c478adf81848f97dc7c129b863086c263\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/b8/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b8/ffa9b601b5caaa75bbd3c6f865859c36201aae\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/b9/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b9/e188931fbb0abaa5fad9ce9cb01d592feec799\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b9/e5c4993138314443944eb0183514a6b8d8a5d8\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ba/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ba/84fb37eff9d0348f6631071284d705210648bb\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ba/af60cdbdc4a7ffcd89d72614ed2687dbbe74b2\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/bb/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bb/74890743db3bd482328a46567030baa4eb1c6e\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bb/c1803ad21072885c7f95c0b6646dd8508bc48f\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bb/c1963566a53b802f6e2c59083748410335ba63\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/bc/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bc/6e3104ead0b2f4e57dc9babed05f21813d813d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bc/ec653bcfb1d3f19d356837137d7e7a1444a848\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/bd/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bd/532ceddb21b5895ce3dcf9e4c20f880729ae83\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bd/b7bf667f95c8d83d4b20c4be777c6423bc5afb\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/bf/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bf/12879752ec0591e1d708de49c6e05bd0e32139\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bf/1636eafe581f69772cd49ba501f8b08bcf7a34\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bf/abb10552d470b52530aa31d03f6b848cf6887e\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/bf/fbd5ac0bba72e455d6c49dee41e380fd32dadc\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/c0/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c0/3ce0d95f1776087775cfa4e9edd27560566ed4\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c0/92dd3a76f8cca08f90af7613935ea84af5c729\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c0/c464a196f86115e33fdc89a9715ea146664eb8\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/c1/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c1/aa6b43dff334ec293ad8d7d2f43f38033b3e3f\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/c2/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c2/4c9c18256d41ca17b5c219da3fb3daa4c3f212\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c2/5e682387c51e9186ee95d319faca10e7459001\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/c3/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c3/fdff1ecbd807a91774b76aede43abf7d009e88\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/c4/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c4/f5df4574e924f4dd031997c810814a3c5ecd62\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/c5/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c5/18082fec51a7d336fb7116cac052f7c8e4b081\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c5/ecf658418382d42798519480ba54d1f1216657\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/c6/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c6/0c4c43636e35474f2b131cebc1d42ef6dbd2f8\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/c7/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c7/382ec79c9faf511b6953adff75aeb6c2e06d46\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c7/b2f5f29837d033037a0eb4b7da2e5577ea66f7\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/c8/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/c8/961b98cafc0e6bd0addacb8f25104d4ddcdef4\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/cc/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/cc/9eb947aae34344a721c8d3ba34dfdbbd22d6ce\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/cd/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/cd/21ff315f0d6387ec5c584954c9130f6a8d4a94\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/cd/abd581de875eea9dc18bd42d51f5a124ad0926\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ce/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ce/c4db161868b14639ac01b83eb6df54f0db8f1e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/cf/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/cf/54601bc88a589b1ce5f7877f6090a42f4ac962\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/d0/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d0/ea14bb245137f9f0ad4985385ea5b6d61930ea\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/d1/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d1/289cd9690533e9dcd6cf2799b42cbb0e091967\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d1/8b7417cc0413b8530654ca64915770a9aab2e0\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/d2/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d2/12ef9b07371414843ec852996d8d93fa407123\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d2/3cf42f692fcc9f902cd5637dafa8025bd4b55c\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d2/60c2ac8dae391d8d11b455f9e0968f0b138991\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/d4/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d4/4f75ae632c508baf352655806f9f0c0b72cf0e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/d5/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d5/93ce3f00160a3578b72632c71359df10ed1330\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d5/a1a4c0c4d3fe78efc3b0c3df8d5a860f9af517\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/d9/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/d9/3e49af0f821e80bd52a0f044a622ce44f7198e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/db/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/db/82ada2c3139ab95754c04fcb597384f3592820\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/dc/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/dc/4c00b706ec4159c4b8e4ffe863f550b6710b20\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/de/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/de/07aa5fffbe3d69068081af01f3ff3204bbae48\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/df/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/df/4dc9ca32560a0dc68c7dfcd402621aec510f2d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/df/b81b6e99acd5c94839592e7cd4504ac5ebda6f\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/e0/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e0/9313e8260461c1e8b84cb8873c3d31df8586da\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/e2/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e2/4a31c89734a0c3a508cd2e4f67fbc39f2bea35\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e2/fd83c21da9bb3f7ddcd40d1e05649e09bbce88\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/e3/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e3/37c3fa21a84aa33698dc12886f1acb43825eb1\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e3/b2c10f34e8027f1c8f03df76d237d81c728f03\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/e4/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e4/ab24884ca6642e9cd21b6ccb51df95c215e309\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/e5/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e5/58ebdaf01c25415bd765fa934b3fa0c105cbf8\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/e6/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e6/2d44be08519a47c45753f53ab0f6a09df17f41\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e6/aa015d221e88bb46f676478900daa6c50d6a74\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/e7/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e7/521105aa543861a025caa3e05e11c25763b526\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e7/a444d079b28b7fea35c5f288ab9c77a83bde53\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e7/d22724c1a50da8feb467da63dac275a6528623\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/e8/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e8/1e591e0465dcb8dcf9ef5d25ee51d1cb5f047c\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e8/be9e48d37502dd263925dbd716ad5aa1b77766\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/e9/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e9/6c19414296b72f7e91f301decba3342656a277\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/e9/a06b35cc77962c9cc6174be8749a42515114dc\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ea/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ea/4240cb1cbeeeb6e6278c3e8f388733c9e3276a\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ea/7cda9fb8ca4ff6f7c4fad89e61a2bdb10e70d1\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ea/7fa3fe1007b356b3c92b235de6595423b981fc\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/eb/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/eb/8c3b402a0bb246625bf8c0766de4c516cda6da\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/eb/cedf49c6db9af171ba0e20ab16dc225dfdbabc\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ec/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ec/02479f926b3b76c42939d7f5826e3b3c2d576e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ed/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ed/5dd29e12c36fa9e554ede940bad3122e9072d7\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ee/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ee/2c451e8ab52a8418ece1d7aa3d22b1fe1e1032\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ee/4c374f83293ccc60329cad3ccd0548166f4d9e\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ee/a721a9cd26bde709e881cff764f0c7fde0d2c5\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ef/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ef/21e359658334735e7f4df66e2e7780c5f1cf83\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ef/49ad466f8496f157e061206d6c325734580d5e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/f0/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f0/4a832100febbbbbc6a85c93a1400f13a737a74\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/f1/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f1/75953419be6ef3a49484e013c888fa761353c4\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f1/a7aa7b3a439ed8764b4a37c9537072cfa805c1\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f1/df3ca7c9222bffd27b0a0c8dcd475f7a7c7c09\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/f2/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f2/4258dd8dad87a56bd821efc13509240628e91b\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f2/ae4c7b5a8cb197d35defa3d79e3c0c0f076851\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/f4/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f4/e5ee086f5675e52d2347630e4f8710fa45a5a3\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/f5/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f5/bc1701c024cb28fc8ba9ad93b3305326cd8127\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/f7/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f7/3ea9de4100511c8918ae405b90c75b9fe6965a\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/f8/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f8/1b8b07479fe2dde7f7fcd253730b5b874d5e19\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f8/6b2d94ea4dfc9ab793f5adc59b5d69fff3f686\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/f9/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f9/233bb91da7d26058aeccc8094abae83d026998\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f9/8783f89b74485cfc9fc4aa0b9c73dc3f17f6b3\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/fa/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/fa/8d32893a7f0e32cf4df346b9f5c952f45e5514\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/fb/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/fb/0050a6e7ee1a5c49ef24f1b4f392f9b455500f\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/fd/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/fd/5b0d7bd95e4ca02e37698a32dbf3faaa7ce3a0\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/fd/8aa342d864b1019f8e476303995a3a9470da3f\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ff/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ff/26011471fc30ae1675e4b7ae283c1e18e1fbac\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ff/82e4eecbad4440d3fad3a1bbc3618c2fcf772d\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ff/f05eaa669d201d376e061befdf25ac9243afdf\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/info/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/info/commit-graph\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/info/packs\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/pack/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-021c693bcdc44350fc195fa06bd906182d6f7bbd.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-021c693bcdc44350fc195fa06bd906182d6f7bbd.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-0afe771145f42d98d588dc00f812799a0387c777.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-0afe771145f42d98d588dc00f812799a0387c777.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-20541a16d57152fcf88d528c4152fe75cb89fa7d.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-20541a16d57152fcf88d528c4152fe75cb89fa7d.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-22e81573e23f311a7c1f7b7ec2a0f0c88852c940.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-22e81573e23f311a7c1f7b7ec2a0f0c88852c940.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-2b8ffdca0d87e8e55370f25a3270e3d0ff294d3b.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-2b8ffdca0d87e8e55370f25a3270e3d0ff294d3b.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-2bfdc07b1dbecab8d62dc0eab8db9a4ac418d28c.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-2bfdc07b1dbecab8d62dc0eab8db9a4ac418d28c.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-34acd2142e357167d1d9c36c1fdc40a552bafcf1.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-34acd2142e357167d1d9c36c1fdc40a552bafcf1.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3a008b24da32690a5e3b189aae7165e569e5c34e.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3a008b24da32690a5e3b189aae7165e569e5c34e.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3ab17df9208a73df4be30c7237916797cab926ac.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3ab17df9208a73df4be30c7237916797cab926ac.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3c5a672b77a343977624db60cde0901f1b296d15.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3c5a672b77a343977624db60cde0901f1b296d15.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-404add41d1be0c0ca79ff080e18f1ec731502763.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-404add41d1be0c0ca79ff080e18f1ec731502763.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-4622224d9a270df3cbe5f55ccc4db3d8d003be36.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-4622224d9a270df3cbe5f55ccc4db3d8d003be36.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-49fb8ec2c51a447c122c607da67d6fac65b14fb1.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-49fb8ec2c51a447c122c607da67d6fac65b14fb1.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-4baef55a8161f02dc3e667dcfe146ac0d3c90a91.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-4baef55a8161f02dc3e667dcfe146ac0d3c90a91.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-54a9d0b1a66d179a78edb3f78c839e1229e5c02f.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-54a9d0b1a66d179a78edb3f78c839e1229e5c02f.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-585a8777529bb2d1f91e59a226bfe4878680295f.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-585a8777529bb2d1f91e59a226bfe4878680295f.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-5f29e6de4e124bf9c19ab048254c9acf1a936f66.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-5f29e6de4e124bf9c19ab048254c9acf1a936f66.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-74ddf7636112e99e7961406a3fdee05899a3d7ad.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-74ddf7636112e99e7961406a3fdee05899a3d7ad.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-77a0d99340386f60f747b90252c640fc7114352f.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-77a0d99340386f60f747b90252c640fc7114352f.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-7a6f48b858cb20527a6fa64a7f586f269b6ef9c1.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-7a6f48b858cb20527a6fa64a7f586f269b6ef9c1.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-81f07b43ef92264eee984dc62b322194330c3d34.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-81f07b43ef92264eee984dc62b322194330c3d34.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-8b5b0332d9ed8c08598d14d1d2143da9bc454797.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-8b5b0332d9ed8c08598d14d1d2143da9bc454797.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-abe765ddd0e5dcee4d2743f1aa939c9fba4580f2.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-abe765ddd0e5dcee4d2743f1aa939c9fba4580f2.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-acd63f8e22446ff7cd695b466480876a25cb47c7.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-acd63f8e22446ff7cd695b466480876a25cb47c7.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-afa5bc0e4b64b8ca15ca82f8f4cb29ef02b2dfa2.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-afa5bc0e4b64b8ca15ca82f8f4cb29ef02b2dfa2.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-afea79e6c67f4bd2d9addd8a73145afefdc9a725.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-afea79e6c67f4bd2d9addd8a73145afefdc9a725.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b193eb7cbfb9173cc4356bb342ef8597aea42941.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b193eb7cbfb9173cc4356bb342ef8597aea42941.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b5670541942617d0b41e4af104f934e4d506ff09.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b5670541942617d0b41e4af104f934e4d506ff09.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b81688f8847e8f1e630109fdce25562c311ca566.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b81688f8847e8f1e630109fdce25562c311ca566.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-c29fe61b915d557ee8c8b2cfc5f2f2b463a82f9a.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-c29fe61b915d557ee8c8b2cfc5f2f2b463a82f9a.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-c537927b340499b00a26ca262e267218ad978cd1.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-c537927b340499b00a26ca262e267218ad978cd1.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-ceb8e2e5558f32432c66c77a926a837372974339.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-ceb8e2e5558f32432c66c77a926a837372974339.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-ceddd672d1dc6f8207fc256a1d2e4d0dedfc2279.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-ceddd672d1dc6f8207fc256a1d2e4d0dedfc2279.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-d277001efeef8ab5ac7979e0624a098806a3b9e9.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-d277001efeef8ab5ac7979e0624a098806a3b9e9.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-d330bb0520f2ebecf9ae606de7b547f84aeeb493.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-d330bb0520f2ebecf9ae606de7b547f84aeeb493.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-e6fe03eeb0a959a0f2138bc396787150e8fac1b1.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-e6fe03eeb0a959a0f2138bc396787150e8fac1b1.pack\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-f5526db7317240da85b69301912465d21bb15c3f.idx\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-f5526db7317240da85b69301912465d21bb15c3f.pack\ncd+++++++++ src/github.com/osism/python-osism/.git/refs/\ncd+++++++++ src/github.com/osism/python-osism/.git/refs/heads/\n<f+++++++++ src/github.com/osism/python-osism/.git/refs/heads/main\ncd+++++++++ src/github.com/osism/python-osism/.git/refs/remotes/\ncd+++++++++ src/github.com/osism/python-osism/.git/refs/remotes/origin/\n<f+++++++++ src/github.com/osism/python-osism/.git/refs/remotes/origin/main\ncd+++++++++ src/github.com/osism/python-osism/.git/refs/zuul/\n<f+++++++++ src/github.com/osism/python-osism/.git/refs/zuul/b28b7af69320201d1cf206ebf28373980add1451\n<f+++++++++ src/github.com/osism/python-osism/.git/refs/zuul/fetch\ncd+++++++++ src/github.com/osism/python-osism/.github/\n<f+++++++++ src/github.com/osism/python-osism/.github/renovate.json\ncd+++++++++ src/github.com/osism/python-osism/.github/workflows/\n<f+++++++++ src/github.com/osism/python-osism/.github/workflows/add-to-project.yml\n<f+++++++++ src/github.com/osism/python-osism/.github/workflows/publish.yml\ncd+++++++++ src/github.com/osism/python-osism/docs/\n<f+++++++++ src/github.com/osism/python-osism/docs/sonic-config-validation.md\ncd+++++++++ src/github.com/osism/python-osism/files/\n<f+++++++++ src/github.com/osism/python-osism/files/change.sh\n<f+++++++++ src/github.com/osism/python-osism/files/cleanup-ansible-collections.sh\n<f+++++++++ src/github.com/osism/python-osism/files/redfishMockupCreate.py\n<f+++++++++ src/github.com/osism/python-osism/files/run-ansible-console.sh\ncd+++++++++ src/github.com/osism/python-osism/files/clustershell/\n<f+++++++++ src/github.com/osism/python-osism/files/clustershell/clush.conf\n<f+++++++++ src/github.com/osism/python-osism/files/clustershell/groups.conf\ncd+++++++++ src/github.com/osism/python-osism/files/data/\n<f+++++++++ src/github.com/osism/python-osism/files/data/SCS-Spec.MandatoryFlavors.verbose.yaml\n<f+++++++++ src/github.com/osism/python-osism/files/data/cloudpod.yml\n<f+++++++++ src/github.com/osism/python-osism/files/data/flavors.yaml\ncd+++++++++ src/github.com/osism/python-osism/files/netbox-manager/\n<f+++++++++ src/github.com/osism/python-osism/files/netbox-manager/settings.toml\ncd+++++++++ src/github.com/osism/python-osism/files/sonic/\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/config_db.json\ncd+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS4625-54T.ini\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS4630-54TE.ini\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS5835-54T.ini\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS5835-54X.ini\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS7326-56X.ini\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS7726-32X.ini\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS9716-32D.ini\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS9726-32D.ini\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/DellEMC-S5212f-P-25G.ini\ncd+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-asic-sensors.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-auto_techsupport.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-banner.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-aggregate-address.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-allowed-prefix.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-bbr.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-common.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-device-global.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-global.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-internal-neighbor.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-monitor.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-neighbor.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-peergroup.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-peerrange.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-prefix-list.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-sentinel.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-voq-chassis-neighbor.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bmp.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-breakout_cfg.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-pg.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-pool.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-port-egress-profile-list.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-port-ingress-profile-list.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-profile.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-queue.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-cable-length.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-chassis-module.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-console.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-copp.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-crm.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dash.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-debug-counter.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-default-lossless-buffer-parameter.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-device_metadata.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-device_neighbor.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-device_neighbor_metadata.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dhcp-server-ipv4.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dhcp-server.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dhcpv4-relay.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dhcpv6-relay.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dns.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dot1p-tc-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dscp-fc-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dscp-tc-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-bgp.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-common.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-dhcp-relay.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-host.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-swss.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-syncd.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-exp-fc-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-extension.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-fabric-monitor.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-fabric-port.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-feature.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-fine-grained-ecmp.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-fips.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-flex_counter.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-gnmi.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-grpcclient.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-hash.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-heartbeat.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-high-frequency-telemetry.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-interface.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-kdump.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-kubernetes_master.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-lldp.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-logger.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-loopback-interface.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-lossless-traffic-pattern.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-macsec.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mclag.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-memory-statistics.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mgmt_interface.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mgmt_port.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mgmt_vrf.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mirror-session.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mpls-tc-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mux-cable.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mux-linkmgr.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-nat.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-neigh.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-ntp.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-nvgre-tunnel.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-passwh.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-pbh.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-peer-switch.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-pfc-priority-priority-group-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-pfc-priority-queue-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-pfcwd.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-policer.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-port-qos-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-port.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-portchannel.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-queue.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-restapi.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-route-common.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-route-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-routing-policy-sets.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-scheduler.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-serial-console.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-sflow.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-smart-switch.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-snmp.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-spanning-tree.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-srv6.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-ssh-server.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-static-route.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-storm-control.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-stormond-config.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-subnet-decap.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-suppress-asic-sdk-health-event.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-syslog.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-aaa.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-defaults.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-ldap.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-port.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-radius.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-tacacs.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-tc-dscp-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-tc-priority-group-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-tc-queue-map.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-telemetry.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-telemetry_client.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-trimming.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-tunnel.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-types.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-versions.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vlan-sub-interface.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vlan.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vnet.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-voq-inband-interface.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vrf.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vxlan.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-warm-restart.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-wred-profile.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-xcvrd-log.yang\n<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-ztp.yang\ncd+++++++++ src/github.com/osism/python-osism/frontend/\n<f+++++++++ src/github.com/osism/python-osism/frontend/.dockerignore\n<f+++++++++ src/github.com/osism/python-osism/frontend/.gitignore\n<f+++++++++ src/github.com/osism/python-osism/frontend/Containerfile\ncL+++++++++ src/github.com/osism/python-osism/frontend/Dockerfile -> Containerfile\n<f+++++++++ src/github.com/osism/python-osism/frontend/components.json\n<f+++++++++ src/github.com/osism/python-osism/frontend/eslint.config.mjs\n<f+++++++++ src/github.com/osism/python-osism/frontend/next.config.ts\n<f+++++++++ src/github.com/osism/python-osism/frontend/package-lock.json\n<f+++++++++ src/github.com/osism/python-osism/frontend/package.json\n<f+++++++++ src/github.com/osism/python-osism/frontend/postcss.config.mjs\n<f+++++++++ src/github.com/osism/python-osism/frontend/tailwind.config.ts\n<f+++++++++ src/github.com/osism/python-osism/frontend/tsconfig.json\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/favicon.ico\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/globals.css\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/layout.tsx\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/page.tsx\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/api/\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/api/config/\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/api/config/route.ts\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/api/health/\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/api/health/route.ts\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/components/\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/components/ConnectionStatus.tsx\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/components/CopyButton.tsx\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/components/EventsFilters.tsx\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/components/EventsList.tsx\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/events/\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/events/page.tsx\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/inventory/\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/inventory/page.tsx\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/nodes/\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/nodes/page.tsx\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/nodes/[identifier]/\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/nodes/[identifier]/page.tsx\ncd+++++++++ src/github.com/osism/python-osism/frontend/app/services/\n<f+++++++++ src/github.com/osism/python-osism/frontend/app/services/page.tsx\ncd+++++++++ src/github.com/osism/python-osism/frontend/lib/\n<f+++++++++ src/github.com/osism/python-osism/frontend/lib/api.ts\n<f+++++++++ src/github.com/osism/python-osism/frontend/lib/types.ts\n<f+++++++++ src/github.com/osism/python-osism/frontend/lib/utils.ts\ncd+++++++++ src/github.com/osism/python-osism/frontend/lib/hooks/\n<f+++++++++ src/github.com/osism/python-osism/frontend/lib/hooks/useWebSocket.ts\ncd+++++++++ src/github.com/osism/python-osism/frontend/public/\n<f+++++++++ src/github.com/osism/python-osism/frontend/public/file.svg\n<f+++++++++ src/github.com/osism/python-osism/frontend/public/globe.svg\n<f+++++++++ src/github.com/osism/python-osism/frontend/public/next.svg\n<f+++++++++ src/github.com/osism/python-osism/frontend/public/vercel.svg\n<f+++++++++ src/github.com/osism/python-osism/frontend/public/window.svg\ncd+++++++++ src/github.com/osism/python-osism/osism/\n<f+++++++++ src/github.com/osism/python-osism/osism/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/__main__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/api.py\n<f+++++++++ src/github.com/osism/python-osism/osism/main.py\n<f+++++++++ src/github.com/osism/python-osism/osism/settings.py\ncd+++++++++ src/github.com/osism/python-osism/osism/commands/\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/amphora.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/apply.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/baremetal.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/check.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/compose.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/compute.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/configuration.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/console.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/container.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/get.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/loadbalancer.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/lock.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/log.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/manage.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/migrate.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/netbox.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/noset.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/octavia.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/openstack.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/reconciler.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/redfish.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/report.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/reset.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/server.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/service.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/set.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/sonic.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/status.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/stress.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/sync.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/task.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/validate.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/vault.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/volume.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/wait.py\n<f+++++++++ src/github.com/osism/python-osism/osism/commands/worker.py\ncd+++++++++ src/github.com/osism/python-osism/osism/data/\n<f+++++++++ src/github.com/osism/python-osism/osism/data/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/data/enums.py\n<f+++++++++ src/github.com/osism/python-osism/osism/data/playbooks.py\n<f+++++++++ src/github.com/osism/python-osism/osism/data/releases.py\ncd+++++++++ src/github.com/osism/python-osism/osism/services/\n<f+++++++++ src/github.com/osism/python-osism/osism/services/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/services/event_bridge.py\n<f+++++++++ src/github.com/osism/python-osism/osism/services/listener.py\n<f+++++++++ src/github.com/osism/python-osism/osism/services/websocket_manager.py\ncd+++++++++ src/github.com/osism/python-osism/osism/tasks/\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/ansible.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/ceph.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/kolla.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/kubernetes.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/netbox.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/openstack.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/reconciler.py\ncd+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/config.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/ironic.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/netbox.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/redfish.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/utils.py\ncd+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/bgp.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/cache.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/config_generator.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/connections.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/constants.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/device.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/exporter.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/interface.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/sync.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/validator.py\ncd+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/_generated/\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/_generated/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/_generated/_leafrefs.py\n<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/_generated/_schemas.py\ncd+++++++++ src/github.com/osism/python-osism/osism/utils/\n<f+++++++++ src/github.com/osism/python-osism/osism/utils/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/osism/utils/http.py\n<f+++++++++ src/github.com/osism/python-osism/osism/utils/inventory.py\n<f+++++++++ src/github.com/osism/python-osism/osism/utils/mariadb.py\n<f+++++++++ src/github.com/osism/python-osism/osism/utils/rabbitmq.py\n<f+++++++++ src/github.com/osism/python-osism/osism/utils/ssh.py\ncd+++++++++ src/github.com/osism/python-osism/playbooks/\n<f+++++++++ src/github.com/osism/python-osism/playbooks/build.yml\n<f+++++++++ src/github.com/osism/python-osism/playbooks/pre.yml\n<f+++++++++ src/github.com/osism/python-osism/playbooks/test-integration.yml\n<f+++++++++ src/github.com/osism/python-osism/playbooks/test-setup.yml\n<f+++++++++ src/github.com/osism/python-osism/playbooks/test-unit.yml\ncd+++++++++ src/github.com/osism/python-osism/tests/\n<f+++++++++ src/github.com/osism/python-osism/tests/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/conftest.py\ncd+++++++++ src/github.com/osism/python-osism/tests/e2e/\n<f+++++++++ src/github.com/osism/python-osism/tests/e2e/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/e2e/compare.py\n<f+++++++++ src/github.com/osism/python-osism/tests/e2e/compose.yaml\n<f+++++++++ src/github.com/osism/python-osism/tests/e2e/deploy_netbox.sh\n<f+++++++++ src/github.com/osism/python-osism/tests/e2e/generate.py\n<f+++++++++ src/github.com/osism/python-osism/tests/e2e/sonic_golden_test.sh\ncd+++++++++ src/github.com/osism/python-osism/tests/integration/\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/conftest.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_api_facts.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_api_websocket.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_celery.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_celery_lifecycle.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_event_bridge.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_facts.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_host_context_resolution.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_locking.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_rabbitmq_addresses.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_redis_streams.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_semaphore.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_vault.py\n<f+++++++++ src/github.com/osism/python-osism/tests/integration/worker_tasks.py\ncd+++++++++ src/github.com/osism/python-osism/tests/unit/\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_api_endpoints.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_api_helpers.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_main.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_settings.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_smoke.py\ncd+++++++++ src/github.com/osism/python-osism/tests/unit/commands/\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/_helpers.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_amphora.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_apply.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_baremetal.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_check.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_compose.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_compute.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_configuration.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_console.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_container.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_get.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_loadbalancer.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_lock.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_log.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_manage_commands.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_manage_validators.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_manage_wiring.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_migrate.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_netbox.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_noset.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_octavia.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_openstack.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_reconciler.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_redfish.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_report.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_reset.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_server.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_service.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_set.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_sonic.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_sonic_ssh.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_sonic_validate.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_status.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_stress.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_sync.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_task.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_validate.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_vault.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_volume.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_wait.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_worker.py\ncd+++++++++ src/github.com/osism/python-osism/tests/unit/data/\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/data/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/data/test_enums.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/data/test_playbooks.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/data/test_releases.py\ncd+++++++++ src/github.com/osism/python-osism/tests/unit/e2e/\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/e2e/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/e2e/test_compare.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/e2e/test_generate.py\ncd+++++++++ src/github.com/osism/python-osism/tests/unit/services/\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/services/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/services/test_event_bridge.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/services/test_listener.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/services/test_websocket_manager.py\ncd+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conftest.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_config.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_init.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_netbox.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_openstack_baremetal.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_openstack_env.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_openstack_managers.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_task_wrappers.py\ncd+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_config.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_ironic_helpers.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_ironic_sync.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_netbox.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_redfish.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_utils.py\ncd+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/_config_generator_helpers.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/_detection_helpers.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/conftest.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_bgp.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_breakout_detection.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_cache.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_bgp_vlan_vrf.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_ctrlplane_acls.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_dns.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_log.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_metalbox_cache.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_ntp.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_orchestrator.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_ownership.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_ports.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_snmp.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_connections.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_constants.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_device.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_exporter.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_interface_conversion.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_port_channel_detection.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_sync.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_validator.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_validator_artifacts.py\ncd+++++++++ src/github.com/osism/python-osism/tests/unit/utils/\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/__init__.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_http.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_init_connections.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_init_locks.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_init_semaphore.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_init_task_output.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_inventory.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_mariadb.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_rabbitmq.py\n<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_ssh.py\ncd+++++++++ src/github.com/osism/python-osism/tools/\n<f+++++++++ src/github.com/osism/python-osism/tools/sonic_yang_to_pydantic.py\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ src/",
                                "cd+++++++++ src/github.com/",
                                "cd+++++++++ src/github.com/osism/",
                                "cd+++++++++ src/github.com/osism/python-osism/",
                                "<f+++++++++ src/github.com/osism/python-osism/.flake8",
                                "<f+++++++++ src/github.com/osism/python-osism/.gitignore",
                                "<f+++++++++ src/github.com/osism/python-osism/.hadolint.yaml",
                                "<f+++++++++ src/github.com/osism/python-osism/.zuul.yaml",
                                "<f+++++++++ src/github.com/osism/python-osism/CHANGELOG.md",
                                "<f+++++++++ src/github.com/osism/python-osism/Containerfile",
                                "cL+++++++++ src/github.com/osism/python-osism/Dockerfile -> Containerfile",
                                "<f+++++++++ src/github.com/osism/python-osism/Giltfile.yaml",
                                "<f+++++++++ src/github.com/osism/python-osism/LICENSE",
                                "<f+++++++++ src/github.com/osism/python-osism/Makefile",
                                "<f+++++++++ src/github.com/osism/python-osism/Pipfile",
                                "<f+++++++++ src/github.com/osism/python-osism/Pipfile.lock",
                                "<f+++++++++ src/github.com/osism/python-osism/README.md",
                                "<f+++++++++ src/github.com/osism/python-osism/requirements.ansible.txt",
                                "<f+++++++++ src/github.com/osism/python-osism/requirements.netbox-manager.txt",
                                "<f+++++++++ src/github.com/osism/python-osism/requirements.openstack-flavor-manager.txt",
                                "<f+++++++++ src/github.com/osism/python-osism/requirements.openstack-image-manager.txt",
                                "<f+++++++++ src/github.com/osism/python-osism/requirements.openstackclient.txt",
                                "<f+++++++++ src/github.com/osism/python-osism/requirements.sonic.txt",
                                "<f+++++++++ src/github.com/osism/python-osism/requirements.txt",
                                "<f+++++++++ src/github.com/osism/python-osism/requirements.yml",
                                "<f+++++++++ src/github.com/osism/python-osism/setup.cfg",
                                "<f+++++++++ src/github.com/osism/python-osism/setup.py",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/COMMIT_EDITMSG",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/FETCH_HEAD",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/HEAD",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/ORIG_HEAD",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/config",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/config.worktree",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/description",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/index",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/packed-refs",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/branches/",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/hooks/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/applypatch-msg.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/commit-msg.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/fsmonitor-watchman.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/post-update.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-applypatch.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-commit.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-merge-commit.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-push.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-rebase.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/pre-receive.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/prepare-commit-msg.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/push-to-checkout.sample",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/hooks/update.sample",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/info/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/info/exclude",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/logs/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/logs/HEAD",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/00/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/00/8af777abb8a8e5206ccdadcd461baf1958e076",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/00/8c8af594fe57c663d0039911811424080bf380",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/00/a15b0ad9c52053e8bc585892b159ac44fe17d5",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/00/fc80ea92b59817dad6aea0c980d09d50432760",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/01/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/01/16fabc3d32e3e86b73ebf08ae010c5f1c29876",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/02/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/02/596bec4e506ac04fc6ea394019e467330ae20e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/03/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/03/f7acab83aa1bd1d40ea8c307b93a52c2f2f54e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/04/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/04/ac2415ea5e0d596447356cac2c27d20bdb01f1",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/05/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/05/09e9c9a06559431d61d75b6e88f1691a88fd3c",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/05/31426420d4c28ef93d027434404275d35fb00a",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/06/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/06/6b28a137e6bf0ff75e48645d5e5518bf4b277b",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/06/d1a0abe2673958bf24ff6b94b34d52961c3460",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/07/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/07/3e5dc673796fec45f19f2dd05795c19e877b3c",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/09/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/09/1918da7b3985053fddf26c2bdea2c3cdf8fa1b",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/09/de52bc141c9d7142ea90a91e2dae1974b1deab",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/0e/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/0e/009735689bb46581882d942a3e2c547b555bfe",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/0e/8819fd861d5e5852f859bf35eb8278e6d018bc",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/10/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/10/04e5f24ba44aa30c0f9ed8fe0d491c693d0474",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/12/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/12/45079b9c74814314ef03c3e9c5ef0f5ec7b545",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/12/d946d62e604888a392245cc9c51bdaa3e92cb7",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/13/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/13/03fd7a97f6a4d5c5625bfa2260705580de299d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/13/d56a3066c55f25d1f21c45caf06b5118fa1f8f",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/14/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/14/15a920085dbf41cdc1e68203039fc88eed3e24",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/14/5766dca4617bf13acadea94b8e4ce4a68de9c5",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/15/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/15/997d32e31587b7bfdb48edd313d5e802482a1b",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/15/bbc427422f2e281e93f3be41bd9c17fa27d355",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/16/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/16/6e9b2ef8ea0daace28ca066aa592978e55f6e1",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/16/7ecfd1441fc2d028d2a2fcf7293fbcf843a8e4",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/17/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/17/8e9e3e183edd7a0c29fb30083c6922c960bd56",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/17/b8c5c58f1f52849d96df932899fe9746f98b0e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/18/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/18/066cfb8e301841e8cfa9b7ccb4a4cd863cdd66",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/18/d3a9f35dc19d7051636ff5af15b642e379dccf",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/19/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/19/8d2ea87887294528d9b7d17b59068f66a8e876",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/1a/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/1a/69928e98c0150d6e5106a13e631abd4e3815eb",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/1d/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/1d/b691acfc3da8ef022bdf1d3a49da6b32be7afb",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/1e/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/1e/2a5e6f100f752cc4dfeec2fdde9ab54a13ab97",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/1e/d5dfa7dd3b7ff6f22216b17ac5c392f92d57a3",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/1f/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/1f/1c7e7a783e0ab87a6410597c50e6b86ea0cc32",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/20/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/20/1de1ee8788b4861b8198cbcf208306112a7f48",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/21/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/21/3f09ff2c7147aa5e603dd18c594502ddae50a9",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/23/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/23/63268c1241999362a7fcab3f1ac3aedbaa6028",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/23/cd7b3e0df4c629d92fcf2bf986402c0842adab",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/24/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/24/1ab9f73985d86fc879e4b3bc9d6d3765f7dccb",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/25/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/25/154cd4c3c7eaf10657814b446399b46e23fd8b",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/25/48dff7573fb0ab93c84bfc7cf814aa9d7c14a6",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/27/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/27/14fd826c20e8dbdc3975ff65c103bd43c56e6b",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/2a/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2a/131862bc7b9c17ad441006c5fe16346ff84713",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2a/1640e41317454fe7b73300e94fb646f8f8268f",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2a/cf58301c58d583cb9bc54abb16ef3a41080336",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/2b/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2b/5011edef9694d41546ec3b29b0e4180d6ec13f",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2b/cccf5eaab765678d1509a85aa2a3a4653e3cb6",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2b/da209913ce718b118e3ef1255a68b10e162f4d",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/2e/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2e/3cd6fa14dafb6b4db563f34c411e80d223ec50",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/2f/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2f/1b89ff0e46aa88f2a8d0766ec88e651fbab91f",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2f/4f1f3d066f276745018c3c0fadbaf09f3fb234",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2f/5be74a72975b12af8d2e4cb9571df4b2b8cbc3",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/2f/faec9b8b9d4a1748254a28fb65f9a026e43c0d",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/30/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/30/4d1bca560e4b4f2de2b4b57b9c959bce613c83",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/31/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/31/68ae00648408a07a6112ebb6a9699a1d261755",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/32/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/32/2674a42991a790d09627a3275054429daefdcf",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/32/ab4cf6833facddff8d8f102e1613f4126d9876",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/34/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/34/6b6b9654eea56ff579a24aa04af5594efd96b3",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/36/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/36/e33248df792488982feed1bf958b36c08bcdf7",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/37/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/37/67e9438369c75ee9ee9f69c38607c1c05333e2",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/38/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/38/573a061fc0af0ce95437092778d7fdd8f49e3e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/39/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/39/1fab167bdf724e36d862250515e5b71b51e1ff",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/3a/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3a/6b927137614f2c3fe7df027f751827303b8d49",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/3c/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3c/512a41b93ddb7956e1840c917d96982d9410f7",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/3d/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3d/04c9a8ea4f92006425ca116e72d13ced3acce4",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3d/366cec9f0b8658477ad7ba76a2b514b0ee65bd",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3d/9712aa4e0dc0a5af0914b9f9e0fe3fc89bfa32",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3d/a149b6e56d3e6670eb3adfda3d786502323240",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/3e/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3e/b6859b3f9bc844fbef067778bce53a3f4a1f57",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/3f/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3f/779ee549354709e7e9aa9395b558d2f51e3ecf",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3f/7c4c69b539f1406884c96f48d9471155301623",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/3f/f53e8c704b195085d7e3d7c83352e6be9966d6",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/40/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/40/27c47e48635960c5c3072d1920c3d8aebf64d9",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/40/e4e5fa9033ac91cac7020b77fcab5b9c9885be",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/40/ec8051cc6246de1994a0bd9154273bbfd92d35",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/41/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/41/603d7031bb339c5fa8815cd020e09c345a6ad3",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/41/9d31147514e4dcfe43ddc469df0813a345fed5",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/42/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/42/a52122930be94d68e136bb91fe3fbf33bda42d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/42/dab863354ea6c759a91ea8ead6b805c946ad6b",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/44/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/44/8d02d8dff45a3b2be0104f6d8479e85128f18a",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/45/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/45/c6f5e2deeb16d404a039c59200a1157695ed36",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/45/d039c78d8fb65965d7d31ebca8264a5c740e7d",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/47/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/47/dbef51a5e2d24068bda4ed397dbf3790ae98a8",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/48/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/48/c3b3e353ec399ea1fb0f3f4bbd06b73f1eda88",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/48/c6338cfc67cc9edeb42fd93c8d587a2a90c74a",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/4a/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4a/2685c1d9a0d1e2ffeafd7158dad95b706ac732",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4a/a264aa6dbf1a925bfd181842ac8e4de625f545",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/4b/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4b/2c52ab044bb16a6d6eee1ccb8f5e58ebdf549d",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/4c/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4c/0865464806a75b4f5517781acfbed28c2d2f7d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4c/2d35189d4e6f13d9d8fec340ca74ec54eeaba9",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/4d/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4d/81d5722b7837b66ff8fc007ef178c844bb8e19",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4d/82ba00eab25dc31105f6bd4ac1b0a390dbb5e5",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/4f/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4f/2c64df7b833a87a3bbb6f8b6035a68cc9da376",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4f/b49401abe3d340dd88bab56c97945fcaeaf38a",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4f/efe34e3fb4f56a6ab879dbd8db66d6c74e4a36",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/51/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/51/06dbdd6003f877c44f5012242717f29db99876",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/51/e23c0d99ac188ac1631bdf69c4d73983b5166e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/52/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/52/1ba35251c159fbb94472d9fda6916dfe5018b7",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/54/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/54/a92624cc3f7e416578ffbe4af52d8e1be7495c",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/55/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/55/4ecb709c1c643c54e15c2ab1f9ae88a1da10a9",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/56/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/56/3be31e1de00cbdf44f6f933d2acf56554a1956",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/56/3ebb7ed2985ba2713563caaf7228220b33db0d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/56/55f5d8ad6443dad1a25196e0d76d082f239e4a",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/56/59a5bad43d4a2a1a7bc24e4f1e7fe9d12db3fb",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/59/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/59/5a333ce04a14876e7b5fda55e57f6b50dc2e8d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/59/5f2ab501b2b2eddc954714a6c8fb26b5b7c875",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/5b/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/5b/f739d96ec3cee7e6db200f11a7801df401fbc2",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/5d/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/5d/106a1a046b007a17695f897cba223dc55dee77",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/5e/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/5e/fef5d95aba8e515982a36d3847b2d386c8b72a",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/60/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/60/519d0b42401ab50f10aa186b8aaefae6194821",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/62/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/62/404617e0698ad2eb9a5d49ea2a327096ec2036",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/64/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/64/e3da05961ee775c14f13c595b0d0b2dc32d94f",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/65/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/65/0cb95d49da04f507a37a46a61cba01b8b13877",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/65/6c238894e986e478f78a6dcdb38d0829f08761",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/66/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/66/34aeb97d9263c96c22182c41df00a68164b824",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/66/faffd2979720b6bb3525dd79fbb03186395181",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/69/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/69/39f26a376890dc06a749086f236725af907415",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/69/6491abc17f7446b6fb15649e1d6a73f96b8c1a",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/69/a3a42f51db1fc9ae53551abad18a20b6e4d2d9",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/6a/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/6a/f795e592447421c342152ec6aeb78e63f41479",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/6b/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/6b/6038ed7eac89502f233ec3cb8e82eaebe063a1",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/6c/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/6c/a75047845bab4e6d436dc5242b718cae618822",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/71/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/71/ac196236424c78574146e7ea86622189af0008",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/72/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/72/85c8c32f5c94bd58968255978021025a06b9a7",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/74/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/74/d31985374adf97720dafa239faeddcd4daa535",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/75/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/75/aef04cc9b51acb0113b633127247b3320135c1",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/79/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/79/a62a0ae16d95d7600ba918d8ad72da81a778d0",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/7a/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/7a/f4c52ca06ab60ef75e312d44613324a9a09c18",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/7a/f5c559bf2fbb2a4b22242d1ace83acfd0db6fe",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/7b/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/7b/5d3dcbf11daa45d7e803a2191a0318cc09b989",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/7c/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/7c/b08a76b314452d1cca158858057be0555634a5",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/7d/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/7d/23d35eda9360347a7eb6ae69dcd6bec4182fef",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/7e/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/7e/7a2af055ccd722142ebcd2755626e67e2946e7",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/7f/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/7f/7c3dd25366f9f2af660921bd342797714de8c2",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/7f/f8b3adf36f6840d1eb1c0b4375f936855a34f7",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/80/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/80/7513e464122e8891dad965a68d2117b142823b",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/81/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/81/b821ee071c9d04e51c9fb106abf3d5a2a8c8cb",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/82/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/82/4214c7b1c38e4ef8c1fe89fe1e8b3f5ccb4c93",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/83/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/83/74b08c92cccb69a46116c1648536aaae9b48f8",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/84/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/84/315a285c2a03f5668684969484a4be5b29e100",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/85/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/85/2e62aa7bd050b275c550c8a42b7c2f8f562296",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/85/b8f3465f6b851ee6616a510879f879f534fe44",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/88/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/88/919c058ca0378b0a6c2b1e94a74d24237c5251",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/88/edbc10ebcf89bbf88a4be71c6ad866986c85a8",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/90/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/90/c8534f8688bc107aa27d17d0fc65bb90c5546c",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/94/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/94/5f732ea4037b803a4e3801aa8498e75736bd0d",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/96/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/96/ab4f1f109b9089affd3ee92a965c402028f9c3",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/97/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/97/08aafc4036f05a7ebc2cd2f6c01fe15ab0d7ba",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/97/3dd555144b9010fb109a0a5e30f5d69848ecd0",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/97/42da15a07c9e3940ce8ef2d829351d36973476",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/98/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/98/5e2c0fcb9024e508cbfb152c86125eeb994dcf",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/98/d2abda15dd20a398a99fc2d063c27c11134cd5",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/9a/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9a/3efbdda4935fa67dde15ec464baf9284e581b0",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9a/68fccb2f46d3188265ac133d11c1f9f12cf46b",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9a/b2c544166390f93ba31037d0d016fb832a1188",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9a/c77ee4c91d37f00673f760317c3e396bcb830a",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/9b/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9b/17b57919b94724f34da7e99f6ccf69ee112157",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9b/2dea34238ca5afbf0099b80b49ae36e07434ef",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9b/e7d831b3835f42c2fd007131707601a47af0df",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/9c/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9c/d1a4db588323be372e36e7add2681846ec601d",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/9d/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9d/75c225120941f831481fd2738517e078884a7c",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/9f/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9f/002a0a6dd37f9ac7a72de46a033393e98a99ef",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9f/cc7448e1b3dd6f31091e35264913673f31c6fd",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/9f/dbd9a5d2da56584ba3d35e9bb43cc51268ac57",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/a0/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a0/1f9d07e6077d251631c7e68b89863d4eef201f",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/a1/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a1/0ae8982589792943e9a09c19b26b353da69b6d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a1/5fa2693fce0bbb0fc7f3c9bbe3ebe550f15244",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/a4/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a4/d172319d2fef940eec782982cf42912c131f1c",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/a5/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a5/93edbc02783b5291a23dd358233100b2557b97",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/a6/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a6/f87245dc02a4f043de9ff53e0bda99eab1aa32",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/a7/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a7/971e75ded7278092fba652af6e9174161caeff",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/a8/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a8/353bbfb184195ff78eccdd3d1efa224a7f74f2",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/a9/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a9/47814813dcf0a56df8b014d15c2d789d70fd7f",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ab/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ab/640a42df8c323c6b1cc4deef6448c311727715",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ac/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ac/4e3691d00ad43685e6875d7aad8ca2856787e4",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ac/c02e33739f4416d0709eea4755ef5b22bdfd2a",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ac/eb2a3c409936ac3ed800530506dbf49e8ae982",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ae/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ae/cde933824a6625a6650902ef2b606fb6f7ce7f",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/af/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/af/4e71c7365129ec034f7bc42cfd2930fc50d3df",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/af/5caebeb90dd267160755eaeebc2a3483479cf8",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/af/b35b0be0e49aa38b6b73eb1a625ad672b17af0",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/b1/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b1/ed1a51ecac51ec596c3d246cf947d573dbaece",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/b3/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b3/e69fb23d4906f755ee00662e1c68bfd395e155",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/b5/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b5/745d0d48ccd2efe12c838e1d86ccdef7c38a7d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b5/8c67c1ef5ca83fa5ed24f83eca3ca5e3a6e875",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/b6/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b6/04290095139176db84e5f9ad6be35ff6825941",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/b7/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b7/5f84bda83bb7f40156b59dd6600232c3910de0",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b7/8ac18c478adf81848f97dc7c129b863086c263",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/b8/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b8/ffa9b601b5caaa75bbd3c6f865859c36201aae",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/b9/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b9/e188931fbb0abaa5fad9ce9cb01d592feec799",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b9/e5c4993138314443944eb0183514a6b8d8a5d8",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ba/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ba/84fb37eff9d0348f6631071284d705210648bb",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ba/af60cdbdc4a7ffcd89d72614ed2687dbbe74b2",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/bb/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bb/74890743db3bd482328a46567030baa4eb1c6e",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bb/c1803ad21072885c7f95c0b6646dd8508bc48f",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bb/c1963566a53b802f6e2c59083748410335ba63",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/bc/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bc/6e3104ead0b2f4e57dc9babed05f21813d813d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bc/ec653bcfb1d3f19d356837137d7e7a1444a848",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/bd/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bd/532ceddb21b5895ce3dcf9e4c20f880729ae83",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bd/b7bf667f95c8d83d4b20c4be777c6423bc5afb",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/bf/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bf/12879752ec0591e1d708de49c6e05bd0e32139",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bf/1636eafe581f69772cd49ba501f8b08bcf7a34",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bf/abb10552d470b52530aa31d03f6b848cf6887e",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/bf/fbd5ac0bba72e455d6c49dee41e380fd32dadc",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/c0/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c0/3ce0d95f1776087775cfa4e9edd27560566ed4",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c0/92dd3a76f8cca08f90af7613935ea84af5c729",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c0/c464a196f86115e33fdc89a9715ea146664eb8",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/c1/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c1/aa6b43dff334ec293ad8d7d2f43f38033b3e3f",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/c2/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c2/4c9c18256d41ca17b5c219da3fb3daa4c3f212",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c2/5e682387c51e9186ee95d319faca10e7459001",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/c3/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c3/fdff1ecbd807a91774b76aede43abf7d009e88",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/c4/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c4/f5df4574e924f4dd031997c810814a3c5ecd62",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/c5/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c5/18082fec51a7d336fb7116cac052f7c8e4b081",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c5/ecf658418382d42798519480ba54d1f1216657",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/c6/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c6/0c4c43636e35474f2b131cebc1d42ef6dbd2f8",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/c7/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c7/382ec79c9faf511b6953adff75aeb6c2e06d46",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c7/b2f5f29837d033037a0eb4b7da2e5577ea66f7",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/c8/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/c8/961b98cafc0e6bd0addacb8f25104d4ddcdef4",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/cc/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/cc/9eb947aae34344a721c8d3ba34dfdbbd22d6ce",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/cd/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/cd/21ff315f0d6387ec5c584954c9130f6a8d4a94",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/cd/abd581de875eea9dc18bd42d51f5a124ad0926",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ce/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ce/c4db161868b14639ac01b83eb6df54f0db8f1e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/cf/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/cf/54601bc88a589b1ce5f7877f6090a42f4ac962",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/d0/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d0/ea14bb245137f9f0ad4985385ea5b6d61930ea",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/d1/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d1/289cd9690533e9dcd6cf2799b42cbb0e091967",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d1/8b7417cc0413b8530654ca64915770a9aab2e0",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/d2/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d2/12ef9b07371414843ec852996d8d93fa407123",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d2/3cf42f692fcc9f902cd5637dafa8025bd4b55c",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d2/60c2ac8dae391d8d11b455f9e0968f0b138991",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/d4/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d4/4f75ae632c508baf352655806f9f0c0b72cf0e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/d5/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d5/93ce3f00160a3578b72632c71359df10ed1330",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d5/a1a4c0c4d3fe78efc3b0c3df8d5a860f9af517",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/d9/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/d9/3e49af0f821e80bd52a0f044a622ce44f7198e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/db/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/db/82ada2c3139ab95754c04fcb597384f3592820",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/dc/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/dc/4c00b706ec4159c4b8e4ffe863f550b6710b20",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/de/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/de/07aa5fffbe3d69068081af01f3ff3204bbae48",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/df/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/df/4dc9ca32560a0dc68c7dfcd402621aec510f2d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/df/b81b6e99acd5c94839592e7cd4504ac5ebda6f",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/e0/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e0/9313e8260461c1e8b84cb8873c3d31df8586da",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/e2/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e2/4a31c89734a0c3a508cd2e4f67fbc39f2bea35",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e2/fd83c21da9bb3f7ddcd40d1e05649e09bbce88",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/e3/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e3/37c3fa21a84aa33698dc12886f1acb43825eb1",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e3/b2c10f34e8027f1c8f03df76d237d81c728f03",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/e4/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e4/ab24884ca6642e9cd21b6ccb51df95c215e309",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/e5/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e5/58ebdaf01c25415bd765fa934b3fa0c105cbf8",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/e6/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e6/2d44be08519a47c45753f53ab0f6a09df17f41",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e6/aa015d221e88bb46f676478900daa6c50d6a74",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/e7/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e7/521105aa543861a025caa3e05e11c25763b526",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e7/a444d079b28b7fea35c5f288ab9c77a83bde53",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e7/d22724c1a50da8feb467da63dac275a6528623",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/e8/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e8/1e591e0465dcb8dcf9ef5d25ee51d1cb5f047c",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e8/be9e48d37502dd263925dbd716ad5aa1b77766",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/e9/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e9/6c19414296b72f7e91f301decba3342656a277",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/e9/a06b35cc77962c9cc6174be8749a42515114dc",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ea/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ea/4240cb1cbeeeb6e6278c3e8f388733c9e3276a",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ea/7cda9fb8ca4ff6f7c4fad89e61a2bdb10e70d1",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ea/7fa3fe1007b356b3c92b235de6595423b981fc",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/eb/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/eb/8c3b402a0bb246625bf8c0766de4c516cda6da",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/eb/cedf49c6db9af171ba0e20ab16dc225dfdbabc",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ec/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ec/02479f926b3b76c42939d7f5826e3b3c2d576e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ed/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ed/5dd29e12c36fa9e554ede940bad3122e9072d7",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ee/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ee/2c451e8ab52a8418ece1d7aa3d22b1fe1e1032",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ee/4c374f83293ccc60329cad3ccd0548166f4d9e",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ee/a721a9cd26bde709e881cff764f0c7fde0d2c5",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ef/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ef/21e359658334735e7f4df66e2e7780c5f1cf83",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ef/49ad466f8496f157e061206d6c325734580d5e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/f0/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f0/4a832100febbbbbc6a85c93a1400f13a737a74",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/f1/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f1/75953419be6ef3a49484e013c888fa761353c4",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f1/a7aa7b3a439ed8764b4a37c9537072cfa805c1",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f1/df3ca7c9222bffd27b0a0c8dcd475f7a7c7c09",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/f2/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f2/4258dd8dad87a56bd821efc13509240628e91b",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f2/ae4c7b5a8cb197d35defa3d79e3c0c0f076851",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/f4/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f4/e5ee086f5675e52d2347630e4f8710fa45a5a3",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/f5/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f5/bc1701c024cb28fc8ba9ad93b3305326cd8127",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/f7/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f7/3ea9de4100511c8918ae405b90c75b9fe6965a",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/f8/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f8/1b8b07479fe2dde7f7fcd253730b5b874d5e19",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f8/6b2d94ea4dfc9ab793f5adc59b5d69fff3f686",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/f9/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f9/233bb91da7d26058aeccc8094abae83d026998",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f9/8783f89b74485cfc9fc4aa0b9c73dc3f17f6b3",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/fa/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/fa/8d32893a7f0e32cf4df346b9f5c952f45e5514",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/fb/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/fb/0050a6e7ee1a5c49ef24f1b4f392f9b455500f",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/fd/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/fd/5b0d7bd95e4ca02e37698a32dbf3faaa7ce3a0",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/fd/8aa342d864b1019f8e476303995a3a9470da3f",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ff/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ff/26011471fc30ae1675e4b7ae283c1e18e1fbac",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ff/82e4eecbad4440d3fad3a1bbc3618c2fcf772d",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ff/f05eaa669d201d376e061befdf25ac9243afdf",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/info/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/info/commit-graph",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/info/packs",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/pack/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-021c693bcdc44350fc195fa06bd906182d6f7bbd.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-021c693bcdc44350fc195fa06bd906182d6f7bbd.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-0afe771145f42d98d588dc00f812799a0387c777.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-0afe771145f42d98d588dc00f812799a0387c777.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-20541a16d57152fcf88d528c4152fe75cb89fa7d.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-20541a16d57152fcf88d528c4152fe75cb89fa7d.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-22e81573e23f311a7c1f7b7ec2a0f0c88852c940.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-22e81573e23f311a7c1f7b7ec2a0f0c88852c940.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-2b8ffdca0d87e8e55370f25a3270e3d0ff294d3b.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-2b8ffdca0d87e8e55370f25a3270e3d0ff294d3b.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-2bfdc07b1dbecab8d62dc0eab8db9a4ac418d28c.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-2bfdc07b1dbecab8d62dc0eab8db9a4ac418d28c.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-34acd2142e357167d1d9c36c1fdc40a552bafcf1.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-34acd2142e357167d1d9c36c1fdc40a552bafcf1.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3a008b24da32690a5e3b189aae7165e569e5c34e.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3a008b24da32690a5e3b189aae7165e569e5c34e.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3ab17df9208a73df4be30c7237916797cab926ac.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3ab17df9208a73df4be30c7237916797cab926ac.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3c5a672b77a343977624db60cde0901f1b296d15.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-3c5a672b77a343977624db60cde0901f1b296d15.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-404add41d1be0c0ca79ff080e18f1ec731502763.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-404add41d1be0c0ca79ff080e18f1ec731502763.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-4622224d9a270df3cbe5f55ccc4db3d8d003be36.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-4622224d9a270df3cbe5f55ccc4db3d8d003be36.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-49fb8ec2c51a447c122c607da67d6fac65b14fb1.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-49fb8ec2c51a447c122c607da67d6fac65b14fb1.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-4baef55a8161f02dc3e667dcfe146ac0d3c90a91.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-4baef55a8161f02dc3e667dcfe146ac0d3c90a91.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-54a9d0b1a66d179a78edb3f78c839e1229e5c02f.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-54a9d0b1a66d179a78edb3f78c839e1229e5c02f.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-585a8777529bb2d1f91e59a226bfe4878680295f.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-585a8777529bb2d1f91e59a226bfe4878680295f.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-5f29e6de4e124bf9c19ab048254c9acf1a936f66.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-5f29e6de4e124bf9c19ab048254c9acf1a936f66.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-74ddf7636112e99e7961406a3fdee05899a3d7ad.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-74ddf7636112e99e7961406a3fdee05899a3d7ad.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-77a0d99340386f60f747b90252c640fc7114352f.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-77a0d99340386f60f747b90252c640fc7114352f.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-7a6f48b858cb20527a6fa64a7f586f269b6ef9c1.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-7a6f48b858cb20527a6fa64a7f586f269b6ef9c1.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-81f07b43ef92264eee984dc62b322194330c3d34.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-81f07b43ef92264eee984dc62b322194330c3d34.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-8b5b0332d9ed8c08598d14d1d2143da9bc454797.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-8b5b0332d9ed8c08598d14d1d2143da9bc454797.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-abe765ddd0e5dcee4d2743f1aa939c9fba4580f2.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-abe765ddd0e5dcee4d2743f1aa939c9fba4580f2.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-acd63f8e22446ff7cd695b466480876a25cb47c7.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-acd63f8e22446ff7cd695b466480876a25cb47c7.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-afa5bc0e4b64b8ca15ca82f8f4cb29ef02b2dfa2.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-afa5bc0e4b64b8ca15ca82f8f4cb29ef02b2dfa2.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-afea79e6c67f4bd2d9addd8a73145afefdc9a725.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-afea79e6c67f4bd2d9addd8a73145afefdc9a725.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b193eb7cbfb9173cc4356bb342ef8597aea42941.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b193eb7cbfb9173cc4356bb342ef8597aea42941.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b5670541942617d0b41e4af104f934e4d506ff09.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b5670541942617d0b41e4af104f934e4d506ff09.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b81688f8847e8f1e630109fdce25562c311ca566.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-b81688f8847e8f1e630109fdce25562c311ca566.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-c29fe61b915d557ee8c8b2cfc5f2f2b463a82f9a.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-c29fe61b915d557ee8c8b2cfc5f2f2b463a82f9a.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-c537927b340499b00a26ca262e267218ad978cd1.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-c537927b340499b00a26ca262e267218ad978cd1.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-ceb8e2e5558f32432c66c77a926a837372974339.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-ceb8e2e5558f32432c66c77a926a837372974339.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-ceddd672d1dc6f8207fc256a1d2e4d0dedfc2279.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-ceddd672d1dc6f8207fc256a1d2e4d0dedfc2279.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-d277001efeef8ab5ac7979e0624a098806a3b9e9.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-d277001efeef8ab5ac7979e0624a098806a3b9e9.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-d330bb0520f2ebecf9ae606de7b547f84aeeb493.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-d330bb0520f2ebecf9ae606de7b547f84aeeb493.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-e6fe03eeb0a959a0f2138bc396787150e8fac1b1.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-e6fe03eeb0a959a0f2138bc396787150e8fac1b1.pack",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-f5526db7317240da85b69301912465d21bb15c3f.idx",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/pack/pack-f5526db7317240da85b69301912465d21bb15c3f.pack",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/refs/",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/refs/heads/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/refs/heads/main",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/refs/remotes/",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/refs/remotes/origin/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/refs/remotes/origin/main",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/refs/zuul/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/refs/zuul/b28b7af69320201d1cf206ebf28373980add1451",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/refs/zuul/fetch",
                                "cd+++++++++ src/github.com/osism/python-osism/.github/",
                                "<f+++++++++ src/github.com/osism/python-osism/.github/renovate.json",
                                "cd+++++++++ src/github.com/osism/python-osism/.github/workflows/",
                                "<f+++++++++ src/github.com/osism/python-osism/.github/workflows/add-to-project.yml",
                                "<f+++++++++ src/github.com/osism/python-osism/.github/workflows/publish.yml",
                                "cd+++++++++ src/github.com/osism/python-osism/docs/",
                                "<f+++++++++ src/github.com/osism/python-osism/docs/sonic-config-validation.md",
                                "cd+++++++++ src/github.com/osism/python-osism/files/",
                                "<f+++++++++ src/github.com/osism/python-osism/files/change.sh",
                                "<f+++++++++ src/github.com/osism/python-osism/files/cleanup-ansible-collections.sh",
                                "<f+++++++++ src/github.com/osism/python-osism/files/redfishMockupCreate.py",
                                "<f+++++++++ src/github.com/osism/python-osism/files/run-ansible-console.sh",
                                "cd+++++++++ src/github.com/osism/python-osism/files/clustershell/",
                                "<f+++++++++ src/github.com/osism/python-osism/files/clustershell/clush.conf",
                                "<f+++++++++ src/github.com/osism/python-osism/files/clustershell/groups.conf",
                                "cd+++++++++ src/github.com/osism/python-osism/files/data/",
                                "<f+++++++++ src/github.com/osism/python-osism/files/data/SCS-Spec.MandatoryFlavors.verbose.yaml",
                                "<f+++++++++ src/github.com/osism/python-osism/files/data/cloudpod.yml",
                                "<f+++++++++ src/github.com/osism/python-osism/files/data/flavors.yaml",
                                "cd+++++++++ src/github.com/osism/python-osism/files/netbox-manager/",
                                "<f+++++++++ src/github.com/osism/python-osism/files/netbox-manager/settings.toml",
                                "cd+++++++++ src/github.com/osism/python-osism/files/sonic/",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/config_db.json",
                                "cd+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS4625-54T.ini",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS4630-54TE.ini",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS5835-54T.ini",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS5835-54X.ini",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS7326-56X.ini",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS7726-32X.ini",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS9716-32D.ini",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/Accton-AS9726-32D.ini",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/port_config/DellEMC-S5212f-P-25G.ini",
                                "cd+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-asic-sensors.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-auto_techsupport.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-banner.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-aggregate-address.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-allowed-prefix.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-bbr.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-common.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-device-global.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-global.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-internal-neighbor.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-monitor.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-neighbor.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-peergroup.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-peerrange.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-prefix-list.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-sentinel.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bgp-voq-chassis-neighbor.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-bmp.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-breakout_cfg.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-pg.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-pool.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-port-egress-profile-list.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-port-ingress-profile-list.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-profile.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-buffer-queue.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-cable-length.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-chassis-module.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-console.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-copp.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-crm.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dash.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-debug-counter.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-default-lossless-buffer-parameter.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-device_metadata.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-device_neighbor.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-device_neighbor_metadata.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dhcp-server-ipv4.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dhcp-server.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dhcpv4-relay.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dhcpv6-relay.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dns.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dot1p-tc-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dscp-fc-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-dscp-tc-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-bgp.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-common.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-dhcp-relay.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-host.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-swss.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-events-syncd.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-exp-fc-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-extension.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-fabric-monitor.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-fabric-port.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-feature.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-fine-grained-ecmp.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-fips.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-flex_counter.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-gnmi.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-grpcclient.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-hash.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-heartbeat.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-high-frequency-telemetry.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-interface.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-kdump.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-kubernetes_master.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-lldp.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-logger.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-loopback-interface.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-lossless-traffic-pattern.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-macsec.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mclag.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-memory-statistics.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mgmt_interface.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mgmt_port.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mgmt_vrf.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mirror-session.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mpls-tc-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mux-cable.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-mux-linkmgr.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-nat.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-neigh.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-ntp.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-nvgre-tunnel.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-passwh.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-pbh.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-peer-switch.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-pfc-priority-priority-group-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-pfc-priority-queue-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-pfcwd.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-policer.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-port-qos-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-port.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-portchannel.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-queue.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-restapi.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-route-common.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-route-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-routing-policy-sets.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-scheduler.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-serial-console.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-sflow.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-smart-switch.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-snmp.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-spanning-tree.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-srv6.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-ssh-server.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-static-route.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-storm-control.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-stormond-config.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-subnet-decap.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-suppress-asic-sdk-health-event.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-syslog.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-aaa.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-defaults.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-ldap.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-port.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-radius.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-system-tacacs.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-tc-dscp-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-tc-priority-group-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-tc-queue-map.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-telemetry.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-telemetry_client.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-trimming.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-tunnel.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-types.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-versions.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vlan-sub-interface.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vlan.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vnet.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-voq-inband-interface.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vrf.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-vxlan.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-warm-restart.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-wred-profile.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-xcvrd-log.yang",
                                "<f+++++++++ src/github.com/osism/python-osism/files/sonic/yang_models/sonic-ztp.yang",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/.dockerignore",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/.gitignore",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/Containerfile",
                                "cL+++++++++ src/github.com/osism/python-osism/frontend/Dockerfile -> Containerfile",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/components.json",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/eslint.config.mjs",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/next.config.ts",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/package-lock.json",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/package.json",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/postcss.config.mjs",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/tailwind.config.ts",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/tsconfig.json",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/favicon.ico",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/globals.css",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/layout.tsx",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/page.tsx",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/api/",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/api/config/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/api/config/route.ts",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/api/health/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/api/health/route.ts",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/components/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/components/ConnectionStatus.tsx",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/components/CopyButton.tsx",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/components/EventsFilters.tsx",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/components/EventsList.tsx",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/events/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/events/page.tsx",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/inventory/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/inventory/page.tsx",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/nodes/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/nodes/page.tsx",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/nodes/[identifier]/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/nodes/[identifier]/page.tsx",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/app/services/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/app/services/page.tsx",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/lib/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/lib/api.ts",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/lib/types.ts",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/lib/utils.ts",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/lib/hooks/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/lib/hooks/useWebSocket.ts",
                                "cd+++++++++ src/github.com/osism/python-osism/frontend/public/",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/public/file.svg",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/public/globe.svg",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/public/next.svg",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/public/vercel.svg",
                                "<f+++++++++ src/github.com/osism/python-osism/frontend/public/window.svg",
                                "cd+++++++++ src/github.com/osism/python-osism/osism/",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/__main__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/api.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/main.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/settings.py",
                                "cd+++++++++ src/github.com/osism/python-osism/osism/commands/",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/amphora.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/apply.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/baremetal.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/check.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/compose.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/compute.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/configuration.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/console.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/container.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/get.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/loadbalancer.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/lock.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/log.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/manage.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/migrate.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/netbox.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/noset.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/octavia.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/openstack.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/reconciler.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/redfish.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/report.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/reset.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/server.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/service.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/set.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/sonic.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/status.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/stress.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/sync.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/task.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/validate.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/vault.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/volume.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/wait.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/commands/worker.py",
                                "cd+++++++++ src/github.com/osism/python-osism/osism/data/",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/data/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/data/enums.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/data/playbooks.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/data/releases.py",
                                "cd+++++++++ src/github.com/osism/python-osism/osism/services/",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/services/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/services/event_bridge.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/services/listener.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/services/websocket_manager.py",
                                "cd+++++++++ src/github.com/osism/python-osism/osism/tasks/",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/ansible.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/ceph.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/kolla.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/kubernetes.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/netbox.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/openstack.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/reconciler.py",
                                "cd+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/config.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/ironic.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/netbox.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/redfish.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/utils.py",
                                "cd+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/bgp.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/cache.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/config_generator.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/connections.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/constants.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/device.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/exporter.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/interface.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/sync.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/validator.py",
                                "cd+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/_generated/",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/_generated/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/_generated/_leafrefs.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/tasks/conductor/sonic/_generated/_schemas.py",
                                "cd+++++++++ src/github.com/osism/python-osism/osism/utils/",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/utils/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/utils/http.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/utils/inventory.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/utils/mariadb.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/utils/rabbitmq.py",
                                "<f+++++++++ src/github.com/osism/python-osism/osism/utils/ssh.py",
                                "cd+++++++++ src/github.com/osism/python-osism/playbooks/",
                                "<f+++++++++ src/github.com/osism/python-osism/playbooks/build.yml",
                                "<f+++++++++ src/github.com/osism/python-osism/playbooks/pre.yml",
                                "<f+++++++++ src/github.com/osism/python-osism/playbooks/test-integration.yml",
                                "<f+++++++++ src/github.com/osism/python-osism/playbooks/test-setup.yml",
                                "<f+++++++++ src/github.com/osism/python-osism/playbooks/test-unit.yml",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/conftest.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/e2e/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/e2e/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/e2e/compare.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/e2e/compose.yaml",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/e2e/deploy_netbox.sh",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/e2e/generate.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/e2e/sonic_golden_test.sh",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/integration/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/conftest.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_api_facts.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_api_websocket.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_celery.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_celery_lifecycle.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_event_bridge.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_facts.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_host_context_resolution.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_locking.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_rabbitmq_addresses.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_redis_streams.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_semaphore.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/test_vault.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/integration/worker_tasks.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/unit/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_api_endpoints.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_api_helpers.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_main.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_settings.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/test_smoke.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/unit/commands/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/_helpers.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_amphora.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_apply.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_baremetal.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_check.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_compose.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_compute.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_configuration.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_console.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_container.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_get.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_loadbalancer.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_lock.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_log.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_manage_commands.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_manage_validators.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_manage_wiring.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_migrate.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_netbox.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_noset.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_octavia.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_openstack.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_reconciler.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_redfish.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_report.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_reset.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_server.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_service.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_set.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_sonic.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_sonic_ssh.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_sonic_validate.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_status.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_stress.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_sync.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_task.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_validate.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_vault.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_volume.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_wait.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/commands/test_worker.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/unit/data/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/data/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/data/test_enums.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/data/test_playbooks.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/data/test_releases.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/unit/e2e/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/e2e/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/e2e/test_compare.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/e2e/test_generate.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/unit/services/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/services/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/services/test_event_bridge.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/services/test_listener.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/services/test_websocket_manager.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conftest.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_config.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_init.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_netbox.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_openstack_baremetal.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_openstack_env.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_openstack_managers.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/test_task_wrappers.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_config.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_ironic_helpers.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_ironic_sync.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_netbox.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_redfish.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/test_utils.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/_config_generator_helpers.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/_detection_helpers.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/conftest.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_bgp.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_breakout_detection.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_cache.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_bgp_vlan_vrf.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_ctrlplane_acls.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_dns.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_log.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_metalbox_cache.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_ntp.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_orchestrator.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_ownership.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_ports.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_config_generator_snmp.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_connections.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_constants.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_device.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_exporter.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_interface_conversion.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_port_channel_detection.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_sync.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_validator.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/tasks/conductor/sonic/test_validator_artifacts.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tests/unit/utils/",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/__init__.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_http.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_init_connections.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_init_locks.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_init_semaphore.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_init_task_output.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_inventory.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_mariadb.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_rabbitmq.py",
                                "<f+++++++++ src/github.com/osism/python-osism/tests/unit/utils/test_ssh.py",
                                "cd+++++++++ src/github.com/osism/python-osism/tools/",
                                "<f+++++++++ src/github.com/osism/python-osism/tools/sonic_yang_to_pydantic.py"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-00000000002d",
                        "name": "prepare-workspace-log",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/prepare-workspace-log"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:45.868557Z",
                            "start": "2026-09-10T10:22:43.159327Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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-636e-8d8e-000000000032",
                        "name": "ensure-output-dirs-present",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/ensure-output-dirs-present"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:46.822030Z",
                            "start": "2026-09-10T10:22:45.886305Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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-636e-8d8e-000000000037",
                        "name": "diagnose-first-sudo",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-first-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:47.139466Z",
                            "start": "2026-09-10T10:22:46.836614Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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.069416",
                            "end": "2026-09-10 10:22:47.547610",
                            "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-636e-8d8e-00000000003a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 10:22:47.478194",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-636e-8d8e-00000000003a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000037",
                        "name": "diagnose-first-sudo",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-first-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:47.683424Z",
                            "start": "2026-09-10T10:22:47.171811Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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.122860",
                            "end": "2026-09-10 10:22:48.103980",
                            "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-636e-8d8e-00000000003b-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 10:22:47.981120",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-636e-8d8e-00000000003b-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-000000000037",
                        "name": "diagnose-first-sudo",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-first-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:48.213659Z",
                            "start": "2026-09-10T10:22:47.702842Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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-636e-8d8e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:22:48.585819Z",
                            "start": "2026-09-10T10:22:48.230919Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-00000000003f",
                        "name": "Ensure log directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "ansible_job_id": "j707852832877.1098",
                            "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:08.362955",
                            "end": "2026-09-10 10:22:57.748213",
                            "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-636e-8d8e-000000000040-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "results_file": "/home/zuul/.ansible_async/j707852832877.1098",
                            "start": "2026-09-10 10:22:49.385258",
                            "started": 1,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-636e-8d8e-000000000040-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:00.357893Z",
                            "start": "2026-09-10T10:22:48.593284Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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-636e-8d8e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:00.476964Z",
                            "start": "2026-09-10T10:23:00.362512Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-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-636e-8d8e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:00.637954Z",
                            "start": "2026-09-10T10:23:00.483023Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000042",
                        "name": "Probe container network namespace (teardown)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "changed": false,
                            "cmd": "set +e\nset -o pipefail\nnet=/home/zuul/zuul-output/logs/net-debug.pre.txt\nsud=/home/zuul/zuul-output/logs/sudo-debug.txt\n\nemit() {\n  echo \"$1\"\n  {\n    echo \"== isolation gate ==\"\n    echo \"$1\"\n  } >> \"$net\" 2>/dev/null\n  exit 0\n}\n\n[ -s \"$sud\" ]  || emit \"VERDICT=unknown reason=no-sudo-debug-snapshot\"\n\n# (A) Raw-IP reachability, independent of DNS. Three targets, one\n#     packet each; the role above writes one summary line per target.\nprobes=$(grep -cE '[0-9]+% packet loss' \"$sud\")\nlost=$(grep -cE '100% packet loss' \"$sud\")\n[ \"$probes\" -ge 3 ]  || emit \"VERDICT=unknown reason=too-few-ping-probes probes=$probes\"\n[ \"$lost\" -eq \"$probes\" ]  || emit \"VERDICT=healthy reason=ping-answered lost=$lost/$probes\"\n\n# (B) Cost of resolving the hostname of the node itself.\ngetent=$(awk '/^getent: /{print $2; exit}' \"$sud\" 2>/dev/null)\n[ -n \"$getent\" ]  || emit \"VERDICT=unknown reason=no-getent-timing\"\nslow=$(awk -v g=\"$getent\" -v t=5.0  'BEGIN {print (g + 0 >= t + 0) ? 1 : 0}')\n[ \"$slow\" = 1 ]  || emit \"VERDICT=unknown reason=ping-dead-but-dns-fast getent=${getent}s\"\n\n# (C) Veto only: if any HTTPS probe above got a response, the node\n#     has egress whatever ping and DNS say. Absent or truncated file\n#     cannot block the verdict -- it just cannot veto it.\nanswered=$(grep -cE 'http=[1-5][0-9]{2}' \"$net\" 2>/dev/null)\n[ \"${answered:-0}\" -eq 0 ]  || emit \"VERDICT=healthy reason=https-answered answered=$answered\"\n\nemit \"VERDICT=isolated ping_lost=$lost/$probes getent=${getent}s\"\n",
                            "delta": "0:00:00.013696",
                            "end": "2026-09-10 10:23:01.003510",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set +e\nset -o pipefail\nnet=/home/zuul/zuul-output/logs/net-debug.pre.txt\nsud=/home/zuul/zuul-output/logs/sudo-debug.txt\n\nemit() {\n  echo \"$1\"\n  {\n    echo \"== isolation gate ==\"\n    echo \"$1\"\n  } >> \"$net\" 2>/dev/null\n  exit 0\n}\n\n[ -s \"$sud\" ]  || emit \"VERDICT=unknown reason=no-sudo-debug-snapshot\"\n\n# (A) Raw-IP reachability, independent of DNS. Three targets, one\n#     packet each; the role above writes one summary line per target.\nprobes=$(grep -cE '[0-9]+% packet loss' \"$sud\")\nlost=$(grep -cE '100% packet loss' \"$sud\")\n[ \"$probes\" -ge 3 ]  || emit \"VERDICT=unknown reason=too-few-ping-probes probes=$probes\"\n[ \"$lost\" -eq \"$probes\" ]  || emit \"VERDICT=healthy reason=ping-answered lost=$lost/$probes\"\n\n# (B) Cost of resolving the hostname of the node itself.\ngetent=$(awk '/^getent: /{print $2; exit}' \"$sud\" 2>/dev/null)\n[ -n \"$getent\" ]  || emit \"VERDICT=unknown reason=no-getent-timing\"\nslow=$(awk -v g=\"$getent\" -v t=5.0  'BEGIN {print (g + 0 >= t + 0) ? 1 : 0}')\n[ \"$slow\" = 1 ]  || emit \"VERDICT=unknown reason=ping-dead-but-dns-fast getent=${getent}s\"\n\n# (C) Veto only: if any HTTPS probe above got a response, the node\n#     has egress whatever ping and DNS say. Absent or truncated file\n#     cannot block the verdict -- it just cannot veto it.\nanswered=$(grep -cE 'http=[1-5][0-9]{2}' \"$net\" 2>/dev/null)\n[ \"${answered:-0}\" -eq 0 ]  || emit \"VERDICT=healthy reason=https-answered answered=$answered\"\n\nemit \"VERDICT=isolated ping_lost=$lost/$probes getent=${getent}s\"\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-636e-8d8e-000000000043-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 10:23:00.989814",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "VERDICT=healthy reason=ping-answered lost=0/3",
                            "stdout_lines": [
                                "VERDICT=healthy reason=ping-answered lost=0/3"
                            ],
                            "zuul_log_id": "0242ac1f-6606-636e-8d8e-000000000043-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:01.201607Z",
                            "start": "2026-09-10T10:23:00.679638Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000043",
                        "name": "Evaluate node isolation verdict (pre-run gate)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.fail",
                            "changed": false,
                            "false_condition": "'VERDICT=isolated' in diagnose_network_gate_verdict.stdout",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-636e-8d8e-00000000003d",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:01.349410Z",
                            "start": "2026-09-10T10:23:01.206996Z"
                        },
                        "id": "0242ac1f-6606-636e-8d8e-000000000044",
                        "name": "Abort the pre-run on a fully isolated node"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 12,
            "failures": 0,
            "ignored": 0,
            "ok": 33,
            "rescued": 0,
            "skipped": 6,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/osism/zuul-jobs/playbooks/mypy/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T10:25:19.292094Z",
                    "start": "2026-09-10T10:23:02.892977Z"
                },
                "id": "0242ac1f-6606-8064-1fa1-000000000002",
                "name": "Run mypy"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.include_role",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "include_args": {
                                        "name": "{{ item }}"
                                    },
                                    "item": "ensure-python"
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "include_args": {
                                        "name": "{{ item }}"
                                    },
                                    "item": "ensure-pip"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-8064-1fa1-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_0/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:02.938787Z",
                            "start": "2026-09-10T10:23:02.905691Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000007",
                        "name": "Install python"
                    }
                },
                {
                    "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-8064-1fa1-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.015922Z",
                            "start": "2026-09-10T10:23:02.992919Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000041",
                        "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-8064-1fa1-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.054050Z",
                            "start": "2026-09-10T10:23:03.021232Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000043",
                        "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-8064-1fa1-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.081365Z",
                            "start": "2026-09-10T10:23:03.058728Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000044",
                        "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-8064-1fa1-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.128983Z",
                            "start": "2026-09-10T10:23:03.086076Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000046",
                        "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-8064-1fa1-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.156877Z",
                            "start": "2026-09-10T10:23:03.134051Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000047",
                        "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-8064-1fa1-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.186312Z",
                            "start": "2026-09-10T10:23:03.163290Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000048",
                        "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-8064-1fa1-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.213868Z",
                            "start": "2026-09-10T10:23:03.190827Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-00000000004a",
                        "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-8064-1fa1-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.261935Z",
                            "start": "2026-09-10T10:23:03.218229Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-00000000004b",
                        "name": "Activate python using stow"
                    }
                },
                {
                    "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.008713",
                            "end": "2026-09-10 10:23:03.701450",
                            "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-8064-1fa1-000000000070-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-09-10 10:23:03.692737",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-8064-1fa1-000000000070-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.806045Z",
                            "start": "2026-09-10T10:23:03.295272Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000070",
                        "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/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip/tasks/Debian.yaml",
                                    "include_args": {},
                                    "zj_distro_os": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip/tasks/Debian.yaml"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:03.850689Z",
                            "start": "2026-09-10T10:23:03.816564Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000071",
                        "name": "Install pip from packages"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "apt",
                            "cache_update_time": 1789035787,
                            "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-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:08.706368Z",
                            "start": "2026-09-10T10:23:03.863858Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-0000000000bf",
                        "name": "Update package lists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "cache_update_time": 1789035787,
                            "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 (17.4 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 ... 27779 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 (17.4 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 ... 27779 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-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:15.186051Z",
                            "start": "2026-09-10T10:23:08.714601Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-0000000000c0",
                        "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-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:15.268864Z",
                            "start": "2026-09-10T10:23:15.193792Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-0000000000c1",
                        "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-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:15.301177Z",
                            "start": "2026-09-10T10:23:15.276370Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000076",
                        "name": "Ensure setuptools"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "python3",
                                "-m",
                                "ensurepip",
                                "--help"
                            ],
                            "delta": "0:00:00.109961",
                            "end": "2026-09-10 10:23:15.738789",
                            "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-8064-1fa1-000000000077-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 10:23:15.628828",
                            "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-8064-1fa1-000000000077-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:15.850875Z",
                            "start": "2026-09-10T10:23:15.333876Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000077",
                        "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-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:15.889657Z",
                            "start": "2026-09-10T10:23:15.864280Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000078",
                        "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-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:15.921114Z",
                            "start": "2026-09-10T10:23:15.895590Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000079",
                        "name": "Install pip from source"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v python3\n",
                            "delta": "0:00:00.008373",
                            "end": "2026-09-10 10:23:16.270020",
                            "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-8064-1fa1-00000000007a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 10:23:16.261647",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/python3",
                            "stdout_lines": [
                                "/usr/bin/python3"
                            ],
                            "zuul_log_id": "0242ac1f-6606-8064-1fa1-00000000007a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:16.458650Z",
                            "start": "2026-09-10T10:23:15.947947Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-00000000007a",
                        "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-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:16.538916Z",
                            "start": "2026-09-10T10:23:16.466188Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-00000000007b",
                        "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-8064-1fa1-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:16.607010Z",
                            "start": "2026-09-10T10:23:16.545214Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-00000000007c",
                        "name": "Set ensure_pip_virtualenv_command"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.pip",
                            "changed": true,
                            "cmd": [
                                "/tmp/venv/bin/pip3",
                                "install",
                                "mypy==1.20.2"
                            ],
                            "invocation": {
                                "module_args": {
                                    "chdir": null,
                                    "editable": false,
                                    "executable": null,
                                    "extra_args": null,
                                    "name": [
                                        "mypy==1.20.2"
                                    ],
                                    "requirements": null,
                                    "state": "present",
                                    "umask": null,
                                    "version": null,
                                    "virtualenv": "/tmp/venv",
                                    "virtualenv_command": "python3 -m venv",
                                    "virtualenv_python": null,
                                    "virtualenv_site_packages": false
                                }
                            },
                            "name": [
                                "mypy==1.20.2"
                            ],
                            "requirements": null,
                            "state": "present",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Collecting mypy==1.20.2\n  Downloading mypy-1.20.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (14.6 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 14.6/14.6 MB 29.7 MB/s eta 0:00:00\nCollecting typing_extensions>=4.6.0\n  Downloading typing_extensions-4.16.0-py3-none-any.whl (45 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 45.6/45.6 kB 5.0 MB/s eta 0:00:00\nCollecting mypy_extensions>=1.0.0\n  Downloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)\nCollecting pathspec>=1.0.0\n  Downloading pathspec-1.1.1-py3-none-any.whl (57 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 57.3/57.3 kB 4.2 MB/s eta 0:00:00\nCollecting librt>=0.8.0\n  Downloading librt-0.15.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (516 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 516.0/516.0 kB 29.9 MB/s eta 0:00:00\nInstalling collected packages: typing_extensions, pathspec, mypy_extensions, librt, mypy\nSuccessfully installed librt-0.15.0 mypy-1.20.2 mypy_extensions-1.1.0 pathspec-1.1.1 typing_extensions-4.16.0\n",
                            "stdout_lines": [
                                "Collecting mypy==1.20.2",
                                "  Downloading mypy-1.20.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (14.6 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 14.6/14.6 MB 29.7 MB/s eta 0:00:00",
                                "Collecting typing_extensions>=4.6.0",
                                "  Downloading typing_extensions-4.16.0-py3-none-any.whl (45 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 45.6/45.6 kB 5.0 MB/s eta 0:00:00",
                                "Collecting mypy_extensions>=1.0.0",
                                "  Downloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)",
                                "Collecting pathspec>=1.0.0",
                                "  Downloading pathspec-1.1.1-py3-none-any.whl (57 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 57.3/57.3 kB 4.2 MB/s eta 0:00:00",
                                "Collecting librt>=0.8.0",
                                "  Downloading librt-0.15.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (516 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 516.0/516.0 kB 29.9 MB/s eta 0:00:00",
                                "Installing collected packages: typing_extensions, pathspec, mypy_extensions, librt, mypy",
                                "Successfully installed librt-0.15.0 mypy-1.20.2 mypy_extensions-1.1.0 pathspec-1.1.1 typing_extensions-4.16.0"
                            ],
                            "version": null,
                            "virtualenv": "/tmp/venv"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-8064-1fa1-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_0/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:23:28.066699Z",
                            "start": "2026-09-10T10:23:16.647656Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000008",
                        "name": "Install mypy"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.pip",
                            "changed": true,
                            "cmd": [
                                "/tmp/venv/bin/pip3",
                                "install",
                                "-r",
                                "requirements.txt"
                            ],
                            "invocation": {
                                "module_args": {
                                    "chdir": "src/github.com/osism/python-osism",
                                    "editable": false,
                                    "executable": null,
                                    "extra_args": null,
                                    "name": null,
                                    "requirements": "requirements.txt",
                                    "state": "present",
                                    "umask": null,
                                    "version": null,
                                    "virtualenv": "/tmp/venv",
                                    "virtualenv_command": "virtualenv",
                                    "virtualenv_python": null,
                                    "virtualenv_site_packages": false
                                }
                            },
                            "name": null,
                            "requirements": "requirements.txt",
                            "state": "present",
                            "stderr": "  DEPRECATION: polling is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559\n",
                            "stderr_lines": [
                                "  DEPRECATION: polling is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559"
                            ],
                            "stdout": "Collecting ClusterShell==1.10.1\n  Downloading clustershell-1.10.1-py3-none-any.whl (219 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 219.4/219.4 kB 4.4 MB/s eta 0:00:00\nCollecting boto3==1.43.88\n  Downloading boto3-1.43.88-py3-none-any.whl (140 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 140.0/140.0 kB 8.1 MB/s eta 0:00:00\nCollecting GitPython==3.1.61\n  Downloading gitpython-3.1.61-py3-none-any.whl (222 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 222.1/222.1 kB 8.7 MB/s eta 0:00:00\nCollecting Jinja2==3.1.6\n  Downloading jinja2-3.1.6-py3-none-any.whl (134 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 134.9/134.9 kB 12.2 MB/s eta 0:00:00\nCollecting PyMySQL==1.2.0\n  Downloading pymysql-1.2.0-py3-none-any.whl (45 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 45.7/45.7 kB 4.8 MB/s eta 0:00:00\nCollecting PyYAML==6.0.3\n  Downloading 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 806.6/806.6 kB 11.1 MB/s eta 0:00:00\nCollecting ara==1.8.0\n  Downloading ara-1.8.0-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.2/470.2 kB 13.1 MB/s eta 0:00:00\nCollecting celery[redis]==5.6.3\n  Downloading celery-5.6.3-py3-none-any.whl (451 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 451.2/451.2 kB 12.4 MB/s eta 0:00:00\nCollecting cliff==4.16.0\n  Downloading cliff-4.16.0-py3-none-any.whl (86 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 86.9/86.9 kB 12.1 MB/s eta 0:00:00\nCollecting deepdiff==9.1.0\n  Downloading deepdiff-9.1.0-py3-none-any.whl (184 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 184.7/184.7 kB 15.8 MB/s eta 0:00:00\nCollecting docker==7.2.0\n  Downloading docker-7.2.0-py3-none-any.whl (148 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 148.8/148.8 kB 16.1 MB/s eta 0:00:00\nCollecting dtrack-auditor==1.5.0\n  Downloading dtrack_auditor-1.5.0-py3-none-any.whl (30 kB)\nCollecting fastapi==0.141.1\n  Downloading fastapi-0.141.1-py3-none-any.whl (131 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 132.0/132.0 kB 14.3 MB/s eta 0:00:00\nCollecting flower==2.1.0\n  Downloading flower-2.1.0-py2.py3-none-any.whl (404 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 404.6/404.6 kB 15.6 MB/s eta 0:00:00\nCollecting hiredis==3.4.1\n  Downloading hiredis-3.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (310 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 310.8/310.8 kB 18.0 MB/s eta 0:00:00\nCollecting jc==1.25.7\n  Downloading jc-1.25.7-py3-none-any.whl (705 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 705.6/705.6 kB 19.5 MB/s eta 0:00:00\nCollecting keystoneauth1==5.17.0\n  Downloading keystoneauth1-5.17.0-py3-none-any.whl (366 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 366.0/366.0 kB 18.3 MB/s eta 0:00:00\nCollecting kombu==5.6.2\n  Downloading kombu-5.6.2-py3-none-any.whl (214 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 214.2/214.2 kB 21.1 MB/s eta 0:00:00\nCollecting kubernetes==36.0.3\n  Downloading kubernetes-36.0.3-py2.py3-none-any.whl (4.6 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.6/4.6 MB 26.1 MB/s eta 0:00:00\nCollecting loguru==0.7.3\n  Downloading loguru-0.7.3-py3-none-any.whl (61 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 61.6/61.6 kB 7.4 MB/s eta 0:00:00\nCollecting nbcli==0.10.0.dev2\n  Downloading nbcli-0.10.0.dev2-py3-none-any.whl (41 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 41.9/41.9 kB 4.9 MB/s eta 0:00:00\nCollecting openstacksdk==4.20.0\n  Downloading openstacksdk-4.20.0-py3-none-any.whl (2.0 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.0/2.0 MB 32.6 MB/s eta 0:00:00\nCollecting paramiko==5.0.0\n  Downloading paramiko-5.0.0-py3-none-any.whl (208 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 208.9/208.9 kB 26.6 MB/s eta 0:00:00\nCollecting pottery==3.0.1\n  Downloading pottery-3.0.1-py3-none-any.whl (69 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 69.4/69.4 kB 9.5 MB/s eta 0:00:00\nCollecting prompt-toolkit==3.0.53\n  Downloading prompt_toolkit-3.0.53-py3-none-any.whl (392 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 392.3/392.3 kB 35.4 MB/s eta 0:00:00\nCollecting pynetbox==7.8.0\n  Downloading pynetbox-7.8.0-py3-none-any.whl (54 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 54.3/54.3 kB 7.0 MB/s eta 0:00:00\nCollecting pytest-testinfra==10.2.2\n  Downloading pytest_testinfra-10.2.2-py3-none-any.whl (76 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 76.9/76.9 kB 10.2 MB/s eta 0:00:00\nCollecting python-dateutil==2.9.0.post0\n  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 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 229.9/229.9 kB 25.8 MB/s eta 0:00:00\nCollecting python-openstackclient==10.3.0\n  Downloading python_openstackclient-10.3.0-py3-none-any.whl (1.3 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.3/1.3 MB 36.8 MB/s eta 0:00:00\nCollecting redfish==3.4.0\n  Downloading redfish-3.4.0-py3-none-any.whl (51 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 51.4/51.4 kB 4.6 MB/s eta 0:00:00\nCollecting setuptools==84.0.0\n  Downloading setuptools-84.0.0-py3-none-any.whl (818 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 818.2/818.2 kB 31.1 MB/s eta 0:00:00\nCollecting sqlmodel==0.0.42\n  Downloading sqlmodel-0.0.42-py3-none-any.whl (29 kB)\nCollecting sushy==5.13.0\n  Downloading sushy-5.13.0-py3-none-any.whl (447 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 447.5/447.5 kB 39.3 MB/s eta 0:00:00\nCollecting tabulate==0.10.0\n  Downloading tabulate-0.10.0-py3-none-any.whl (39 kB)\nCollecting transitions==0.9.3\n  Downloading transitions-0.9.3-py2.py3-none-any.whl (112 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 112.8/112.8 kB 10.9 MB/s eta 0:00:00\nCollecting uvicorn[standard]==0.52.4\n  Downloading uvicorn-0.52.4-py3-none-any.whl (79 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 79.9/79.9 kB 10.1 MB/s eta 0:00:00\nCollecting validators==0.35.0\n  Downloading validators-0.35.0-py3-none-any.whl (44 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 44.7/44.7 kB 4.9 MB/s eta 0:00:00\nCollecting watchdog==6.0.0\n  Downloading watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl (79 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 79.1/79.1 kB 7.7 MB/s eta 0:00:00\nCollecting websockets==17.1\n  Downloading websockets-17.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (224 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 224.3/224.3 kB 29.5 MB/s eta 0:00:00\nCollecting botocore<1.44.0,>=1.43.88\n  Downloading botocore-1.43.91-py3-none-any.whl (15.8 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 15.8/15.8 MB 41.3 MB/s eta 0:00:00\nCollecting jmespath<2.0.0,>=0.7.1\n  Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)\nCollecting s3transfer<0.20.0,>=0.19.0\n  Downloading s3transfer-0.19.2-py3-none-any.whl (90 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 90.2/90.2 kB 13.8 MB/s eta 0:00:00\nCollecting gitdb<5,>=4.0.1\n  Downloading gitdb-4.0.12-py3-none-any.whl (62 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 62.8/62.8 kB 8.7 MB/s eta 0:00:00\nCollecting MarkupSafe>=2.0\n  Downloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)\nCollecting requests>=2.14.2\n  Downloading requests-2.34.2-py3-none-any.whl (73 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 73.1/73.1 kB 10.0 MB/s eta 0:00:00\nCollecting billiard<5.0,>=4.2.1\n  Downloading billiard-4.2.4-py3-none-any.whl (87 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 87.1/87.1 kB 6.8 MB/s eta 0:00:00\nCollecting vine<6.0,>=5.1.0\n  Downloading vine-5.1.0-py3-none-any.whl (9.6 kB)\nCollecting click<9.0,>=8.1.2\n  Downloading click-8.5.0-py3-none-any.whl (125 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 125.3/125.3 kB 14.2 MB/s eta 0:00:00\nCollecting click-didyoumean>=0.3.0\n  Downloading click_didyoumean-0.3.1-py3-none-any.whl (3.6 kB)\nCollecting click-repl>=0.2.0\n  Downloading click_repl-0.3.0-py3-none-any.whl (10 kB)\nCollecting click-plugins>=1.1.1\n  Downloading click_plugins-1.1.1.2-py2.py3-none-any.whl (11 kB)\nCollecting tzlocal\n  Downloading tzlocal-5.4.4-py3-none-any.whl (18 kB)\nCollecting autopage>=0.4.0\n  Downloading autopage-0.6.0-py3-none-any.whl (30 kB)\nCollecting cmd2>=4.0.0\n  Downloading cmd2-4.2.4-py3-none-any.whl (196 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 196.4/196.4 kB 20.5 MB/s eta 0:00:00\nCollecting PrettyTable>=0.7.2\n  Downloading prettytable-3.18.0-py3-none-any.whl (37 kB)\nCollecting stevedore>=5.6.0\n  Downloading stevedore-5.9.1-py3-none-any.whl (54 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 54.9/54.9 kB 7.5 MB/s eta 0:00:00\nCollecting cachebox<6,>=5.2\n  Downloading cachebox-5.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (395 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 395.8/395.8 kB 30.8 MB/s eta 0:00:00\nCollecting orderly-set<6,>=5.5.0\n  Downloading orderly_set-5.5.0-py3-none-any.whl (13 kB)\nCollecting urllib3>=1.26.0\n  Downloading urllib3-2.7.0-py3-none-any.whl (131 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 131.1/131.1 kB 17.8 MB/s eta 0:00:00\nCollecting polling\n  Downloading polling-0.3.2.tar.gz (5.2 kB)\n  Preparing metadata (setup.py): started\n  Preparing metadata (setup.py): finished with status 'done'\nCollecting certifi\n  Downloading certifi-2026.7.22-py3-none-any.whl (136 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 137.0/137.0 kB 17.4 MB/s eta 0:00:00\nCollecting starlette>=0.46.0\n  Downloading starlette-1.6.0-py3-none-any.whl (75 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 76.0/76.0 kB 7.7 MB/s eta 0:00:00\nCollecting pydantic>=2.9.0\n  Downloading pydantic-2.13.5-py3-none-any.whl (472 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 472.6/472.6 kB 41.6 MB/s eta 0:00:00\nRequirement already satisfied: typing-extensions>=4.8.0 in /tmp/venv/lib/python3.11/site-packages (from fastapi==0.141.1->-r requirements.txt (line 13)) (4.16.0)\nCollecting typing-inspection>=0.4.2\n  Downloading typing_inspection-0.4.4-py3-none-any.whl (14 kB)\nCollecting annotated-doc>=0.0.2\n  Downloading annotated_doc-0.0.5-py3-none-any.whl (5.3 kB)\nCollecting tornado<7.0.0,>=6.5.7\n  Downloading tornado-6.5.8-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (450 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 450.7/450.7 kB 40.4 MB/s eta 0:00:00\nCollecting prometheus_client>=0.8.0\n  Downloading prometheus_client-0.26.0-py3-none-any.whl (64 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 64.5/64.5 kB 9.0 MB/s eta 0:00:00\nCollecting humanize\n  Downloading humanize-4.16.0-py3-none-any.whl (137 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 137.2/137.2 kB 19.7 MB/s eta 0:00:00\nCollecting pytz\n  Downloading pytz-2026.3.post1-py2.py3-none-any.whl (508 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 508.3/508.3 kB 37.9 MB/s eta 0:00:00\nCollecting ruamel.yaml>=0.15.0\n  Downloading ruamel_yaml-0.19.1-py3-none-any.whl (118 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 118.1/118.1 kB 15.8 MB/s eta 0:00:00\nCollecting xmltodict>=0.12.0\n  Downloading xmltodict-1.0.4-py3-none-any.whl (13 kB)\nCollecting Pygments>=2.3.0\n  Downloading pygments-2.21.0-py3-none-any.whl (1.3 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.3/1.3 MB 39.9 MB/s eta 0:00:00\nCollecting iso8601>=2.0.0\n  Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB)\nCollecting os-service-types>=1.2.0\n  Downloading os_service_types-1.9.0-py3-none-any.whl (25 kB)\nCollecting amqp<6.0.0,>=5.1.1\n  Downloading amqp-5.3.1-py3-none-any.whl (50 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 50.9/50.9 kB 6.4 MB/s eta 0:00:00\nCollecting tzdata>=2025.2\n  Downloading tzdata-2026.3-py2.py3-none-any.whl (348 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 348.2/348.2 kB 35.8 MB/s eta 0:00:00\nCollecting packaging\n  Downloading packaging-26.3-py3-none-any.whl (129 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 130.0/130.0 kB 15.5 MB/s eta 0:00:00\nCollecting six>=1.9.0\n  Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n  Downloading websocket_client-1.9.2-py3-none-any.whl (95 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 95.8/95.8 kB 11.8 MB/s eta 0:00:00\nCollecting requests-oauthlib\n  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)\nCollecting durationpy>=0.7\n  Downloading durationpy-0.11-py3-none-any.whl (4.1 kB)\nCollecting aiohttp<4.0.0,>=3.13.5\n  Downloading aiohttp-3.14.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.8 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.8/1.8 MB 40.6 MB/s eta 0:00:00\nCollecting cryptography>=2.7\n  Downloading cryptography-50.0.1-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 48.1 MB/s eta 0:00:00\nCollecting decorator>=4.4.1\n  Downloading decorator-5.3.1-py3-none-any.whl (10 kB)\nCollecting dogpile.cache>=0.6.5\n  Downloading dogpile_cache-1.5.0-py3-none-any.whl (64 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 64.4/64.4 kB 10.1 MB/s eta 0:00:00\nCollecting jsonpatch!=1.20,>=1.16\n  Downloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB)\nCollecting pbr!=2.1.0,>=2.0.0\n  Downloading pbr-7.0.3-py2.py3-none-any.whl (131 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 131.9/131.9 kB 19.8 MB/s eta 0:00:00\nCollecting platformdirs>=3\n  Downloading platformdirs-4.11.8-py3-none-any.whl (24 kB)\nCollecting psutil>=3.2.2\n  Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 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 155.6/155.6 kB 22.3 MB/s eta 0:00:00\nCollecting bcrypt>=3.2\n  Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (278 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 278.2/278.2 kB 25.5 MB/s eta 0:00:00\nCollecting invoke>=2.0\n  Downloading invoke-3.0.3-py3-none-any.whl (160 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 161.0/161.0 kB 20.9 MB/s eta 0:00:00\nCollecting pynacl>=1.5\n  Downloading 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.8 MB/s eta 0:00:00\nCollecting redis>=4.2.0rc1\n  Downloading redis-8.1.0-py3-none-any.whl (560 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 560.6/560.6 kB 36.7 MB/s eta 0:00:00\nCollecting mmh3\n  Downloading mmh3-5.3.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (102 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 103.0/103.0 kB 12.6 MB/s eta 0:00:00\nCollecting wcwidth>=0.1.4\n  Downloading wcwidth-0.8.3-py3-none-any.whl (331 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 331.7/331.7 kB 31.9 MB/s eta 0:00:00\nCollecting pytest>=6\n  Downloading pytest-9.1.1-py3-none-any.whl (386 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 386.5/386.5 kB 34.8 MB/s eta 0:00:00\nCollecting osc-lib>=4.6.0\n  Downloading osc_lib-4.7.0-py3-none-any.whl (97 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 97.3/97.3 kB 11.8 MB/s eta 0:00:00\nCollecting oslo.i18n>=3.15.3\n  Downloading oslo_i18n-6.9.0-py3-none-any.whl (47 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 47.8/47.8 kB 5.5 MB/s eta 0:00:00\nCollecting python-keystoneclient>=3.22.0\n  Downloading python_keystoneclient-6.0.0-py3-none-any.whl (397 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 397.0/397.0 kB 33.8 MB/s eta 0:00:00\nCollecting python-manilaclient>=6.0.0\n  Downloading python_manilaclient-6.3.0-py3-none-any.whl (416 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 416.1/416.1 kB 18.3 MB/s eta 0:00:00\nCollecting jsonpath_ng\n  Downloading jsonpath_ng-1.8.0-py3-none-any.whl (67 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 67.8/67.8 kB 8.2 MB/s eta 0:00:00\nCollecting jsonpointer\n  Downloading jsonpointer-3.1.1-py3-none-any.whl (7.7 kB)\nCollecting requests_toolbelt\n  Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 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 54.5/54.5 kB 6.6 MB/s eta 0:00:00\nCollecting requests-unixsocket\n  Downloading requests_unixsocket-0.4.1-py3-none-any.whl (11 kB)\nCollecting SQLAlchemy<2.1.0,>=2.0.14\n  Downloading sqlalchemy-2.0.52-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.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 3.4/3.4 MB 47.0 MB/s eta 0:00:00\nCollecting h11>=0.8\n  Downloading h11-0.16.0-py3-none-any.whl (37 kB)\nCollecting httptools>=0.8.0\n  Downloading httptools-0.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (464 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 464.7/464.7 kB 41.3 MB/s eta 0:00:00\nCollecting python-dotenv>=0.13\n  Downloading python_dotenv-1.2.3-py3-none-any.whl (22 kB)\nCollecting uvloop>=0.15.1\n  Downloading uvloop-0.22.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.8 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 3.8/3.8 MB 47.3 MB/s eta 0:00:00\nCollecting watchfiles>=0.20\n  Downloading watchfiles-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (456 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 456.9/456.9 kB 30.3 MB/s eta 0:00:00\nCollecting aiohappyeyeballs>=2.5.0\n  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)\nCollecting aiosignal>=1.4.0\n  Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)\nCollecting attrs>=17.3.0\n  Downloading attrs-26.1.0-py3-none-any.whl (67 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 67.5/67.5 kB 8.7 MB/s eta 0:00:00\nCollecting frozenlist>=1.1.1\n  Downloading frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (231 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 231.1/231.1 kB 25.5 MB/s eta 0:00:00\nCollecting multidict<7.0,>=4.5\n  Downloading multidict-6.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (272 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 272.6/272.6 kB 23.2 MB/s eta 0:00:00\nCollecting propcache>=0.2.0\n  Downloading propcache-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (58 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 58.9/58.9 kB 7.8 MB/s eta 0:00:00\nCollecting yarl<2.0,>=1.17.0\n  Downloading yarl-1.24.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (111 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 111.9/111.9 kB 10.1 MB/s eta 0:00:00\nCollecting pyperclip>=1.8.2\n  Downloading pyperclip-1.11.0-py3-none-any.whl (11 kB)\nCollecting rich>=15.0.0\n  Downloading rich-15.0.0-py3-none-any.whl (310 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 310.7/310.7 kB 33.0 MB/s eta 0:00:00\nCollecting rich-argparse>=1.7.2\n  Downloading rich_argparse-1.8.0-py3-none-any.whl (25 kB)\nCollecting cffi>=2.0.0\n  Downloading cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.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 217.8/217.8 kB 25.8 MB/s eta 0:00:00\nCollecting smmap<6,>=3.0.1\n  Downloading smmap-5.0.3-py3-none-any.whl (24 kB)\nCollecting oslo.utils>=3.33.0\n  Downloading oslo_utils-10.2.0-py3-none-any.whl (154 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 154.4/154.4 kB 22.5 MB/s eta 0:00:00\nCollecting annotated-types>=0.6.0\n  Downloading annotated_types-0.8.0-py3-none-any.whl (13 kB)\nCollecting pydantic-core==2.46.5\n  Downloading pydantic_core-2.46.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.1/2.1 MB 45.3 MB/s eta 0:00:00\nCollecting iniconfig>=1.0.1\n  Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB)\nCollecting pluggy<2,>=1.5\n  Downloading pluggy-1.6.0-py3-none-any.whl (20 kB)\nCollecting debtcollector>=1.2.0\n  Downloading debtcollector-3.1.0-py3-none-any.whl (24 kB)\nCollecting oslo.config>=5.2.0\n  Downloading oslo_config-10.7.0-py3-none-any.whl (143 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 143.8/143.8 kB 19.8 MB/s eta 0:00:00\nCollecting oslo.serialization>=2.18.0\n  Downloading oslo_serialization-5.11.0-py3-none-any.whl (27 kB)\nCollecting oslo.log>=3.36.0\n  Downloading oslo_log-8.3.1-py3-none-any.whl (77 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 77.3/77.3 kB 11.2 MB/s eta 0:00:00\nCollecting async-timeout>=4.0.3\n  Downloading async_timeout-5.0.1-py3-none-any.whl (6.2 kB)\nCollecting charset_normalizer<4,>=2\n  Downloading charset_normalizer-3.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (262 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 262.3/262.3 kB 27.3 MB/s eta 0:00:00\nCollecting idna<4,>=2.5\n  Downloading idna-3.19-py3-none-any.whl (68 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 68.5/68.5 kB 10.1 MB/s eta 0:00:00\nCollecting greenlet>=1\n  Downloading greenlet-3.5.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (624 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 624.6/624.6 kB 27.5 MB/s eta 0:00:00\nCollecting anyio<5,>=3.6.2\n  Downloading anyio-4.15.1-py3-none-any.whl (132 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 132.1/132.1 kB 7.1 MB/s eta 0:00:00\nCollecting backports-zstd>=1.0.0\n  Downloading backports_zstd-1.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (493 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 493.1/493.1 kB 39.4 MB/s eta 0:00:00\nCollecting redis>=4.2.0rc1\n  Downloading redis-6.4.0-py3-none-any.whl (279 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 279.8/279.8 kB 20.2 MB/s eta 0:00:00\nCollecting oauthlib>=3.0.0\n  Downloading oauthlib-3.3.1-py3-none-any.whl (160 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 160.1/160.1 kB 20.5 MB/s eta 0:00:00\nCollecting pycparser\n  Downloading pycparser-3.0-py3-none-any.whl (48 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 48.2/48.2 kB 6.2 MB/s eta 0:00:00\nCollecting wrapt>=2.1.0\n  Downloading wrapt-2.4.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.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 217.8/217.8 kB 19.1 MB/s eta 0:00:00\nCollecting netaddr>=0.7.18\n  Downloading netaddr-1.3.0-py3-none-any.whl (2.3 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.3/2.3 MB 48.7 MB/s eta 0:00:00\nCollecting rfc3986>=1.2.0\n  Downloading rfc3986-2.0.0-py2.py3-none-any.whl (31 kB)\nCollecting oslo.context>=2.21.0\n  Downloading oslo_context-6.5.0-py3-none-any.whl (20 kB)\nCollecting msgpack>=0.5.2\n  Downloading msgpack-1.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (422 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 422.9/422.9 kB 38.3 MB/s eta 0:00:00\nCollecting pyparsing>=2.1.0\n  Downloading pyparsing-3.3.2-py3-none-any.whl (122 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 122.8/122.8 kB 17.2 MB/s eta 0:00:00\nCollecting markdown-it-py>=2.2.0\n  Downloading markdown_it_py-4.2.0-py3-none-any.whl (91 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 91.7/91.7 kB 11.1 MB/s eta 0:00:00\nCollecting mdurl~=0.1\n  Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\nInstalling collected packages: pytz, pyperclip, polling, jsonpath_ng, durationpy, xmltodict, wrapt, websockets, websocket-client, wcwidth, watchdog, vine, validators, uvloop, urllib3, tzlocal, tzdata, typing-inspection, tornado, tabulate, stevedore, smmap, six, setuptools, ruamel.yaml, rfc3986, PyYAML, python-dotenv, pyparsing, PyMySQL, Pygments, pydantic-core, pycparser, psutil, propcache, prometheus_client, pluggy, platformdirs, packaging, orderly-set, oauthlib, netaddr, multidict, msgpack, mmh3, mdurl, MarkupSafe, loguru, jsonpointer, jmespath, iso8601, invoke, iniconfig, idna, humanize, httptools, hiredis, h11, greenlet, frozenlist, decorator, click, charset_normalizer, certifi, cachebox, billiard, bcrypt, backports-zstd, autopage, attrs, async-timeout, annotated-types, annotated-doc, aiohappyeyeballs, yarl, uvicorn, transitions, SQLAlchemy, requests, redis, python-dateutil, pytest, pydantic, prompt-toolkit, PrettyTable, pbr, markdown-it-py, jsonpatch, Jinja2, jc, gitdb, dogpile.cache, deepdiff, debtcollector, ClusterShell, click-plugins, click-didyoumean, cffi, anyio, amqp, aiosignal, watchfiles, sushy, starlette, sqlmodel, rich, requests-unixsocket, requests_toolbelt, requests-oauthlib, pytest-testinfra, pynetbox, pynacl, pottery, oslo.i18n, oslo.context, os-service-types, kombu, GitPython, dtrack-auditor, docker, cryptography, click-repl, botocore, aiohttp, s3transfer, rich-argparse, redfish, paramiko, oslo.utils, oslo.config, nbcli, kubernetes, keystoneauth1, fastapi, celery, oslo.serialization, openstacksdk, flower, cmd2, boto3, python-keystoneclient, oslo.log, cliff, osc-lib, ara, python-manilaclient, python-openstackclient\n  Running setup.py install for polling: started\n  Running setup.py install for polling: finished with status 'done'\n  Attempting uninstall: setuptools\n    Found existing installation: setuptools 66.1.1\n    Uninstalling setuptools-66.1.1:\n      Successfully uninstalled setuptools-66.1.1\nSuccessfully installed ClusterShell-1.10.1 GitPython-3.1.61 Jinja2-3.1.6 MarkupSafe-3.0.3 PrettyTable-3.18.0 PyMySQL-1.2.0 PyYAML-6.0.3 Pygments-2.21.0 SQLAlchemy-2.0.52 aiohappyeyeballs-2.7.1 aiohttp-3.14.3 aiosignal-1.4.0 amqp-5.3.1 annotated-doc-0.0.5 annotated-types-0.8.0 anyio-4.15.1 ara-1.8.0 async-timeout-5.0.1 attrs-26.1.0 autopage-0.6.0 backports-zstd-1.7.0 bcrypt-5.0.0 billiard-4.2.4 boto3-1.43.88 botocore-1.43.91 cachebox-5.2.3 celery-5.6.3 certifi-2026.7.22 cffi-2.1.1 charset_normalizer-3.5.1 click-8.5.0 click-didyoumean-0.3.1 click-plugins-1.1.1.2 click-repl-0.3.0 cliff-4.16.0 cmd2-4.2.4 cryptography-50.0.1 debtcollector-3.1.0 decorator-5.3.1 deepdiff-9.1.0 docker-7.2.0 dogpile.cache-1.5.0 dtrack-auditor-1.5.0 durationpy-0.11 fastapi-0.141.1 flower-2.1.0 frozenlist-1.8.0 gitdb-4.0.12 greenlet-3.5.5 h11-0.16.0 hiredis-3.4.1 httptools-0.8.0 humanize-4.16.0 idna-3.19 iniconfig-2.3.0 invoke-3.0.3 iso8601-2.1.0 jc-1.25.7 jmespath-1.1.0 jsonpatch-1.33 jsonpath_ng-1.8.0 jsonpointer-3.1.1 keystoneauth1-5.17.0 kombu-5.6.2 kubernetes-36.0.3 loguru-0.7.3 markdown-it-py-4.2.0 mdurl-0.1.2 mmh3-5.3.0 msgpack-1.2.2 multidict-6.8.0 nbcli-0.10.0.dev2 netaddr-1.3.0 oauthlib-3.3.1 openstacksdk-4.20.0 orderly-set-5.5.0 os-service-types-1.9.0 osc-lib-4.7.0 oslo.config-10.7.0 oslo.context-6.5.0 oslo.i18n-6.9.0 oslo.log-8.3.1 oslo.serialization-5.11.0 oslo.utils-10.2.0 packaging-26.3 paramiko-5.0.0 pbr-7.0.3 platformdirs-4.11.8 pluggy-1.6.0 polling-0.3.2 pottery-3.0.1 prometheus_client-0.26.0 prompt-toolkit-3.0.53 propcache-0.5.2 psutil-7.2.2 pycparser-3.0 pydantic-2.13.5 pydantic-core-2.46.5 pynacl-1.6.2 pynetbox-7.8.0 pyparsing-3.3.2 pyperclip-1.11.0 pytest-9.1.1 pytest-testinfra-10.2.2 python-dateutil-2.9.0.post0 python-dotenv-1.2.3 python-keystoneclient-6.0.0 python-manilaclient-6.3.0 python-openstackclient-10.3.0 pytz-2026.3.post1 redfish-3.4.0 redis-6.4.0 requests-2.34.2 requests-oauthlib-2.0.0 requests-unixsocket-0.4.1 requests_toolbelt-1.0.0 rfc3986-2.0.0 rich-15.0.0 rich-argparse-1.8.0 ruamel.yaml-0.19.1 s3transfer-0.19.2 setuptools-84.0.0 six-1.17.0 smmap-5.0.3 sqlmodel-0.0.42 starlette-1.6.0 stevedore-5.9.1 sushy-5.13.0 tabulate-0.10.0 tornado-6.5.8 transitions-0.9.3 typing-inspection-0.4.4 tzdata-2026.3 tzlocal-5.4.4 urllib3-2.7.0 uvicorn-0.52.4 uvloop-0.22.1 validators-0.35.0 vine-5.1.0 watchdog-6.0.0 watchfiles-1.2.0 wcwidth-0.8.3 websocket-client-1.9.2 websockets-17.1 wrapt-2.4.0 xmltodict-1.0.4 yarl-1.24.5\n",
                            "stdout_lines": [
                                "Collecting ClusterShell==1.10.1",
                                "  Downloading clustershell-1.10.1-py3-none-any.whl (219 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 219.4/219.4 kB 4.4 MB/s eta 0:00:00",
                                "Collecting boto3==1.43.88",
                                "  Downloading boto3-1.43.88-py3-none-any.whl (140 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 140.0/140.0 kB 8.1 MB/s eta 0:00:00",
                                "Collecting GitPython==3.1.61",
                                "  Downloading gitpython-3.1.61-py3-none-any.whl (222 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 222.1/222.1 kB 8.7 MB/s eta 0:00:00",
                                "Collecting Jinja2==3.1.6",
                                "  Downloading jinja2-3.1.6-py3-none-any.whl (134 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 134.9/134.9 kB 12.2 MB/s eta 0:00:00",
                                "Collecting PyMySQL==1.2.0",
                                "  Downloading pymysql-1.2.0-py3-none-any.whl (45 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 45.7/45.7 kB 4.8 MB/s eta 0:00:00",
                                "Collecting PyYAML==6.0.3",
                                "  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 806.6/806.6 kB 11.1 MB/s eta 0:00:00",
                                "Collecting ara==1.8.0",
                                "  Downloading ara-1.8.0-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.2/470.2 kB 13.1 MB/s eta 0:00:00",
                                "Collecting celery[redis]==5.6.3",
                                "  Downloading celery-5.6.3-py3-none-any.whl (451 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 451.2/451.2 kB 12.4 MB/s eta 0:00:00",
                                "Collecting cliff==4.16.0",
                                "  Downloading cliff-4.16.0-py3-none-any.whl (86 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 86.9/86.9 kB 12.1 MB/s eta 0:00:00",
                                "Collecting deepdiff==9.1.0",
                                "  Downloading deepdiff-9.1.0-py3-none-any.whl (184 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 184.7/184.7 kB 15.8 MB/s eta 0:00:00",
                                "Collecting docker==7.2.0",
                                "  Downloading docker-7.2.0-py3-none-any.whl (148 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 148.8/148.8 kB 16.1 MB/s eta 0:00:00",
                                "Collecting dtrack-auditor==1.5.0",
                                "  Downloading dtrack_auditor-1.5.0-py3-none-any.whl (30 kB)",
                                "Collecting fastapi==0.141.1",
                                "  Downloading fastapi-0.141.1-py3-none-any.whl (131 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 132.0/132.0 kB 14.3 MB/s eta 0:00:00",
                                "Collecting flower==2.1.0",
                                "  Downloading flower-2.1.0-py2.py3-none-any.whl (404 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 404.6/404.6 kB 15.6 MB/s eta 0:00:00",
                                "Collecting hiredis==3.4.1",
                                "  Downloading hiredis-3.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (310 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 310.8/310.8 kB 18.0 MB/s eta 0:00:00",
                                "Collecting jc==1.25.7",
                                "  Downloading jc-1.25.7-py3-none-any.whl (705 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 705.6/705.6 kB 19.5 MB/s eta 0:00:00",
                                "Collecting keystoneauth1==5.17.0",
                                "  Downloading keystoneauth1-5.17.0-py3-none-any.whl (366 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 366.0/366.0 kB 18.3 MB/s eta 0:00:00",
                                "Collecting kombu==5.6.2",
                                "  Downloading kombu-5.6.2-py3-none-any.whl (214 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 214.2/214.2 kB 21.1 MB/s eta 0:00:00",
                                "Collecting kubernetes==36.0.3",
                                "  Downloading kubernetes-36.0.3-py2.py3-none-any.whl (4.6 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.6/4.6 MB 26.1 MB/s eta 0:00:00",
                                "Collecting loguru==0.7.3",
                                "  Downloading loguru-0.7.3-py3-none-any.whl (61 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 61.6/61.6 kB 7.4 MB/s eta 0:00:00",
                                "Collecting nbcli==0.10.0.dev2",
                                "  Downloading nbcli-0.10.0.dev2-py3-none-any.whl (41 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 41.9/41.9 kB 4.9 MB/s eta 0:00:00",
                                "Collecting openstacksdk==4.20.0",
                                "  Downloading openstacksdk-4.20.0-py3-none-any.whl (2.0 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.0/2.0 MB 32.6 MB/s eta 0:00:00",
                                "Collecting paramiko==5.0.0",
                                "  Downloading paramiko-5.0.0-py3-none-any.whl (208 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 208.9/208.9 kB 26.6 MB/s eta 0:00:00",
                                "Collecting pottery==3.0.1",
                                "  Downloading pottery-3.0.1-py3-none-any.whl (69 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 69.4/69.4 kB 9.5 MB/s eta 0:00:00",
                                "Collecting prompt-toolkit==3.0.53",
                                "  Downloading prompt_toolkit-3.0.53-py3-none-any.whl (392 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 392.3/392.3 kB 35.4 MB/s eta 0:00:00",
                                "Collecting pynetbox==7.8.0",
                                "  Downloading pynetbox-7.8.0-py3-none-any.whl (54 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 54.3/54.3 kB 7.0 MB/s eta 0:00:00",
                                "Collecting pytest-testinfra==10.2.2",
                                "  Downloading pytest_testinfra-10.2.2-py3-none-any.whl (76 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 76.9/76.9 kB 10.2 MB/s eta 0:00:00",
                                "Collecting python-dateutil==2.9.0.post0",
                                "  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 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 229.9/229.9 kB 25.8 MB/s eta 0:00:00",
                                "Collecting python-openstackclient==10.3.0",
                                "  Downloading python_openstackclient-10.3.0-py3-none-any.whl (1.3 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.3/1.3 MB 36.8 MB/s eta 0:00:00",
                                "Collecting redfish==3.4.0",
                                "  Downloading redfish-3.4.0-py3-none-any.whl (51 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 51.4/51.4 kB 4.6 MB/s eta 0:00:00",
                                "Collecting setuptools==84.0.0",
                                "  Downloading setuptools-84.0.0-py3-none-any.whl (818 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 818.2/818.2 kB 31.1 MB/s eta 0:00:00",
                                "Collecting sqlmodel==0.0.42",
                                "  Downloading sqlmodel-0.0.42-py3-none-any.whl (29 kB)",
                                "Collecting sushy==5.13.0",
                                "  Downloading sushy-5.13.0-py3-none-any.whl (447 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 447.5/447.5 kB 39.3 MB/s eta 0:00:00",
                                "Collecting tabulate==0.10.0",
                                "  Downloading tabulate-0.10.0-py3-none-any.whl (39 kB)",
                                "Collecting transitions==0.9.3",
                                "  Downloading transitions-0.9.3-py2.py3-none-any.whl (112 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 112.8/112.8 kB 10.9 MB/s eta 0:00:00",
                                "Collecting uvicorn[standard]==0.52.4",
                                "  Downloading uvicorn-0.52.4-py3-none-any.whl (79 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 79.9/79.9 kB 10.1 MB/s eta 0:00:00",
                                "Collecting validators==0.35.0",
                                "  Downloading validators-0.35.0-py3-none-any.whl (44 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 44.7/44.7 kB 4.9 MB/s eta 0:00:00",
                                "Collecting watchdog==6.0.0",
                                "  Downloading watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl (79 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 79.1/79.1 kB 7.7 MB/s eta 0:00:00",
                                "Collecting websockets==17.1",
                                "  Downloading websockets-17.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (224 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 224.3/224.3 kB 29.5 MB/s eta 0:00:00",
                                "Collecting botocore<1.44.0,>=1.43.88",
                                "  Downloading botocore-1.43.91-py3-none-any.whl (15.8 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 15.8/15.8 MB 41.3 MB/s eta 0:00:00",
                                "Collecting jmespath<2.0.0,>=0.7.1",
                                "  Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)",
                                "Collecting s3transfer<0.20.0,>=0.19.0",
                                "  Downloading s3transfer-0.19.2-py3-none-any.whl (90 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 90.2/90.2 kB 13.8 MB/s eta 0:00:00",
                                "Collecting gitdb<5,>=4.0.1",
                                "  Downloading gitdb-4.0.12-py3-none-any.whl (62 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 62.8/62.8 kB 8.7 MB/s eta 0:00:00",
                                "Collecting MarkupSafe>=2.0",
                                "  Downloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)",
                                "Collecting requests>=2.14.2",
                                "  Downloading requests-2.34.2-py3-none-any.whl (73 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 73.1/73.1 kB 10.0 MB/s eta 0:00:00",
                                "Collecting billiard<5.0,>=4.2.1",
                                "  Downloading billiard-4.2.4-py3-none-any.whl (87 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 87.1/87.1 kB 6.8 MB/s eta 0:00:00",
                                "Collecting vine<6.0,>=5.1.0",
                                "  Downloading vine-5.1.0-py3-none-any.whl (9.6 kB)",
                                "Collecting click<9.0,>=8.1.2",
                                "  Downloading click-8.5.0-py3-none-any.whl (125 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 125.3/125.3 kB 14.2 MB/s eta 0:00:00",
                                "Collecting click-didyoumean>=0.3.0",
                                "  Downloading click_didyoumean-0.3.1-py3-none-any.whl (3.6 kB)",
                                "Collecting click-repl>=0.2.0",
                                "  Downloading click_repl-0.3.0-py3-none-any.whl (10 kB)",
                                "Collecting click-plugins>=1.1.1",
                                "  Downloading click_plugins-1.1.1.2-py2.py3-none-any.whl (11 kB)",
                                "Collecting tzlocal",
                                "  Downloading tzlocal-5.4.4-py3-none-any.whl (18 kB)",
                                "Collecting autopage>=0.4.0",
                                "  Downloading autopage-0.6.0-py3-none-any.whl (30 kB)",
                                "Collecting cmd2>=4.0.0",
                                "  Downloading cmd2-4.2.4-py3-none-any.whl (196 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 196.4/196.4 kB 20.5 MB/s eta 0:00:00",
                                "Collecting PrettyTable>=0.7.2",
                                "  Downloading prettytable-3.18.0-py3-none-any.whl (37 kB)",
                                "Collecting stevedore>=5.6.0",
                                "  Downloading stevedore-5.9.1-py3-none-any.whl (54 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 54.9/54.9 kB 7.5 MB/s eta 0:00:00",
                                "Collecting cachebox<6,>=5.2",
                                "  Downloading cachebox-5.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (395 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 395.8/395.8 kB 30.8 MB/s eta 0:00:00",
                                "Collecting orderly-set<6,>=5.5.0",
                                "  Downloading orderly_set-5.5.0-py3-none-any.whl (13 kB)",
                                "Collecting urllib3>=1.26.0",
                                "  Downloading urllib3-2.7.0-py3-none-any.whl (131 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 131.1/131.1 kB 17.8 MB/s eta 0:00:00",
                                "Collecting polling",
                                "  Downloading polling-0.3.2.tar.gz (5.2 kB)",
                                "  Preparing metadata (setup.py): started",
                                "  Preparing metadata (setup.py): finished with status 'done'",
                                "Collecting certifi",
                                "  Downloading certifi-2026.7.22-py3-none-any.whl (136 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 137.0/137.0 kB 17.4 MB/s eta 0:00:00",
                                "Collecting starlette>=0.46.0",
                                "  Downloading starlette-1.6.0-py3-none-any.whl (75 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 76.0/76.0 kB 7.7 MB/s eta 0:00:00",
                                "Collecting pydantic>=2.9.0",
                                "  Downloading pydantic-2.13.5-py3-none-any.whl (472 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 472.6/472.6 kB 41.6 MB/s eta 0:00:00",
                                "Requirement already satisfied: typing-extensions>=4.8.0 in /tmp/venv/lib/python3.11/site-packages (from fastapi==0.141.1->-r requirements.txt (line 13)) (4.16.0)",
                                "Collecting typing-inspection>=0.4.2",
                                "  Downloading typing_inspection-0.4.4-py3-none-any.whl (14 kB)",
                                "Collecting annotated-doc>=0.0.2",
                                "  Downloading annotated_doc-0.0.5-py3-none-any.whl (5.3 kB)",
                                "Collecting tornado<7.0.0,>=6.5.7",
                                "  Downloading tornado-6.5.8-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (450 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 450.7/450.7 kB 40.4 MB/s eta 0:00:00",
                                "Collecting prometheus_client>=0.8.0",
                                "  Downloading prometheus_client-0.26.0-py3-none-any.whl (64 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 64.5/64.5 kB 9.0 MB/s eta 0:00:00",
                                "Collecting humanize",
                                "  Downloading humanize-4.16.0-py3-none-any.whl (137 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 137.2/137.2 kB 19.7 MB/s eta 0:00:00",
                                "Collecting pytz",
                                "  Downloading pytz-2026.3.post1-py2.py3-none-any.whl (508 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 508.3/508.3 kB 37.9 MB/s eta 0:00:00",
                                "Collecting ruamel.yaml>=0.15.0",
                                "  Downloading ruamel_yaml-0.19.1-py3-none-any.whl (118 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 118.1/118.1 kB 15.8 MB/s eta 0:00:00",
                                "Collecting xmltodict>=0.12.0",
                                "  Downloading xmltodict-1.0.4-py3-none-any.whl (13 kB)",
                                "Collecting Pygments>=2.3.0",
                                "  Downloading pygments-2.21.0-py3-none-any.whl (1.3 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.3/1.3 MB 39.9 MB/s eta 0:00:00",
                                "Collecting iso8601>=2.0.0",
                                "  Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB)",
                                "Collecting os-service-types>=1.2.0",
                                "  Downloading os_service_types-1.9.0-py3-none-any.whl (25 kB)",
                                "Collecting amqp<6.0.0,>=5.1.1",
                                "  Downloading amqp-5.3.1-py3-none-any.whl (50 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 50.9/50.9 kB 6.4 MB/s eta 0:00:00",
                                "Collecting tzdata>=2025.2",
                                "  Downloading tzdata-2026.3-py2.py3-none-any.whl (348 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 348.2/348.2 kB 35.8 MB/s eta 0:00:00",
                                "Collecting packaging",
                                "  Downloading packaging-26.3-py3-none-any.whl (129 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 130.0/130.0 kB 15.5 MB/s eta 0:00:00",
                                "Collecting six>=1.9.0",
                                "  Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)",
                                "Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0",
                                "  Downloading websocket_client-1.9.2-py3-none-any.whl (95 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 95.8/95.8 kB 11.8 MB/s eta 0:00:00",
                                "Collecting requests-oauthlib",
                                "  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)",
                                "Collecting durationpy>=0.7",
                                "  Downloading durationpy-0.11-py3-none-any.whl (4.1 kB)",
                                "Collecting aiohttp<4.0.0,>=3.13.5",
                                "  Downloading aiohttp-3.14.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.8 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.8/1.8 MB 40.6 MB/s eta 0:00:00",
                                "Collecting cryptography>=2.7",
                                "  Downloading cryptography-50.0.1-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 48.1 MB/s eta 0:00:00",
                                "Collecting decorator>=4.4.1",
                                "  Downloading decorator-5.3.1-py3-none-any.whl (10 kB)",
                                "Collecting dogpile.cache>=0.6.5",
                                "  Downloading dogpile_cache-1.5.0-py3-none-any.whl (64 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 64.4/64.4 kB 10.1 MB/s eta 0:00:00",
                                "Collecting jsonpatch!=1.20,>=1.16",
                                "  Downloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB)",
                                "Collecting pbr!=2.1.0,>=2.0.0",
                                "  Downloading pbr-7.0.3-py2.py3-none-any.whl (131 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 131.9/131.9 kB 19.8 MB/s eta 0:00:00",
                                "Collecting platformdirs>=3",
                                "  Downloading platformdirs-4.11.8-py3-none-any.whl (24 kB)",
                                "Collecting psutil>=3.2.2",
                                "  Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 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 155.6/155.6 kB 22.3 MB/s eta 0:00:00",
                                "Collecting bcrypt>=3.2",
                                "  Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (278 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 278.2/278.2 kB 25.5 MB/s eta 0:00:00",
                                "Collecting invoke>=2.0",
                                "  Downloading invoke-3.0.3-py3-none-any.whl (160 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 161.0/161.0 kB 20.9 MB/s eta 0:00:00",
                                "Collecting pynacl>=1.5",
                                "  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.8 MB/s eta 0:00:00",
                                "Collecting redis>=4.2.0rc1",
                                "  Downloading redis-8.1.0-py3-none-any.whl (560 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 560.6/560.6 kB 36.7 MB/s eta 0:00:00",
                                "Collecting mmh3",
                                "  Downloading mmh3-5.3.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (102 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 103.0/103.0 kB 12.6 MB/s eta 0:00:00",
                                "Collecting wcwidth>=0.1.4",
                                "  Downloading wcwidth-0.8.3-py3-none-any.whl (331 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 331.7/331.7 kB 31.9 MB/s eta 0:00:00",
                                "Collecting pytest>=6",
                                "  Downloading pytest-9.1.1-py3-none-any.whl (386 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 386.5/386.5 kB 34.8 MB/s eta 0:00:00",
                                "Collecting osc-lib>=4.6.0",
                                "  Downloading osc_lib-4.7.0-py3-none-any.whl (97 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 97.3/97.3 kB 11.8 MB/s eta 0:00:00",
                                "Collecting oslo.i18n>=3.15.3",
                                "  Downloading oslo_i18n-6.9.0-py3-none-any.whl (47 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 47.8/47.8 kB 5.5 MB/s eta 0:00:00",
                                "Collecting python-keystoneclient>=3.22.0",
                                "  Downloading python_keystoneclient-6.0.0-py3-none-any.whl (397 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 397.0/397.0 kB 33.8 MB/s eta 0:00:00",
                                "Collecting python-manilaclient>=6.0.0",
                                "  Downloading python_manilaclient-6.3.0-py3-none-any.whl (416 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 416.1/416.1 kB 18.3 MB/s eta 0:00:00",
                                "Collecting jsonpath_ng",
                                "  Downloading jsonpath_ng-1.8.0-py3-none-any.whl (67 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 67.8/67.8 kB 8.2 MB/s eta 0:00:00",
                                "Collecting jsonpointer",
                                "  Downloading jsonpointer-3.1.1-py3-none-any.whl (7.7 kB)",
                                "Collecting requests_toolbelt",
                                "  Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 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 54.5/54.5 kB 6.6 MB/s eta 0:00:00",
                                "Collecting requests-unixsocket",
                                "  Downloading requests_unixsocket-0.4.1-py3-none-any.whl (11 kB)",
                                "Collecting SQLAlchemy<2.1.0,>=2.0.14",
                                "  Downloading sqlalchemy-2.0.52-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.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 3.4/3.4 MB 47.0 MB/s eta 0:00:00",
                                "Collecting h11>=0.8",
                                "  Downloading h11-0.16.0-py3-none-any.whl (37 kB)",
                                "Collecting httptools>=0.8.0",
                                "  Downloading httptools-0.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (464 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 464.7/464.7 kB 41.3 MB/s eta 0:00:00",
                                "Collecting python-dotenv>=0.13",
                                "  Downloading python_dotenv-1.2.3-py3-none-any.whl (22 kB)",
                                "Collecting uvloop>=0.15.1",
                                "  Downloading uvloop-0.22.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.8 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 3.8/3.8 MB 47.3 MB/s eta 0:00:00",
                                "Collecting watchfiles>=0.20",
                                "  Downloading watchfiles-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (456 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 456.9/456.9 kB 30.3 MB/s eta 0:00:00",
                                "Collecting aiohappyeyeballs>=2.5.0",
                                "  Downloading aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)",
                                "Collecting aiosignal>=1.4.0",
                                "  Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)",
                                "Collecting attrs>=17.3.0",
                                "  Downloading attrs-26.1.0-py3-none-any.whl (67 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 67.5/67.5 kB 8.7 MB/s eta 0:00:00",
                                "Collecting frozenlist>=1.1.1",
                                "  Downloading frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (231 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 231.1/231.1 kB 25.5 MB/s eta 0:00:00",
                                "Collecting multidict<7.0,>=4.5",
                                "  Downloading multidict-6.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (272 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 272.6/272.6 kB 23.2 MB/s eta 0:00:00",
                                "Collecting propcache>=0.2.0",
                                "  Downloading propcache-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (58 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 58.9/58.9 kB 7.8 MB/s eta 0:00:00",
                                "Collecting yarl<2.0,>=1.17.0",
                                "  Downloading yarl-1.24.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (111 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 111.9/111.9 kB 10.1 MB/s eta 0:00:00",
                                "Collecting pyperclip>=1.8.2",
                                "  Downloading pyperclip-1.11.0-py3-none-any.whl (11 kB)",
                                "Collecting rich>=15.0.0",
                                "  Downloading rich-15.0.0-py3-none-any.whl (310 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 310.7/310.7 kB 33.0 MB/s eta 0:00:00",
                                "Collecting rich-argparse>=1.7.2",
                                "  Downloading rich_argparse-1.8.0-py3-none-any.whl (25 kB)",
                                "Collecting cffi>=2.0.0",
                                "  Downloading cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.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 217.8/217.8 kB 25.8 MB/s eta 0:00:00",
                                "Collecting smmap<6,>=3.0.1",
                                "  Downloading smmap-5.0.3-py3-none-any.whl (24 kB)",
                                "Collecting oslo.utils>=3.33.0",
                                "  Downloading oslo_utils-10.2.0-py3-none-any.whl (154 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 154.4/154.4 kB 22.5 MB/s eta 0:00:00",
                                "Collecting annotated-types>=0.6.0",
                                "  Downloading annotated_types-0.8.0-py3-none-any.whl (13 kB)",
                                "Collecting pydantic-core==2.46.5",
                                "  Downloading pydantic_core-2.46.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.1/2.1 MB 45.3 MB/s eta 0:00:00",
                                "Collecting iniconfig>=1.0.1",
                                "  Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB)",
                                "Collecting pluggy<2,>=1.5",
                                "  Downloading pluggy-1.6.0-py3-none-any.whl (20 kB)",
                                "Collecting debtcollector>=1.2.0",
                                "  Downloading debtcollector-3.1.0-py3-none-any.whl (24 kB)",
                                "Collecting oslo.config>=5.2.0",
                                "  Downloading oslo_config-10.7.0-py3-none-any.whl (143 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 143.8/143.8 kB 19.8 MB/s eta 0:00:00",
                                "Collecting oslo.serialization>=2.18.0",
                                "  Downloading oslo_serialization-5.11.0-py3-none-any.whl (27 kB)",
                                "Collecting oslo.log>=3.36.0",
                                "  Downloading oslo_log-8.3.1-py3-none-any.whl (77 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 77.3/77.3 kB 11.2 MB/s eta 0:00:00",
                                "Collecting async-timeout>=4.0.3",
                                "  Downloading async_timeout-5.0.1-py3-none-any.whl (6.2 kB)",
                                "Collecting charset_normalizer<4,>=2",
                                "  Downloading charset_normalizer-3.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (262 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 262.3/262.3 kB 27.3 MB/s eta 0:00:00",
                                "Collecting idna<4,>=2.5",
                                "  Downloading idna-3.19-py3-none-any.whl (68 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 68.5/68.5 kB 10.1 MB/s eta 0:00:00",
                                "Collecting greenlet>=1",
                                "  Downloading greenlet-3.5.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (624 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 624.6/624.6 kB 27.5 MB/s eta 0:00:00",
                                "Collecting anyio<5,>=3.6.2",
                                "  Downloading anyio-4.15.1-py3-none-any.whl (132 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 132.1/132.1 kB 7.1 MB/s eta 0:00:00",
                                "Collecting backports-zstd>=1.0.0",
                                "  Downloading backports_zstd-1.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (493 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 493.1/493.1 kB 39.4 MB/s eta 0:00:00",
                                "Collecting redis>=4.2.0rc1",
                                "  Downloading redis-6.4.0-py3-none-any.whl (279 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 279.8/279.8 kB 20.2 MB/s eta 0:00:00",
                                "Collecting oauthlib>=3.0.0",
                                "  Downloading oauthlib-3.3.1-py3-none-any.whl (160 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 160.1/160.1 kB 20.5 MB/s eta 0:00:00",
                                "Collecting pycparser",
                                "  Downloading pycparser-3.0-py3-none-any.whl (48 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 48.2/48.2 kB 6.2 MB/s eta 0:00:00",
                                "Collecting wrapt>=2.1.0",
                                "  Downloading wrapt-2.4.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.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 217.8/217.8 kB 19.1 MB/s eta 0:00:00",
                                "Collecting netaddr>=0.7.18",
                                "  Downloading netaddr-1.3.0-py3-none-any.whl (2.3 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.3/2.3 MB 48.7 MB/s eta 0:00:00",
                                "Collecting rfc3986>=1.2.0",
                                "  Downloading rfc3986-2.0.0-py2.py3-none-any.whl (31 kB)",
                                "Collecting oslo.context>=2.21.0",
                                "  Downloading oslo_context-6.5.0-py3-none-any.whl (20 kB)",
                                "Collecting msgpack>=0.5.2",
                                "  Downloading msgpack-1.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (422 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 422.9/422.9 kB 38.3 MB/s eta 0:00:00",
                                "Collecting pyparsing>=2.1.0",
                                "  Downloading pyparsing-3.3.2-py3-none-any.whl (122 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 122.8/122.8 kB 17.2 MB/s eta 0:00:00",
                                "Collecting markdown-it-py>=2.2.0",
                                "  Downloading markdown_it_py-4.2.0-py3-none-any.whl (91 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 91.7/91.7 kB 11.1 MB/s eta 0:00:00",
                                "Collecting mdurl~=0.1",
                                "  Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)",
                                "Installing collected packages: pytz, pyperclip, polling, jsonpath_ng, durationpy, xmltodict, wrapt, websockets, websocket-client, wcwidth, watchdog, vine, validators, uvloop, urllib3, tzlocal, tzdata, typing-inspection, tornado, tabulate, stevedore, smmap, six, setuptools, ruamel.yaml, rfc3986, PyYAML, python-dotenv, pyparsing, PyMySQL, Pygments, pydantic-core, pycparser, psutil, propcache, prometheus_client, pluggy, platformdirs, packaging, orderly-set, oauthlib, netaddr, multidict, msgpack, mmh3, mdurl, MarkupSafe, loguru, jsonpointer, jmespath, iso8601, invoke, iniconfig, idna, humanize, httptools, hiredis, h11, greenlet, frozenlist, decorator, click, charset_normalizer, certifi, cachebox, billiard, bcrypt, backports-zstd, autopage, attrs, async-timeout, annotated-types, annotated-doc, aiohappyeyeballs, yarl, uvicorn, transitions, SQLAlchemy, requests, redis, python-dateutil, pytest, pydantic, prompt-toolkit, PrettyTable, pbr, markdown-it-py, jsonpatch, Jinja2, jc, gitdb, dogpile.cache, deepdiff, debtcollector, ClusterShell, click-plugins, click-didyoumean, cffi, anyio, amqp, aiosignal, watchfiles, sushy, starlette, sqlmodel, rich, requests-unixsocket, requests_toolbelt, requests-oauthlib, pytest-testinfra, pynetbox, pynacl, pottery, oslo.i18n, oslo.context, os-service-types, kombu, GitPython, dtrack-auditor, docker, cryptography, click-repl, botocore, aiohttp, s3transfer, rich-argparse, redfish, paramiko, oslo.utils, oslo.config, nbcli, kubernetes, keystoneauth1, fastapi, celery, oslo.serialization, openstacksdk, flower, cmd2, boto3, python-keystoneclient, oslo.log, cliff, osc-lib, ara, python-manilaclient, python-openstackclient",
                                "  Running setup.py install for polling: started",
                                "  Running setup.py install for polling: finished with status 'done'",
                                "  Attempting uninstall: setuptools",
                                "    Found existing installation: setuptools 66.1.1",
                                "    Uninstalling setuptools-66.1.1:",
                                "      Successfully uninstalled setuptools-66.1.1",
                                "Successfully installed ClusterShell-1.10.1 GitPython-3.1.61 Jinja2-3.1.6 MarkupSafe-3.0.3 PrettyTable-3.18.0 PyMySQL-1.2.0 PyYAML-6.0.3 Pygments-2.21.0 SQLAlchemy-2.0.52 aiohappyeyeballs-2.7.1 aiohttp-3.14.3 aiosignal-1.4.0 amqp-5.3.1 annotated-doc-0.0.5 annotated-types-0.8.0 anyio-4.15.1 ara-1.8.0 async-timeout-5.0.1 attrs-26.1.0 autopage-0.6.0 backports-zstd-1.7.0 bcrypt-5.0.0 billiard-4.2.4 boto3-1.43.88 botocore-1.43.91 cachebox-5.2.3 celery-5.6.3 certifi-2026.7.22 cffi-2.1.1 charset_normalizer-3.5.1 click-8.5.0 click-didyoumean-0.3.1 click-plugins-1.1.1.2 click-repl-0.3.0 cliff-4.16.0 cmd2-4.2.4 cryptography-50.0.1 debtcollector-3.1.0 decorator-5.3.1 deepdiff-9.1.0 docker-7.2.0 dogpile.cache-1.5.0 dtrack-auditor-1.5.0 durationpy-0.11 fastapi-0.141.1 flower-2.1.0 frozenlist-1.8.0 gitdb-4.0.12 greenlet-3.5.5 h11-0.16.0 hiredis-3.4.1 httptools-0.8.0 humanize-4.16.0 idna-3.19 iniconfig-2.3.0 invoke-3.0.3 iso8601-2.1.0 jc-1.25.7 jmespath-1.1.0 jsonpatch-1.33 jsonpath_ng-1.8.0 jsonpointer-3.1.1 keystoneauth1-5.17.0 kombu-5.6.2 kubernetes-36.0.3 loguru-0.7.3 markdown-it-py-4.2.0 mdurl-0.1.2 mmh3-5.3.0 msgpack-1.2.2 multidict-6.8.0 nbcli-0.10.0.dev2 netaddr-1.3.0 oauthlib-3.3.1 openstacksdk-4.20.0 orderly-set-5.5.0 os-service-types-1.9.0 osc-lib-4.7.0 oslo.config-10.7.0 oslo.context-6.5.0 oslo.i18n-6.9.0 oslo.log-8.3.1 oslo.serialization-5.11.0 oslo.utils-10.2.0 packaging-26.3 paramiko-5.0.0 pbr-7.0.3 platformdirs-4.11.8 pluggy-1.6.0 polling-0.3.2 pottery-3.0.1 prometheus_client-0.26.0 prompt-toolkit-3.0.53 propcache-0.5.2 psutil-7.2.2 pycparser-3.0 pydantic-2.13.5 pydantic-core-2.46.5 pynacl-1.6.2 pynetbox-7.8.0 pyparsing-3.3.2 pyperclip-1.11.0 pytest-9.1.1 pytest-testinfra-10.2.2 python-dateutil-2.9.0.post0 python-dotenv-1.2.3 python-keystoneclient-6.0.0 python-manilaclient-6.3.0 python-openstackclient-10.3.0 pytz-2026.3.post1 redfish-3.4.0 redis-6.4.0 requests-2.34.2 requests-oauthlib-2.0.0 requests-unixsocket-0.4.1 requests_toolbelt-1.0.0 rfc3986-2.0.0 rich-15.0.0 rich-argparse-1.8.0 ruamel.yaml-0.19.1 s3transfer-0.19.2 setuptools-84.0.0 six-1.17.0 smmap-5.0.3 sqlmodel-0.0.42 starlette-1.6.0 stevedore-5.9.1 sushy-5.13.0 tabulate-0.10.0 tornado-6.5.8 transitions-0.9.3 typing-inspection-0.4.4 tzdata-2026.3 tzlocal-5.4.4 urllib3-2.7.0 uvicorn-0.52.4 uvloop-0.22.1 validators-0.35.0 vine-5.1.0 watchdog-6.0.0 watchfiles-1.2.0 wcwidth-0.8.3 websocket-client-1.9.2 websockets-17.1 wrapt-2.4.0 xmltodict-1.0.4 yarl-1.24.5"
                            ],
                            "version": null,
                            "virtualenv": "/tmp/venv"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-8064-1fa1-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_0/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:24:45.234562Z",
                            "start": "2026-09-10T10:23:28.074716Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-000000000009",
                        "name": "Install repo requirements"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.command",
                            "changed": false,
                            "cmd": [
                                "/tmp/venv/bin/python3",
                                "-m",
                                "mypy",
                                "--ignore-missing-imports",
                                "--install-types",
                                "--non-interactive",
                                "."
                            ],
                            "delta": "0:00:33.522996",
                            "end": "2026-09-10 10:25:19.102552",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/tmp/venv/bin/python3 -m mypy --ignore-missing-imports --install-types --non-interactive .",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/osism/python-osism",
                                    "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-8064-1fa1-00000000000a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-10 10:24:45.579556",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Collecting types-PyMySQL\n  Downloading types_pymysql-1.2.0.20260807-py3-none-any.whl (23 kB)\nCollecting types-PyYAML\n  Downloading types_pyyaml-6.0.12.20260906-py3-none-any.whl (21 kB)\nCollecting types-paramiko\n  Downloading types_paramiko-5.0.0.20260724-py3-none-any.whl (37 kB)\nCollecting types-python-dateutil\n  Downloading types_python_dateutil-2.9.0.20260807-py3-none-any.whl (18 kB)\nCollecting types-pytz\n  Downloading types_pytz-2026.3.1.20260727-py3-none-any.whl (10 kB)\nCollecting types-simplejson\n  Downloading types_simplejson-4.1.0.20260724-py3-none-any.whl (10 kB)\nCollecting types-tabulate\n  Downloading types_tabulate-0.10.0.20260508-py3-none-any.whl (8.1 kB)\nRequirement already satisfied: cryptography>=37.0.0 in /tmp/venv/lib/python3.11/site-packages (from types-paramiko) (50.0.1)\nRequirement already satisfied: cffi>=2.0.0 in /tmp/venv/lib/python3.11/site-packages (from cryptography>=37.0.0->types-paramiko) (2.1.1)\nRequirement already satisfied: pycparser in /tmp/venv/lib/python3.11/site-packages (from cffi>=2.0.0->cryptography>=37.0.0->types-paramiko) (3.0)\nInstalling collected packages: types-tabulate, types-simplejson, types-PyYAML, types-pytz, types-python-dateutil, types-PyMySQL, types-paramiko\nSuccessfully installed types-PyMySQL-1.2.0.20260807 types-PyYAML-6.0.12.20260906 types-paramiko-5.0.0.20260724 types-python-dateutil-2.9.0.20260807 types-pytz-2026.3.1.20260727 types-simplejson-4.1.0.20260724 types-tabulate-0.10.0.20260508\ntests/conftest.py:95: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\ntests/unit/test_settings.py:45: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/services/websocket_manager.py:87: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/services/websocket_manager.py:89: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/services/websocket_manager.py:91: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/services/websocket_manager.py:94: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/tasks/conductor/sonic/cache.py:16: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/services/listener.py:181: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/services/listener.py:182: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/services/listener.py:184: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/services/listener.py:185: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nosism/services/listener.py:488: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\ntests/unit/tasks/conductor/sonic/test_cache.py:342: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\ntests/unit/tasks/conductor/sonic/test_cache.py:397: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\ntests/unit/tasks/conductor/sonic/test_cache.py:436: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]\nInstalling missing stub packages:\n/tmp/venv/bin/python3 -m pip install types-PyMySQL types-PyYAML types-paramiko types-python-dateutil types-pytz types-simplejson types-tabulate\n\n\nSuccess: no issues found in 218 source files",
                            "stdout_lines": [
                                "Collecting types-PyMySQL",
                                "  Downloading types_pymysql-1.2.0.20260807-py3-none-any.whl (23 kB)",
                                "Collecting types-PyYAML",
                                "  Downloading types_pyyaml-6.0.12.20260906-py3-none-any.whl (21 kB)",
                                "Collecting types-paramiko",
                                "  Downloading types_paramiko-5.0.0.20260724-py3-none-any.whl (37 kB)",
                                "Collecting types-python-dateutil",
                                "  Downloading types_python_dateutil-2.9.0.20260807-py3-none-any.whl (18 kB)",
                                "Collecting types-pytz",
                                "  Downloading types_pytz-2026.3.1.20260727-py3-none-any.whl (10 kB)",
                                "Collecting types-simplejson",
                                "  Downloading types_simplejson-4.1.0.20260724-py3-none-any.whl (10 kB)",
                                "Collecting types-tabulate",
                                "  Downloading types_tabulate-0.10.0.20260508-py3-none-any.whl (8.1 kB)",
                                "Requirement already satisfied: cryptography>=37.0.0 in /tmp/venv/lib/python3.11/site-packages (from types-paramiko) (50.0.1)",
                                "Requirement already satisfied: cffi>=2.0.0 in /tmp/venv/lib/python3.11/site-packages (from cryptography>=37.0.0->types-paramiko) (2.1.1)",
                                "Requirement already satisfied: pycparser in /tmp/venv/lib/python3.11/site-packages (from cffi>=2.0.0->cryptography>=37.0.0->types-paramiko) (3.0)",
                                "Installing collected packages: types-tabulate, types-simplejson, types-PyYAML, types-pytz, types-python-dateutil, types-PyMySQL, types-paramiko",
                                "Successfully installed types-PyMySQL-1.2.0.20260807 types-PyYAML-6.0.12.20260906 types-paramiko-5.0.0.20260724 types-python-dateutil-2.9.0.20260807 types-pytz-2026.3.1.20260727 types-simplejson-4.1.0.20260724 types-tabulate-0.10.0.20260508",
                                "tests/conftest.py:95: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "tests/unit/test_settings.py:45: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/services/websocket_manager.py:87: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/services/websocket_manager.py:89: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/services/websocket_manager.py:91: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/services/websocket_manager.py:94: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/tasks/conductor/sonic/cache.py:16: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/services/listener.py:181: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/services/listener.py:182: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/services/listener.py:184: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/services/listener.py:185: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "osism/services/listener.py:488: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "tests/unit/tasks/conductor/sonic/test_cache.py:342: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "tests/unit/tasks/conductor/sonic/test_cache.py:397: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "tests/unit/tasks/conductor/sonic/test_cache.py:436: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]",
                                "Installing missing stub packages:",
                                "/tmp/venv/bin/python3 -m pip install types-PyMySQL types-PyYAML types-paramiko types-python-dateutil types-pytz types-simplejson types-tabulate",
                                "",
                                "",
                                "Success: no issues found in 218 source files"
                            ],
                            "zuul_log_id": "0242ac1f-6606-8064-1fa1-00000000000a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-8064-1fa1-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/untrusted/project_0/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:19.292094Z",
                            "start": "2026-09-10T10:24:45.264123Z"
                        },
                        "id": "0242ac1f-6606-8064-1fa1-00000000000a",
                        "name": "Run mypy"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 7,
            "failures": 0,
            "ignored": 0,
            "ok": 11,
            "rescued": 0,
            "skipped": 12,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/osism/zuul-config/playbooks/base/post-fetch.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T10:25:49.226305Z",
                    "start": "2026-09-10T10:25:20.164303Z"
                },
                "id": "0242ac1f-6606-128b-b072-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-128b-b072-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:20.668733Z",
                            "start": "2026-09-10T10:25:20.178470Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-000000000009",
                        "name": "Ensure log directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "ansible_job_id": "j442773064257.1883",
                            "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.076504",
                            "end": "2026-09-10 10:25:27.760025",
                            "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-128b-b072-00000000000a-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "results_file": "/home/zuul/.ansible_async/j442773064257.1883",
                            "start": "2026-09-10 10:25:21.683521",
                            "started": 1,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-128b-b072-00000000000a-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-128b-b072-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:32.565158Z",
                            "start": "2026-09-10T10:25:20.678024Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-00000000000a",
                        "name": "Snapshot dual-stack network state (post)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "ansible_job_id": "j439649909507.1989",
                            "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.009806",
                            "end": "2026-09-10 10:25:33.335655",
                            "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-128b-b072-00000000000b-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "results_file": "/home/zuul/.ansible_async/j439649909507.1989",
                            "start": "2026-09-10 10:25:33.325849",
                            "started": 1,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-128b-b072-00000000000b-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-128b-b072-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:38.815403Z",
                            "start": "2026-09-10T10:25:32.571912Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-00000000000b",
                        "name": "Snapshot Docker/BuildKit IPv6 config (teardown)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "ansible_job_id": "j25033771022.2024",
                            "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.010137",
                            "end": "2026-09-10 10:25:39.569977",
                            "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-128b-b072-00000000000c-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "results_file": "/home/zuul/.ansible_async/j25033771022.2024",
                            "start": "2026-09-10 10:25:39.559840",
                            "started": 1,
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-128b-b072-00000000000c-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-128b-b072-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:44.994428Z",
                            "start": "2026-09-10T10:25:38.823214Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-00000000000c",
                        "name": "Probe container network namespace (teardown)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "changed": false,
                            "false_condition": "diagnose_network_phase == \"pre\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-128b-b072-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:45.539711Z",
                            "start": "2026-09-10T10:25:45.027283Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-00000000000d",
                        "name": "Evaluate node isolation verdict (pre-run gate)"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.fail",
                            "changed": false,
                            "false_condition": "diagnose_network_phase == \"pre\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-128b-b072-000000000007",
                        "name": "diagnose-network",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-network"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:45.610797Z",
                            "start": "2026-09-10T10:25:45.553424Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-00000000000e",
                        "name": "Abort the pre-run on a fully isolated node"
                    }
                },
                {
                    "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-128b-b072-000000000010",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:45.678545Z",
                            "start": "2026-09-10T10:25:45.631715Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-000000000012",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-128b-b072-000000000010",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:45.741269Z",
                            "start": "2026-09-10T10:25:45.690896Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-000000000013",
                        "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/79fdfdbd850c49cf8c8bd60798e24c11/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-128b-b072-000000000010",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:46.595626Z",
                            "start": "2026-09-10T10:25:45.748868Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-000000000014",
                        "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:fe0d:242c]:/home/zuul/zuul-output/logs/' /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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:fe0d:242c]:/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/79fdfdbd850c49cf8c8bd60798e24c11/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:fe0d:242c]:/home/zuul/zuul-output/artifacts/' /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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:fe0d:242c]:/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/79fdfdbd850c49cf8c8bd60798e24c11/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:fe0d:242c]:/home/zuul/zuul-output/docs/' /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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:fe0d:242c]:/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/79fdfdbd850c49cf8c8bd60798e24c11/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-128b-b072-000000000010",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:48.523521Z",
                            "start": "2026-09-10T10:25:46.610513Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-000000000016",
                        "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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/artifacts/* /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.010238",
                                    "end": "2026-09-10 10:25:48.856158",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/artifacts/* /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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-09-10 10:25:48.845920",
                                    "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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/docs/* /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.009756",
                                    "end": "2026-09-10 10:25:49.182537",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/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/79fdfdbd850c49cf8c8bd60798e24c11/work/docs/* /var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/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-09-10 10:25:49.172781",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-128b-b072-000000000019",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:49.226305Z",
                            "start": "2026-09-10T10:25:48.539555Z"
                        },
                        "id": "0242ac1f-6606-128b-b072-00000000001b",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 8,
            "rescued": 0,
            "skipped": 3,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "1",
    "phase": "post",
    "playbook": "github.com/osism/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-10T10:25:50.840181Z",
                    "start": "2026-09-10T10:25:50.160885Z"
                },
                "id": "0242ac1f-6606-f46c-e27a-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCe/NOdPdzBpsw2dP/neVuR/o8veUZEtpTLz3Ril+PJi/zse8WH0t+8op+h9qRDnF8q4QQDO+cWcoEg+FZH4WZ6mZGTJs7QVPOP1mQbrQ7Ckd00OWFqzVzVeRQhH9G6BTdHlNiVqxacdu8JHxE0U0C5JLMprDka5a7TeAAvHmZX3MfKRRK9Fla5PQv5OrrjsVHKllSaGiNypdsNYImO+sgYPW2Q08ddwiXKAkyzsyTHZ615ZNPPqGFRQt4fVMR5GPQvSHF+8XRRsjYdemKvSbP9F9scrLGwtLtFDCF7XiFDWDNarO8rjb8M7xgJsvOSurib4i0WweHqiqfaVNqeiL0m29pYtun2QAubvSG/rqHnqK8GnHgaC3A57fD122gcNHBueGWEhLwpST0hKZpJdELAyg74KGy/sVw2mf2hZtGw0Xh1Lk3AZq7AT9EhoqRBpQ/VHgh7qwFqTS0Jmw4zOUQCtZ3sjnJ8oN5Q9ENKURLL2AqZqOg1KqRFNY73NtGvpsE= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQCe/NOdPdzBpsw2dP/neVuR/o8veUZEtpTLz3Ril+PJi/zse8WH0t+8op+h9qRDnF8q4QQDO+cWcoEg+FZH4WZ6mZGTJs7QVPOP1mQbrQ7Ckd00OWFqzVzVeRQhH9G6BTdHlNiVqxacdu8JHxE0U0C5JLMprDka5a7TeAAvHmZX3MfKRRK9Fla5PQv5OrrjsVHKllSaGiNypdsNYImO+sgYPW2Q08ddwiXKAkyzsyTHZ615ZNPPqGFRQt4fVMR5GPQvSHF+8XRRsjYdemKvSbP9F9scrLGwtLtFDCF7XiFDWDNarO8rjb8M7xgJsvOSurib4i0WweHqiqfaVNqeiL0m29pYtun2QAubvSG/rqHnqK8GnHgaC3A57fD122gcNHBueGWEhLwpST0hKZpJdELAyg74KGy/sVw2mf2hZtGw0Xh1Lk3AZq7AT9EhoqRBpQ/VHgh7qwFqTS0Jmw4zOUQCtZ3sjnJ8oN5Q9ENKURLL2AqZqOg1KqRFNY73NtGvpsE= 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-f46c-e27a-000000000005",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/79fdfdbd850c49cf8c8bd60798e24c11/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-10T10:25:50.840181Z",
                            "start": "2026-09-10T10:25:50.175558Z"
                        },
                        "id": "0242ac1f-6606-f46c-e27a-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
}
]
