[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/osism/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-29T03:08:45.070128Z",
                    "start": "2026-03-29T03:08:28.004437Z"
                },
                "id": "0242ac1f-6606-3cf2-8ce1-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-3cf2-8ce1-00000000000a",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:28.039669Z",
                            "start": "2026-03-29T03:08:28.019435Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000000c",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "a81/osism/a819268f046c442592e76cec6d7fb3ea"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000087",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:28.082820Z",
                            "start": "2026-03-29T03:08:28.053819Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000089",
                        "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: periodic-daily\nExecutor: 521e9411259a\nTriggered by: https://github.com/osism/python-osism\nEvent ID: f7f4bb50e3f8446892d89352869cb1d5\n"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000000a",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:28.131409Z",
                            "start": "2026-03-29T03:08:28.092636Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000000d",
                        "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.13\nProvider: regiocloud-a\nRegion: \nLabel: debian-bookworm\nProduct Name: OpenStack Nova\nInterface IP: 2a13:1a81:8000:3124:f816:3eff:feb4:8724\n",
                                    "zj_item": "debian-bookworm"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000000a",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:28.272316Z",
                            "start": "2026-03-29T03:08:28.136402Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000000e",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/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/a819268f046c442592e76cec6d7fb3ea/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/a819268f046c442592e76cec6d7fb3ea/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000011",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:29.087787Z",
                            "start": "2026-03-29T03:08:28.283187Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000013",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "cd64f535017b834f19ff7c2a4cd09b65f84e17bf",
                            "dest": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "cd64f535017b834f19ff7c2a4cd09b65f84e17bf",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/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/a819268f046c442592e76cec6d7fb3ea/work/.ansible/tmp/ansible-tmp-1774753709.1680753-34-223286541008615/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "bc7e3b55998d158f7d972fb15028ecf7",
                            "mode": "0644",
                            "owner": "root",
                            "size": 6023,
                            "src": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/.ansible/tmp/ansible-tmp-1774753709.1680753-34-223286541008615/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000011",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:31.123485Z",
                            "start": "2026-03-29T03:08:29.095149Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000014",
                        "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/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:31.613738Z",
                            "start": "2026-03-29T03:08:31.134550Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000018",
                        "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-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:31.662185Z",
                            "start": "2026-03-29T03:08:31.620116Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000019",
                        "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/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:01.802585",
                            "end": "2026-03-29 03:08:33.961823",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_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-3cf2-8ce1-0000000000aa-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-29 03:08:32.159238",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_id_rsa.pub\nThe key fingerprint is:\nSHA256:V9vfMDs+Emlk9wmIkI7I9lS4dSJpMNEVkzA2RvGBkLI zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|   =BOB=+        |\n| . .+B+Bo.       |\n|  + o B.+ . o    |\n| E + + . . oo+.  |\n|  . o   S .o.o=..|\n|     .   .  +  *o|\n|           . .o o|\n|            .... |\n|             ... |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:V9vfMDs+Emlk9wmIkI7I9lS4dSJpMNEVkzA2RvGBkLI zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|   =BOB=+        |",
                                "| . .+B+Bo.       |",
                                "|  + o B.+ . o    |",
                                "| E + + . . oo+.  |",
                                "|  . o   S .o.o=..|",
                                "|     .   .  +  *o|",
                                "|           . .o o|",
                                "|            .... |",
                                "|             ... |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac1f-6606-3cf2-8ce1-0000000000aa-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:34.013943Z",
                            "start": "2026-03-29T03:08:31.690041Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000aa",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:34.050971Z",
                            "start": "2026-03-29T03:08:34.024786Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000ab",
                        "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-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:34.085986Z",
                            "start": "2026-03-29T03:08:34.072378Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000ca",
                        "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQD1XAZtZgV25rWmIPd98L0rIg0uZfmg7snsK+EkL2w1+ySWqIw2dnz1OeZORQjK9qfAPpzmmiEA33G1nzs2KBRqluy4Wh+c5tdRY0N/KiUIWRFzYFLikBH/koR5Ks+jLlJP/cu8qcoAs0cYhrTuW51gSP9NNButP1gwJjBEGY0lZqpe5ip5DOVkZHWBqtzdMS7rAO8iKQTQKGvB1if84ePh/XmojNRNaZwN+sUEzxKRRKNygsB0JuR7uS0HF8VUSztelj1nnKCDbKT1o5/cxkbeC0te1mNYyLveuhiyCvF/ZpqAB8UycAJJ/+EaBRVYwSgg/xjKfHWOBTkJjIXBLRh5nY5SHYBtcgyro3fJbBcqyljOFkBun527WmM3D86I1KP64QdlbydHU4ZnphObdYwZ/I9umTWRKz4KUyb5M5XgPLd/79gq56rZRKcnguY4aUva1V6L+Wppl5CLm79tdxBDXVFPbfPpmzrgVoQ7BGAjWXhlxedhmBkWyAKZrdQsXNE= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQD1XAZtZgV25rWmIPd98L0rIg0uZfmg7snsK+EkL2w1+ySWqIw2dnz1OeZORQjK9qfAPpzmmiEA33G1nzs2KBRqluy4Wh+c5tdRY0N/KiUIWRFzYFLikBH/koR5Ks+jLlJP/cu8qcoAs0cYhrTuW51gSP9NNButP1gwJjBEGY0lZqpe5ip5DOVkZHWBqtzdMS7rAO8iKQTQKGvB1if84ePh/XmojNRNaZwN+sUEzxKRRKNygsB0JuR7uS0HF8VUSztelj1nnKCDbKT1o5/cxkbeC0te1mNYyLveuhiyCvF/ZpqAB8UycAJJ/+EaBRVYwSgg/xjKfHWOBTkJjIXBLRh5nY5SHYBtcgyro3fJbBcqyljOFkBun527WmM3D86I1KP64QdlbydHU4ZnphObdYwZ/I9umTWRKz4KUyb5M5XgPLd/79gq56rZRKcnguY4aUva1V6L+Wppl5CLm79tdxBDXVFPbfPpmzrgVoQ7BGAjWXhlxedhmBkWyAKZrdQsXNE= 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-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:34.713735Z",
                            "start": "2026-03-29T03:08:34.092867Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000cb",
                        "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-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:34.981793Z",
                            "start": "2026-03-29T03:08:34.726928Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000cc",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "eafc2a159705b5d81dade790c939b73dff6dcf42",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "a819268f046c442592e76cec6d7fb3ea_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "eafc2a159705b5d81dade790c939b73dff6dcf42",
                                    "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-1774753715.0563493-139-112694249724629/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "33b8525bf57f3ff659cf7f58c7f7c781",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1774753715.0563493-139-112694249724629/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:35.610782Z",
                            "start": "2026-03-29T03:08:34.993395Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000cd",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "a6c2c7360972e3d89ea500945edab67f704763af",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "a819268f046c442592e76cec6d7fb3ea_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "a6c2c7360972e3d89ea500945edab67f704763af",
                                    "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-1774753715.6650043-149-27787076710052/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "fd88dc14a6d5734e4127bd8cb3fe883d",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1774753715.6650043-149-27787076710052/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:36.342423Z",
                            "start": "2026-03-29T03:08:35.621001Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000ce",
                        "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-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:36.386948Z",
                            "start": "2026-03-29T03:08:36.353155Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000ac",
                        "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-3cf2-8ce1-0000000000b1",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:37.200190Z",
                            "start": "2026-03-29T03:08:36.397891Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000b3",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_id_rsa"
                            ],
                            "delta": "0:00:00.013840",
                            "end": "2026-03-29 03:08:37.568691",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_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-3cf2-8ce1-0000000000b9-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-29 03:08:37.554851",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/a819268f046c442592e76cec6d7fb3ea_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac1f-6606-3cf2-8ce1-0000000000b9-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:37.601261Z",
                            "start": "2026-03-29T03:08:37.217599Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000b9",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:38.025230Z",
                            "start": "2026-03-29T03:08:37.608424Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000ba",
                        "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-3cf2-8ce1-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:38.066020Z",
                            "start": "2026-03-29T03:08:38.036480Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-0000000000bb",
                        "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-3cf2-8ce1-00000000001b",
                        "name": "start-zuul-console",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/start-zuul-console"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:38.576312Z",
                            "start": "2026-03-29T03:08:38.080501Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_info_dir": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/logs/zuul-info"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000001f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:38.634370Z",
                            "start": "2026-03-29T03:08:38.591416Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000021",
                        "name": "Define zuul_info_dir fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/logs/zuul-info"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/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/a819268f046c442592e76cec6d7fb3ea/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/a819268f046c442592e76cec6d7fb3ea/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000001f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:39.024425Z",
                            "start": "2026-03-29T03:08:38.639941Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000022",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "10.128.0.105"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "2a13:1a81:8000:3124:f816:3eff:feb4:8724",
                                    "fe80::f816:3eff:feb4:8724"
                                ],
                                "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-44-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-03-29",
                                    "day": "29",
                                    "epoch": "1774753719",
                                    "epoch_int": "1774753719",
                                    "hour": "03",
                                    "iso8601": "2026-03-29T03:08:39Z",
                                    "iso8601_basic": "20260329T030839928577",
                                    "iso8601_basic_short": "20260329T030839",
                                    "iso8601_micro": "2026-03-29T03:08:39.928577Z",
                                    "minute": "08",
                                    "month": "03",
                                    "second": "39",
                                    "time": "03:08:39",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Sunday",
                                    "weekday_number": "0",
                                    "weeknumber": "12",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "10.128.0.105",
                                    "alias": "ens3",
                                    "broadcast": "10.128.0.111",
                                    "gateway": "10.128.0.97",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:b4:87:24",
                                    "mtu": 1500,
                                    "netmask": "255.255.255.240",
                                    "network": "10.128.0.96",
                                    "prefix": "28",
                                    "type": "ether"
                                },
                                "ansible_default_ipv6": {
                                    "address": "2a13:1a81:8000:3124:f816:3eff:feb4:8724",
                                    "gateway": "fe80::f816:3eff:fe92:ad10",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:b4:87:24",
                                    "mtu": 1500,
                                    "prefix": "64",
                                    "scope": "global",
                                    "type": "ether"
                                },
                                "ansible_device_links": {
                                    "ids": {},
                                    "labels": {
                                        "vda1": [
                                            "cloudimg-rootfs"
                                        ]
                                    },
                                    "masters": {},
                                    "uuids": {
                                        "vda1": [
                                            "d2889dcf-2b6d-4ae0-b7c2-43277678b7ca"
                                        ]
                                    }
                                },
                                "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": [
                                                        "d2889dcf-2b6d-4ae0-b7c2-43277678b7ca"
                                                    ]
                                                },
                                                "sectors": "20969439",
                                                "sectorsize": 512,
                                                "size": "10.00 GB",
                                                "start": "2048",
                                                "uuid": "d2889dcf-2b6d-4ae0-b7c2-43277678b7ca"
                                            }
                                        },
                                        "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": "13",
                                "ansible_distribution_release": "bookworm",
                                "ansible_distribution_version": "12.13",
                                "ansible_dns": {
                                    "domain": "a.customers.regiocloud.tech.",
                                    "nameservers": [
                                        "81.163.194.9",
                                        "81.163.194.10"
                                    ],
                                    "search": [
                                        "a.customers.regiocloud.tech."
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 1000,
                                "ansible_effective_user_id": 1000,
                                "ansible_ens3": {
                                    "active": true,
                                    "device": "ens3",
                                    "ipv4": {
                                        "address": "10.128.0.105",
                                        "broadcast": "10.128.0.111",
                                        "netmask": "255.255.255.240",
                                        "network": "10.128.0.96",
                                        "prefix": "28"
                                    },
                                    "ipv6": [
                                        {
                                            "address": "2a13:1a81:8000:3124:f816:3eff:feb4:8724",
                                            "prefix": "64",
                                            "scope": "global"
                                        },
                                        {
                                            "address": "fe80::f816:3eff:feb4:8724",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:b4:87:24",
                                    "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 55408 22",
                                    "SSH_CONNECTION": "2a13:1a81:8000:2::38d 55408 2a13:1a81:8000:3124:f816:3eff:feb4:8724 22",
                                    "USER": "zuul",
                                    "XDG_RUNTIME_DIR": "/run/user/1000",
                                    "XDG_SESSION_CLASS": "user",
                                    "XDG_SESSION_ID": "1",
                                    "XDG_SESSION_TYPE": "tty",
                                    "_": "/bin/sh"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "Other",
                                "ansible_fqdn": "debian",
                                "ansible_hostname": "debian",
                                "ansible_hostnqn": "",
                                "ansible_interfaces": [
                                    "ens3",
                                    "lo"
                                ],
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "6.1.0-44-amd64",
                                "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09)",
                                "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.02880859375,
                                    "1m": 0.2666015625,
                                    "5m": 0.0869140625
                                },
                                "ansible_local": {},
                                "ansible_locally_reachable_ips": {
                                    "ipv4": [
                                        "10.128.0.105",
                                        "127.0.0.0/8",
                                        "127.0.0.1"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "2a13:1a81:8000:3124:f816:3eff:feb4:8724",
                                        "fe80::f816:3eff:feb4:8724"
                                    ]
                                },
                                "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": "8bc385ed179e4d768ff3bdd12e405202",
                                "ansible_memfree_mb": 3667,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 3753,
                                        "used": 160
                                    },
                                    "real": {
                                        "free": 3667,
                                        "total": 3913,
                                        "used": 246
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 3913,
                                "ansible_mounts": [
                                    {
                                        "block_available": 1944452,
                                        "block_size": 4096,
                                        "block_total": 2443614,
                                        "block_used": 499162,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 2493525,
                                        "inode_total": 2529792,
                                        "inode_used": 36267,
                                        "mount": "/",
                                        "options": "rw,relatime",
                                        "size_available": 7964475392,
                                        "size_total": 10009042944,
                                        "uuid": "d2889dcf-2b6d-4ae0-b7c2-43277678b7ca"
                                    }
                                ],
                                "ansible_nodename": "debian",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-6.1.0-44-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": "AAAAB3NzaC1kc3MAAACBAK0mm0KzjMDePNoyVvatf1bQIFlzhNEo34KeORgDboF6DB/Feh2axg1YS6DhOcG9ac3AclADj0SIOz3ZnFenqNhmW4a0+uXVk1rYkB6lLC50f2V9zWdS7boCnufsDUPy66hxmgYoVsqoVx6pMRCo92/aXk4Tdo3lH299E3KmDfIfAAAAFQCoUrySTKEkwkRKyjMEN+HistBQ6wAAAIEAmMcXOkUvY9qS1ASp5LHJqXbvY49xI/DyQu8IVaKxrt1JO8H/C1JZFvfYk+vXEtOBCX5nUz/s3T79gRTDpdCOxs06t205y8qEb7YOrAubwFOQULh1jACMB4F2fPzq7RgU4IOhN50z5NE+K/UQm+Uk4u+nGYQRb/e5DbRxOr+AllgAAACAT7ys4piwkFd2CnsAzzF5p3VHaSnfsZ1vXGonxLuPSwAj9/g7aqhcJiCsfFuKVymHEabFk8rbCcb9Ez7Nbz+gTKLl3FPv1V+5EK/+ax6MFJXVzqGg8rjSLrDhIpzm2NiC46yrSPRTlJ7dL8E5T8nWQpQl+yag1VCuqKUDs07P+vk=",
                                "ansible_ssh_host_key_dsa_public_keytype": "ssh-dss",
                                "ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEbynVhOQvoNIhXMIw9zLf76ko6jshXV5NQp5m0rJd9HoBs7/uAsIJFxtEzvGAAukF4ARspfDqXF8tsxujgsjMY=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAICLeMU0zVcj7ljOGDHd1yAFpYDB94qP1ruIyHKYnMke+",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQDaniAutiLByRXy58ZvMU19aQzksblFXg43HelzDksfp2yw80jNlyY8M08g+JVyJLFo2lr21pKXTBtoaauIReiJTQGQJZQYCWqYQozxez/cC4mJFELCVxS75ZtzEWfxV7GvLCxtgmH1Y3ScHGiGQq5e5XFM7z2vmGRoc23uAXxqLPS4fX3HNRFBAd5I7DTjXYpnxb/ylbTzcMWwh71oA+BA/lyVHrrrP5SdZ++WeFcgQQVdGx7zgby1xa+celbrjAFXxPvX7rsaNBYYqmdbvO1BGLoxEIuETsNgX1Fg3Jbcijf8AGzNRGFcNezO3NC/Ha4qdhbHY9yBUIv+/IwxWHkYwA0vPAUdedBR7uPn0LVsnvlzEBa9erwOlMXSAFmobYwooILaER4IFPCnOgV502Pu+5UYydxkk2Df59Qb1csg/kjwBXbacKhTREOHuL2D/vTDbm5v5US+BcWhRcIObA3SFnRjEWmWdEqK8YyiKEBcG9bn67WCzgq/i2BKFkQg7d0=",
                                "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": 46,
                                "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-3cf2-8ce1-00000000001f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:40.371430Z",
                            "start": "2026-03-29T03:08:39.036346Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000023",
                        "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-3cf2-8ce1-00000000001f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:40.548442Z",
                            "start": "2026-03-29T03:08:40.386464Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000024",
                        "name": "Sanitize hostname"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "template",
                            "changed": true,
                            "checksum": "4e527ab58b958dcc208ff034af66f18f7a4d5b37",
                            "dest": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/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": "4e527ab58b958dcc208ff034af66f18f7a4d5b37",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/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/a819268f046c442592e76cec6d7fb3ea/work/.ansible/tmp/ansible-tmp-1774753720.6802547-246-188075347307287/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "54d6c4e5f54adb927c987d100fa357dc",
                            "mode": "0644",
                            "owner": "root",
                            "size": 13291,
                            "src": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/.ansible/tmp/ansible-tmp-1774753720.6802547-246-188075347307287/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000001f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:41.739990Z",
                            "start": "2026-03-29T03:08:40.625547Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000025",
                        "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           500890   458  500432    1% /run\n/dev/vda1      2529792 36267 2493525    2% /\ntmpfs           500890     1  500889    1% /dev/shm\ntmpfs           500890     3  500887    1% /run/lock\ntmpfs           100178    20  100158    1% /run/user/1000\n",
                            "df_m": "Filesystem     1M-blocks  Used Available Use% Mounted on\nudev                1936     0      1936   0% /dev\ntmpfs                392     1       391   1% /run\n/dev/vda1           9546  1504      7596  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:b4:87:24 brd ff:ff:ff:ff:ff:ff\n    altname enp0s3\n    inet 10.128.0.105/28 brd 10.128.0.111 scope global dynamic ens3\n       valid_lft 43156sec preferred_lft 43156sec\n    inet6 2a13:1a81:8000:3124:f816:3eff:feb4:8724/64 scope global dynamic mngtmpaddr \n       valid_lft forever preferred_lft forever\n    inet6 fe80::f816:3eff:feb4:8724/64 scope link \n       valid_lft forever preferred_lft forever\n",
                            "network_neighbors": "10.128.0.97 dev ens3 lladdr fa:16:3e:90:1b:03 REACHABLE \nfe80::f816:3eff:fe92:ad10 dev ens3 lladdr fa:16:3e:92:ad:10 router REACHABLE \n",
                            "network_routing_v4": "default via 10.128.0.97 dev ens3 \n10.128.0.96/28 dev ens3 proto kernel scope link src 10.128.0.105 \n169.254.169.254 via 10.128.0.98 dev ens3 \n",
                            "network_routing_v6": "2a13:1a81:8000:3124::/64 dev ens3 proto kernel metric 256 pref medium\nfe80::/64 dev ens3 proto kernel metric 256 pref medium\ndefault via fe80::f816:3eff:fe92:ad10 dev ens3 proto ra metric 1024 expires 65492sec 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-44-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64 GNU/Linux\n"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000001f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:42.347925Z",
                            "start": "2026-03-29T03:08:41.785210Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000027",
                        "name": "Collect information about zuul worker"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "template",
                            "changed": true,
                            "checksum": "1562cb4ff011837d6c09cfb1f9c3da85f555b7c5",
                            "dest": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/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": "1562cb4ff011837d6c09cfb1f9c3da85f555b7c5",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/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/a819268f046c442592e76cec6d7fb3ea/work/.ansible/tmp/ansible-tmp-1774753722.446802-285-77146375586682/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "d36a07396daf6059d744eef42993fd8d",
                            "mode": "0644",
                            "owner": "root",
                            "size": 2524,
                            "src": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/work/.ansible/tmp/ansible-tmp-1774753722.446802-285-77146375586682/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000001f",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:43.521342Z",
                            "start": "2026-03-29T03:08:42.359941Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-000000000028",
                        "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-3cf2-8ce1-00000000002a",
                        "name": "prepare-workspace-log",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_0/github.com/osism/zuul-config/roles/prepare-workspace-log"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:43.800202Z",
                            "start": "2026-03-29T03:08:43.537554Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000002c",
                        "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/a819268f046c442592e76cec6d7fb3ea/work/src '[zuul@2a13:1a81:8000:3124:f816:3eff:feb4:8724]:.'",
                            "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:feb4:8724]:.",
                                    "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/a819268f046c442592e76cec6d7fb3ea/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/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.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/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/logs/refs/\ncd+++++++++ src/github.com/osism/python-osism/.git/logs/refs/heads/\n<f+++++++++ src/github.com/osism/python-osism/.git/logs/refs/heads/main\ncd+++++++++ src/github.com/osism/python-osism/.git/logs/refs/remotes/\ncd+++++++++ src/github.com/osism/python-osism/.git/logs/refs/remotes/origin/\n<f+++++++++ src/github.com/osism/python-osism/.git/logs/refs/remotes/origin/HEAD\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/03/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/03/a3140530043395f6928aad368cd4a4dd346dbc\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/0a/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/0a/36fffbf3247d5641670add6712d25ad7534f3a\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/24/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/24/51cc733523d868eb1a19e71d2229bfbb5f9e26\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/36/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/36/53a7b21bac46f3aaa79eccf77c095b5e72c797\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/45/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/45/a379ad4e7998e54d5229f53205c9b885d0801b\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/4d/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/4d/9eb994d22e502d8fe978f08738c3725678087b\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/6a/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/6a/ea60ef465748c8879bd7c6a96b825bd63d001e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/74/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/74/859a4ec1ab9730f792fb8dcfddef90a1c1e089\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/77/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/77/c38d5d8395f2588dadc0b670ad544e246e2ae5\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/a4/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/a4/9960101260d9e62b6e3b657c01644906b292f1\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/b4/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/b4/68e0b99419670d948ae2de53a4919e7585851e\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/cd/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/cd/fe4511673b3b32c10e758fc9906571781f1ef3\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/dd/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/dd/7ffdb721f553a7af11c53329dd29f4edf42077\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/ea/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/ea/3d46e716b37502504d8082facace13bd73b082\ncd+++++++++ src/github.com/osism/python-osism/.git/objects/f5/\n<f+++++++++ src/github.com/osism/python-osism/.git/objects/f5/4b141014b13c7e36ed5181243dbbf4bdcee491\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-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-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-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-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-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-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-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-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-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-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\ncd+++++++++ src/github.com/osism/python-osism/.git/refs/\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/publish.yml\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\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-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-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-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/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/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\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\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/inventory.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-setup.yml\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/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.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/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/logs/refs/",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/logs/refs/heads/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/logs/refs/heads/main",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/logs/refs/remotes/",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/logs/refs/remotes/origin/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/logs/refs/remotes/origin/HEAD",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/03/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/03/a3140530043395f6928aad368cd4a4dd346dbc",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/0a/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/0a/36fffbf3247d5641670add6712d25ad7534f3a",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/24/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/24/51cc733523d868eb1a19e71d2229bfbb5f9e26",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/36/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/36/53a7b21bac46f3aaa79eccf77c095b5e72c797",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/45/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/45/a379ad4e7998e54d5229f53205c9b885d0801b",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/4d/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/4d/9eb994d22e502d8fe978f08738c3725678087b",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/6a/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/6a/ea60ef465748c8879bd7c6a96b825bd63d001e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/74/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/74/859a4ec1ab9730f792fb8dcfddef90a1c1e089",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/77/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/77/c38d5d8395f2588dadc0b670ad544e246e2ae5",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/a4/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/a4/9960101260d9e62b6e3b657c01644906b292f1",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/b4/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/b4/68e0b99419670d948ae2de53a4919e7585851e",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/cd/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/cd/fe4511673b3b32c10e758fc9906571781f1ef3",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/dd/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/dd/7ffdb721f553a7af11c53329dd29f4edf42077",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/ea/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/ea/3d46e716b37502504d8082facace13bd73b082",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/objects/f5/",
                                "<f+++++++++ src/github.com/osism/python-osism/.git/objects/f5/4b141014b13c7e36ed5181243dbbf4bdcee491",
                                "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-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-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-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-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-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-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-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-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-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-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",
                                "cd+++++++++ src/github.com/osism/python-osism/.git/refs/",
                                "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/publish.yml",
                                "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",
                                "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-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-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-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/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/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",
                                "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",
                                "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/inventory.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-setup.yml"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000002a",
                        "name": "prepare-workspace-log",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_0/github.com/osism/zuul-config/roles/prepare-workspace-log"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:45.070128Z",
                            "start": "2026-03-29T03:08:43.806156Z"
                        },
                        "id": "0242ac1f-6606-3cf2-8ce1-00000000002d",
                        "name": "Synchronize src repos to workspace directory."
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 11,
            "failures": 0,
            "ignored": 0,
            "ok": 26,
            "rescued": 0,
            "skipped": 3,
            "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-03-29T03:10:21.258529Z",
                    "start": "2026-03-29T03:08:46.787520Z"
                },
                "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_0/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:46.850191Z",
                            "start": "2026-03-29T03:08:46.803384Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:46.922084Z",
                            "start": "2026-03-29T03:08:46.896852Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:46.954708Z",
                            "start": "2026-03-29T03:08:46.928559Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:46.999020Z",
                            "start": "2026-03-29T03:08:46.962757Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:47.030236Z",
                            "start": "2026-03-29T03:08:47.005410Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:47.073527Z",
                            "start": "2026-03-29T03:08:47.038623Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-000000000047",
                        "name": "Set RPM package name for CentOS/RHEL 9 and Python 3.9"
                    }
                },
                {
                    "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-37f5-57b8-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:47.110002Z",
                            "start": "2026-03-29T03:08:47.083038Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:47.148775Z",
                            "start": "2026-03-29T03:08:47.117396Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:47.183706Z",
                            "start": "2026-03-29T03:08:47.158174Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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.007649",
                            "end": "2026-03-29 03:08:47.677386",
                            "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-37f5-57b8-000000000070-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-03-29 03:08:47.669737",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-37f5-57b8-000000000070-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:47.740899Z",
                            "start": "2026-03-29T03:08:47.223683Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip/tasks/Debian.yaml",
                                    "include_args": {},
                                    "zj_distro_os": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip/tasks/Debian.yaml"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:47.791645Z",
                            "start": "2026-03-29T03:08:47.746551Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-000000000071",
                        "name": "Install pip from packages"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "apt",
                            "cache_update_time": 1774753730,
                            "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-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:52.100046Z",
                            "start": "2026-03-29T03:08:47.833238Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-0000000000bf",
                        "name": "Update package lists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "cache_update_time": 1774753730,
                            "cache_updated": false,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": [
                                        "python3-pip",
                                        "python3-setuptools",
                                        "python3-venv",
                                        "python3-wheel"
                                    ],
                                    "only_upgrade": false,
                                    "package": [
                                        "python3-pip",
                                        "python3-setuptools",
                                        "python3-venv",
                                        "python3-wheel"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": null,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nSuggested packages:\n  python-setuptools-doc\nThe following NEW packages will be installed:\n  python3-pip python3-setuptools python3-wheel\n0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 1877 kB of archives.\nAfter this operation, 9567 kB of additional disk space will be used.\nGet:1 http://deb.debian.org/debian bookworm/main amd64 python3-setuptools all 66.1.1-1+deb12u2 [522 kB]\nGet:2 http://deb.debian.org/debian bookworm/main amd64 python3-wheel all 0.38.4-2 [30.8 kB]\nGet:3 http://deb.debian.org/debian bookworm/main amd64 python3-pip all 23.0.1+dfsg-1 [1325 kB]\nFetched 1877 kB in 0s (14.3 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 ... 27767 files and directories currently installed.)\r\nPreparing to unpack .../python3-setuptools_66.1.1-1+deb12u2_all.deb ...\r\nUnpacking python3-setuptools (66.1.1-1+deb12u2) ...\r\nSelecting previously unselected package python3-wheel.\r\nPreparing to unpack .../python3-wheel_0.38.4-2_all.deb ...\r\nUnpacking python3-wheel (0.38.4-2) ...\r\nSelecting previously unselected package python3-pip.\r\nPreparing to unpack .../python3-pip_23.0.1+dfsg-1_all.deb ...\r\nUnpacking python3-pip (23.0.1+dfsg-1) ...\r\nSetting up python3-setuptools (66.1.1-1+deb12u2) ...\r\nSetting up python3-wheel (0.38.4-2) ...\r\nSetting up python3-pip (23.0.1+dfsg-1) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "Suggested packages:",
                                "  python-setuptools-doc",
                                "The following NEW packages will be installed:",
                                "  python3-pip python3-setuptools python3-wheel",
                                "0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 1877 kB of archives.",
                                "After this operation, 9567 kB of additional disk space will be used.",
                                "Get:1 http://deb.debian.org/debian bookworm/main amd64 python3-setuptools all 66.1.1-1+deb12u2 [522 kB]",
                                "Get:2 http://deb.debian.org/debian bookworm/main amd64 python3-wheel all 0.38.4-2 [30.8 kB]",
                                "Get:3 http://deb.debian.org/debian bookworm/main amd64 python3-pip all 23.0.1+dfsg-1 [1325 kB]",
                                "Fetched 1877 kB in 0s (14.3 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 ... 27767 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-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:56.989539Z",
                            "start": "2026-03-29T03:08:52.105667Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:57.060310Z",
                            "start": "2026-03-29T03:08:57.004960Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:57.111026Z",
                            "start": "2026-03-29T03:08:57.066535Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-000000000076",
                        "name": "Ensure setuptools"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "python3",
                                "-m",
                                "ensurepip",
                                "--help"
                            ],
                            "delta": "0:00:00.085373",
                            "end": "2026-03-29 03:08:57.472076",
                            "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-37f5-57b8-000000000077-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-29 03:08:57.386703",
                            "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-37f5-57b8-000000000077-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:57.651337Z",
                            "start": "2026-03-29T03:08:57.139494Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:57.700502Z",
                            "start": "2026-03-29T03:08:57.664384Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:57.734710Z",
                            "start": "2026-03-29T03:08:57.710146Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-000000000079",
                        "name": "Install pip from source"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v python3\n",
                            "delta": "0:00:00.007952",
                            "end": "2026-03-29 03:08:58.042544",
                            "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-37f5-57b8-00000000007a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-29 03:08:58.034592",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/python3",
                            "stdout_lines": [
                                "/usr/bin/python3"
                            ],
                            "zuul_log_id": "0242ac1f-6606-37f5-57b8-00000000007a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:58.281113Z",
                            "start": "2026-03-29T03:08:57.771691Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:58.354529Z",
                            "start": "2026-03-29T03:08:58.286997Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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-37f5-57b8-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_2/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:08:58.446534Z",
                            "start": "2026-03-29T03:08:58.362794Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-00000000007c",
                        "name": "Set ensure_pip_virtualenv_command"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.pip",
                            "changed": true,
                            "cmd": [
                                "/tmp/venv/bin/pip3",
                                "install",
                                "mypy==1.19.1"
                            ],
                            "invocation": {
                                "module_args": {
                                    "chdir": null,
                                    "editable": false,
                                    "executable": null,
                                    "extra_args": null,
                                    "name": [
                                        "mypy==1.19.1"
                                    ],
                                    "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.19.1"
                            ],
                            "requirements": null,
                            "state": "present",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Collecting mypy==1.19.1\n  Downloading mypy-1.19.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (13.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 13.4/13.4 MB 15.2 MB/s eta 0:00:00\nCollecting typing_extensions>=4.6.0\n  Downloading typing_extensions-4.15.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.6/44.6 kB 7.3 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>=0.9.0\n  Downloading pathspec-1.0.4-py3-none-any.whl (55 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 55.2/55.2 kB 5.8 MB/s eta 0:00:00\nCollecting librt>=0.6.2\n  Downloading librt-0.8.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (218 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 218.3/218.3 kB 6.4 MB/s eta 0:00:00\nInstalling collected packages: typing_extensions, pathspec, mypy_extensions, librt, mypy\nSuccessfully installed librt-0.8.1 mypy-1.19.1 mypy_extensions-1.1.0 pathspec-1.0.4 typing_extensions-4.15.0\n",
                            "stdout_lines": [
                                "Collecting mypy==1.19.1",
                                "  Downloading mypy-1.19.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (13.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 13.4/13.4 MB 15.2 MB/s eta 0:00:00",
                                "Collecting typing_extensions>=4.6.0",
                                "  Downloading typing_extensions-4.15.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.6/44.6 kB 7.3 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>=0.9.0",
                                "  Downloading pathspec-1.0.4-py3-none-any.whl (55 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 55.2/55.2 kB 5.8 MB/s eta 0:00:00",
                                "Collecting librt>=0.6.2",
                                "  Downloading librt-0.8.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (218 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 218.3/218.3 kB 6.4 MB/s eta 0:00:00",
                                "Installing collected packages: typing_extensions, pathspec, mypy_extensions, librt, mypy",
                                "Successfully installed librt-0.8.1 mypy-1.19.1 mypy_extensions-1.1.0 pathspec-1.0.4 typing_extensions-4.15.0"
                            ],
                            "version": null,
                            "virtualenv": "/tmp/venv"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-37f5-57b8-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_0/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:09:07.696935Z",
                            "start": "2026-03-29T03:08:58.499241Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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  DEPRECATION: ClusterShell 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",
                                "  DEPRECATION: ClusterShell 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.9.3\n  Downloading ClusterShell-1.9.3.tar.gz (417 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 417.1/417.1 kB 6.3 MB/s eta 0:00:00\n  Preparing metadata (setup.py): started\n  Preparing metadata (setup.py): finished with status 'done'\nCollecting boto3==1.42.63\n  Downloading boto3-1.42.63-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.6/140.6 kB 8.0 MB/s eta 0:00:00\nCollecting GitPython==3.1.46\n  Downloading gitpython-3.1.46-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\u2501 208.6/208.6 kB 9.1 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\u2501 134.9/134.9 kB 8.8 MB/s eta 0:00:00\nCollecting PyMySQL==1.1.2\n  Downloading pymysql-1.1.2-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.3/45.3 kB 4.0 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 12.0 MB/s eta 0:00:00\nCollecting ara==1.7.3\n  Downloading ara-1.7.3-py2.py3-none-any.whl (237 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 237.9/237.9 kB 8.8 MB/s eta 0:00:00\nCollecting celery[redis]==5.6.2\n  Downloading celery-5.6.2-py3-none-any.whl (445 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 445.5/445.5 kB 16.0 MB/s eta 0:00:00\nCollecting cliff==4.13.2\n  Downloading cliff-4.13.2-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.8/86.8 kB 16.4 MB/s eta 0:00:00\nCollecting deepdiff==8.6.2\n  Downloading deepdiff-8.6.2-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 92.0/92.0 kB 14.8 MB/s eta 0:00:00\nCollecting docker==7.1.0\n  Downloading docker-7.1.0-py3-none-any.whl (147 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 147.8/147.8 kB 17.6 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.135.2\n  Downloading fastapi-0.135.2-py3-none-any.whl (117 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 117.4/117.4 kB 16.0 MB/s eta 0:00:00\nCollecting flower==2.0.1\n  Downloading flower-2.0.1-py2.py3-none-any.whl (383 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 383.6/383.6 kB 16.8 MB/s eta 0:00:00\nCollecting hiredis==3.3.1\n  Downloading hiredis-3.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (169 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 169.4/169.4 kB 15.3 MB/s eta 0:00:00\nCollecting jc==1.25.6\n  Downloading jc-1.25.6-py3-none-any.whl (691 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 691.2/691.2 kB 8.3 MB/s eta 0:00:00\nCollecting keystoneauth1==5.13.1\n  Downloading keystoneauth1-5.13.1-py3-none-any.whl (343 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 343.5/343.5 kB 19.0 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 11.7 MB/s eta 0:00:00\nCollecting kubernetes==33.1.0\n  Downloading kubernetes-33.1.0-py2.py3-none-any.whl (1.9 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.9/1.9 MB 21.7 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 12.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 8.1 MB/s eta 0:00:00\nCollecting openstacksdk==4.10.0\n  Downloading openstacksdk-4.10.0-py3-none-any.whl (1.9 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.9/1.9 MB 19.2 MB/s eta 0:00:00\nCollecting paramiko==4.0.0\n  Downloading paramiko-4.0.0-py3-none-any.whl (223 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 223.9/223.9 kB 29.0 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 11.6 MB/s eta 0:00:00\nCollecting prompt-toolkit==3.0.52\n  Downloading prompt_toolkit-3.0.52-py3-none-any.whl (391 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 391.4/391.4 kB 28.3 MB/s eta 0:00:00\nCollecting pyang==2.7.1\n  Downloading pyang-2.7.1-py2.py3-none-any.whl (598 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 598.5/598.5 kB 24.3 MB/s eta 0:00:00\nCollecting pynetbox==7.6.1\n  Downloading pynetbox-7.6.1-py3-none-any.whl (39 kB)\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 14.3 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 27.5 MB/s eta 0:00:00\nCollecting redfish==3.3.5\n  Downloading redfish-3.3.5-py3-none-any.whl (43 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 43.7/43.7 kB 7.9 MB/s eta 0:00:00\nCollecting setuptools==82.0.1\n  Downloading setuptools-82.0.1-py3-none-any.whl (1.0 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.0/1.0 MB 20.5 MB/s eta 0:00:00\nCollecting sqlmodel==0.0.37\n  Downloading sqlmodel-0.0.37-py3-none-any.whl (27 kB)\nCollecting sushy==5.10.0\n  Downloading sushy-5.10.0-py3-none-any.whl (442 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 442.7/442.7 kB 17.8 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 18.1 MB/s eta 0:00:00\nCollecting uvicorn[standard]==0.42.0\n  Downloading uvicorn-0.42.0-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.8/68.8 kB 11.6 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 8.5 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 13.9 MB/s eta 0:00:00\nCollecting websockets==16.0\n  Downloading websockets-16.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.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.6/184.6 kB 13.7 MB/s eta 0:00:00\nCollecting botocore<1.43.0,>=1.42.63\n  Downloading botocore-1.42.78-py3-none-any.whl (14.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 14.7/14.7 MB 21.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.17.0,>=0.16.0\n  Downloading s3transfer-0.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.8/86.8 kB 14.9 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 10.6 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 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 18.0 MB/s eta 0:00:00\nCollecting requests>=2.14.2\n  Downloading requests-2.33.0-py3-none-any.whl (65 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 65.0/65.0 kB 10.7 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 15.5 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.3.1-py3-none-any.whl (108 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 108.3/108.3 kB 16.3 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.3.1-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>=1.0.0\n  Downloading cmd2-3.4.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.2/148.2 kB 21.0 MB/s eta 0:00:00\nCollecting PrettyTable>=0.7.2\n  Downloading prettytable-3.17.0-py3-none-any.whl (34 kB)\nCollecting stevedore>=5.6.0\n  Downloading stevedore-5.7.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.5/54.5 kB 6.0 MB/s eta 0:00:00\nCollecting orderly-set<6,>=5.4.1\n  Downloading orderly_set-5.5.0-py3-none-any.whl (13 kB)\nCollecting urllib3>=1.26.0\n  Downloading urllib3-2.6.3-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\u2501 131.6/131.6 kB 7.1 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.2.25-py3-none-any.whl (153 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 153.7/153.7 kB 16.4 MB/s eta 0:00:00\nCollecting starlette>=0.46.0\n  Downloading starlette-1.0.0-py3-none-any.whl (72 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 72.7/72.7 kB 12.4 MB/s eta 0:00:00\nCollecting pydantic>=2.9.0\n  Downloading pydantic-2.12.5-py3-none-any.whl (463 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 463.6/463.6 kB 8.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.135.2->-r requirements.txt (line 13)) (4.15.0)\nCollecting typing-inspection>=0.4.2\n  Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB)\nCollecting annotated-doc>=0.0.2\n  Downloading annotated_doc-0.0.4-py3-none-any.whl (5.3 kB)\nCollecting tornado<7.0.0,>=5.0.0\n  Downloading tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.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.2/447.2 kB 22.0 MB/s eta 0:00:00\nCollecting prometheus-client>=0.8.0\n  Downloading prometheus_client-0.24.1-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.1/64.1 kB 11.1 MB/s eta 0:00:00\nCollecting humanize\n  Downloading humanize-4.15.0-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 132.2/132.2 kB 19.3 MB/s eta 0:00:00\nCollecting pytz\n  Downloading pytz-2026.1.post1-py2.py3-none-any.whl (510 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 510.5/510.5 kB 21.8 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 16.4 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.19.2-py3-none-any.whl (1.2 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.2/1.2 MB 22.4 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.8.2-py3-none-any.whl (24 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 8.5 MB/s eta 0:00:00\nCollecting tzdata>=2025.2\n  Downloading tzdata-2025.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\u2501 348.5/348.5 kB 5.1 MB/s eta 0:00:00\nCollecting packaging\n  Downloading packaging-26.0-py3-none-any.whl (74 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 74.4/74.4 kB 12.0 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 google-auth>=1.0.1\n  Downloading google_auth-2.49.1-py3-none-any.whl (240 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 240.7/240.7 kB 20.2 MB/s eta 0:00:00\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n  Downloading websocket_client-1.9.0-py3-none-any.whl (82 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 82.6/82.6 kB 15.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 oauthlib>=3.2.2\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 22.7 MB/s eta 0:00:00\nCollecting durationpy>=0.7\n  Downloading durationpy-0.10-py3-none-any.whl (3.9 kB)\nCollecting cryptography>=2.7\n  Downloading cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl (4.5 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.5/4.5 MB 23.0 MB/s eta 0:00:00\nCollecting decorator>=4.4.1\n  Downloading decorator-5.2.1-py3-none-any.whl (9.2 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 12.2 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 platformdirs>=3\n  Downloading platformdirs-4.9.4-py3-none-any.whl (21 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 16.2 MB/s eta 0:00:00\nCollecting requestsexceptions>=1.2.0\n  Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl (3.8 kB)\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 17.4 MB/s eta 0:00:00\nCollecting invoke>=2.0\n  Downloading invoke-2.2.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.3/160.3 kB 18.6 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 23.8 MB/s eta 0:00:00\nCollecting redis>=4.2.0rc1\n  Downloading redis-7.4.0-py3-none-any.whl (409 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 409.8/409.8 kB 22.6 MB/s eta 0:00:00\nCollecting mmh3\n  Downloading mmh3-5.2.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (103 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.1/103.1 kB 11.2 MB/s eta 0:00:00\nCollecting wcwidth\n  Downloading wcwidth-0.6.0-py3-none-any.whl (94 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 94.2/94.2 kB 17.4 MB/s eta 0:00:00\nCollecting lxml\n  Downloading lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 5.2/5.2 MB 19.9 MB/s eta 0:00:00\nCollecting pytest>=6\n  Downloading pytest-9.0.2-py3-none-any.whl (374 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 374.8/374.8 kB 22.4 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 13.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 10.2 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.48-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.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 3.3/3.3 MB 25.5 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.6.3\n  Downloading httptools-0.7.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_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.6/456.6 kB 23.2 MB/s eta 0:00:00\nCollecting python-dotenv>=0.13\n  Downloading python_dotenv-1.2.2-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 26.5 MB/s eta 0:00:00\nCollecting watchfiles>=0.20\n  Downloading watchfiles-1.1.1-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.1/456.1 kB 24.4 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>=14.3.0\n  Downloading rich-14.3.3-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.5/310.5 kB 22.0 MB/s eta 0:00:00\nCollecting rich-argparse>=1.7.1\n  Downloading rich_argparse-1.7.2-py3-none-any.whl (25 kB)\nCollecting cffi>=2.0.0\n  Downloading cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (215 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 215.6/215.6 kB 13.7 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 pyasn1-modules>=0.2.1\n  Downloading pyasn1_modules-0.4.2-py3-none-any.whl (181 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 181.3/181.3 kB 22.0 MB/s eta 0:00:00\nCollecting annotated-types>=0.6.0\n  Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)\nCollecting pydantic-core==2.41.5\n  Downloading pydantic_core-2.41.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 27.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 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.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (204 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 204.7/204.7 kB 24.1 MB/s eta 0:00:00\nCollecting idna<4,>=2.5\n  Downloading idna-3.11-py3-none-any.whl (71 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 71.0/71.0 kB 12.4 MB/s eta 0:00:00\nCollecting greenlet>=1\n  Downloading greenlet-3.3.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (594 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 594.2/594.2 kB 27.1 MB/s eta 0:00:00\nCollecting anyio<5,>=3.6.2\n  Downloading anyio-4.13.0-py3-none-any.whl (114 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 114.4/114.4 kB 16.9 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 25.2 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 2.8 MB/s eta 0:00:00\nCollecting pyasn1<0.7.0,>=0.6.1\n  Downloading pyasn1-0.6.3-py3-none-any.whl (83 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 84.0/84.0 kB 15.4 MB/s eta 0:00:00\nCollecting markdown-it-py>=2.2.0\n  Downloading markdown_it_py-4.0.0-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.3/87.3 kB 16.7 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: requestsexceptions, pytz, pyperclip, polling, jsonpath_ng, durationpy, xmltodict, websockets, websocket-client, wcwidth, watchdog, vine, validators, uvloop, urllib3, tzlocal, tzdata, typing-inspection, tornado, tabulate, stevedore, smmap, six, setuptools, ruamel.yaml, PyYAML, python-dotenv, PyMySQL, Pygments, pydantic-core, pycparser, pyasn1, psutil, prometheus-client, pluggy, platformdirs, packaging, orderly-set, oauthlib, mmh3, mdurl, MarkupSafe, lxml, loguru, jsonpointer, jmespath, iso8601, invoke, iniconfig, idna, humanize, httptools, hiredis, h11, greenlet, decorator, click, charset_normalizer, certifi, billiard, bcrypt, autopage, async-timeout, annotated-types, annotated-doc, uvicorn, transitions, SQLAlchemy, requests, redis, python-dateutil, pytest, pydantic, pyasn1-modules, pyang, prompt-toolkit, PrettyTable, pbr, markdown-it-py, jsonpatch, Jinja2, jc, gitdb, dogpile.cache, deepdiff, ClusterShell, click-plugins, click-didyoumean, cffi, anyio, amqp, watchfiles, sushy, starlette, sqlmodel, rich, requests-unixsocket, requests_toolbelt, requests-oauthlib, pytest-testinfra, pynetbox, pynacl, pottery, os-service-types, kombu, GitPython, dtrack-auditor, docker, cryptography, click-repl, botocore, s3transfer, rich-argparse, redfish, paramiko, nbcli, keystoneauth1, google-auth, fastapi, celery, openstacksdk, kubernetes, flower, cmd2, boto3, cliff, ara\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\n  Running setup.py install for ClusterShell: started\n  Running setup.py install for ClusterShell: finished with status 'done'\nSuccessfully installed ClusterShell-1.9.3 GitPython-3.1.46 Jinja2-3.1.6 MarkupSafe-3.0.3 PrettyTable-3.17.0 PyMySQL-1.1.2 PyYAML-6.0.3 Pygments-2.19.2 SQLAlchemy-2.0.48 amqp-5.3.1 annotated-doc-0.0.4 annotated-types-0.7.0 anyio-4.13.0 ara-1.7.3 async-timeout-5.0.1 autopage-0.6.0 bcrypt-5.0.0 billiard-4.2.4 boto3-1.42.63 botocore-1.42.78 celery-5.6.2 certifi-2026.2.25 cffi-2.0.0 charset_normalizer-3.4.6 click-8.3.1 click-didyoumean-0.3.1 click-plugins-1.1.1.2 click-repl-0.3.0 cliff-4.13.2 cmd2-3.4.0 cryptography-46.0.6 decorator-5.2.1 deepdiff-8.6.2 docker-7.1.0 dogpile.cache-1.5.0 dtrack-auditor-1.5.0 durationpy-0.10 fastapi-0.135.2 flower-2.0.1 gitdb-4.0.12 google-auth-2.49.1 greenlet-3.3.2 h11-0.16.0 hiredis-3.3.1 httptools-0.7.1 humanize-4.15.0 idna-3.11 iniconfig-2.3.0 invoke-2.2.1 iso8601-2.1.0 jc-1.25.6 jmespath-1.1.0 jsonpatch-1.33 jsonpath_ng-1.8.0 jsonpointer-3.1.1 keystoneauth1-5.13.1 kombu-5.6.2 kubernetes-33.1.0 loguru-0.7.3 lxml-6.0.2 markdown-it-py-4.0.0 mdurl-0.1.2 mmh3-5.2.1 nbcli-0.10.0.dev2 oauthlib-3.3.1 openstacksdk-4.10.0 orderly-set-5.5.0 os-service-types-1.8.2 packaging-26.0 paramiko-4.0.0 pbr-7.0.3 platformdirs-4.9.4 pluggy-1.6.0 polling-0.3.2 pottery-3.0.1 prometheus-client-0.24.1 prompt-toolkit-3.0.52 psutil-7.2.2 pyang-2.7.1 pyasn1-0.6.3 pyasn1-modules-0.4.2 pycparser-3.0 pydantic-2.12.5 pydantic-core-2.41.5 pynacl-1.6.2 pynetbox-7.6.1 pyperclip-1.11.0 pytest-9.0.2 pytest-testinfra-10.2.2 python-dateutil-2.9.0.post0 python-dotenv-1.2.2 pytz-2026.1.post1 redfish-3.3.5 redis-6.4.0 requests-2.33.0 requests-oauthlib-2.0.0 requests-unixsocket-0.4.1 requests_toolbelt-1.0.0 requestsexceptions-1.4.0 rich-14.3.3 rich-argparse-1.7.2 ruamel.yaml-0.19.1 s3transfer-0.16.0 setuptools-82.0.1 six-1.17.0 smmap-5.0.3 sqlmodel-0.0.37 starlette-1.0.0 stevedore-5.7.0 sushy-5.10.0 tabulate-0.10.0 tornado-6.5.5 transitions-0.9.3 typing-inspection-0.4.2 tzdata-2025.3 tzlocal-5.3.1 urllib3-2.6.3 uvicorn-0.42.0 uvloop-0.22.1 validators-0.35.0 vine-5.1.0 watchdog-6.0.0 watchfiles-1.1.1 wcwidth-0.6.0 websocket-client-1.9.0 websockets-16.0 xmltodict-1.0.4\n",
                            "stdout_lines": [
                                "Collecting ClusterShell==1.9.3",
                                "  Downloading ClusterShell-1.9.3.tar.gz (417 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 417.1/417.1 kB 6.3 MB/s eta 0:00:00",
                                "  Preparing metadata (setup.py): started",
                                "  Preparing metadata (setup.py): finished with status 'done'",
                                "Collecting boto3==1.42.63",
                                "  Downloading boto3-1.42.63-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.6/140.6 kB 8.0 MB/s eta 0:00:00",
                                "Collecting GitPython==3.1.46",
                                "  Downloading gitpython-3.1.46-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\u2501 208.6/208.6 kB 9.1 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\u2501 134.9/134.9 kB 8.8 MB/s eta 0:00:00",
                                "Collecting PyMySQL==1.1.2",
                                "  Downloading pymysql-1.1.2-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.3/45.3 kB 4.0 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 12.0 MB/s eta 0:00:00",
                                "Collecting ara==1.7.3",
                                "  Downloading ara-1.7.3-py2.py3-none-any.whl (237 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 237.9/237.9 kB 8.8 MB/s eta 0:00:00",
                                "Collecting celery[redis]==5.6.2",
                                "  Downloading celery-5.6.2-py3-none-any.whl (445 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 445.5/445.5 kB 16.0 MB/s eta 0:00:00",
                                "Collecting cliff==4.13.2",
                                "  Downloading cliff-4.13.2-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.8/86.8 kB 16.4 MB/s eta 0:00:00",
                                "Collecting deepdiff==8.6.2",
                                "  Downloading deepdiff-8.6.2-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 92.0/92.0 kB 14.8 MB/s eta 0:00:00",
                                "Collecting docker==7.1.0",
                                "  Downloading docker-7.1.0-py3-none-any.whl (147 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 147.8/147.8 kB 17.6 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.135.2",
                                "  Downloading fastapi-0.135.2-py3-none-any.whl (117 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 117.4/117.4 kB 16.0 MB/s eta 0:00:00",
                                "Collecting flower==2.0.1",
                                "  Downloading flower-2.0.1-py2.py3-none-any.whl (383 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 383.6/383.6 kB 16.8 MB/s eta 0:00:00",
                                "Collecting hiredis==3.3.1",
                                "  Downloading hiredis-3.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (169 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 169.4/169.4 kB 15.3 MB/s eta 0:00:00",
                                "Collecting jc==1.25.6",
                                "  Downloading jc-1.25.6-py3-none-any.whl (691 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 691.2/691.2 kB 8.3 MB/s eta 0:00:00",
                                "Collecting keystoneauth1==5.13.1",
                                "  Downloading keystoneauth1-5.13.1-py3-none-any.whl (343 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 343.5/343.5 kB 19.0 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 11.7 MB/s eta 0:00:00",
                                "Collecting kubernetes==33.1.0",
                                "  Downloading kubernetes-33.1.0-py2.py3-none-any.whl (1.9 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.9/1.9 MB 21.7 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 12.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 8.1 MB/s eta 0:00:00",
                                "Collecting openstacksdk==4.10.0",
                                "  Downloading openstacksdk-4.10.0-py3-none-any.whl (1.9 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.9/1.9 MB 19.2 MB/s eta 0:00:00",
                                "Collecting paramiko==4.0.0",
                                "  Downloading paramiko-4.0.0-py3-none-any.whl (223 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 223.9/223.9 kB 29.0 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 11.6 MB/s eta 0:00:00",
                                "Collecting prompt-toolkit==3.0.52",
                                "  Downloading prompt_toolkit-3.0.52-py3-none-any.whl (391 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 391.4/391.4 kB 28.3 MB/s eta 0:00:00",
                                "Collecting pyang==2.7.1",
                                "  Downloading pyang-2.7.1-py2.py3-none-any.whl (598 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 598.5/598.5 kB 24.3 MB/s eta 0:00:00",
                                "Collecting pynetbox==7.6.1",
                                "  Downloading pynetbox-7.6.1-py3-none-any.whl (39 kB)",
                                "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 14.3 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 27.5 MB/s eta 0:00:00",
                                "Collecting redfish==3.3.5",
                                "  Downloading redfish-3.3.5-py3-none-any.whl (43 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 43.7/43.7 kB 7.9 MB/s eta 0:00:00",
                                "Collecting setuptools==82.0.1",
                                "  Downloading setuptools-82.0.1-py3-none-any.whl (1.0 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.0/1.0 MB 20.5 MB/s eta 0:00:00",
                                "Collecting sqlmodel==0.0.37",
                                "  Downloading sqlmodel-0.0.37-py3-none-any.whl (27 kB)",
                                "Collecting sushy==5.10.0",
                                "  Downloading sushy-5.10.0-py3-none-any.whl (442 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 442.7/442.7 kB 17.8 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 18.1 MB/s eta 0:00:00",
                                "Collecting uvicorn[standard]==0.42.0",
                                "  Downloading uvicorn-0.42.0-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.8/68.8 kB 11.6 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 8.5 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 13.9 MB/s eta 0:00:00",
                                "Collecting websockets==16.0",
                                "  Downloading websockets-16.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.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.6/184.6 kB 13.7 MB/s eta 0:00:00",
                                "Collecting botocore<1.43.0,>=1.42.63",
                                "  Downloading botocore-1.42.78-py3-none-any.whl (14.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 14.7/14.7 MB 21.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.17.0,>=0.16.0",
                                "  Downloading s3transfer-0.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.8/86.8 kB 14.9 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 10.6 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 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 18.0 MB/s eta 0:00:00",
                                "Collecting requests>=2.14.2",
                                "  Downloading requests-2.33.0-py3-none-any.whl (65 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 65.0/65.0 kB 10.7 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 15.5 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.3.1-py3-none-any.whl (108 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 108.3/108.3 kB 16.3 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.3.1-py3-none-any.whl (18 kB)",
                                "Collecting autopage>=0.4.0",
                                "  Downloading autopage-0.6.0-py3-none-any.whl (30 kB)",
                                "Collecting cmd2>=1.0.0",
                                "  Downloading cmd2-3.4.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.2/148.2 kB 21.0 MB/s eta 0:00:00",
                                "Collecting PrettyTable>=0.7.2",
                                "  Downloading prettytable-3.17.0-py3-none-any.whl (34 kB)",
                                "Collecting stevedore>=5.6.0",
                                "  Downloading stevedore-5.7.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.5/54.5 kB 6.0 MB/s eta 0:00:00",
                                "Collecting orderly-set<6,>=5.4.1",
                                "  Downloading orderly_set-5.5.0-py3-none-any.whl (13 kB)",
                                "Collecting urllib3>=1.26.0",
                                "  Downloading urllib3-2.6.3-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\u2501 131.6/131.6 kB 7.1 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.2.25-py3-none-any.whl (153 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 153.7/153.7 kB 16.4 MB/s eta 0:00:00",
                                "Collecting starlette>=0.46.0",
                                "  Downloading starlette-1.0.0-py3-none-any.whl (72 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 72.7/72.7 kB 12.4 MB/s eta 0:00:00",
                                "Collecting pydantic>=2.9.0",
                                "  Downloading pydantic-2.12.5-py3-none-any.whl (463 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 463.6/463.6 kB 8.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.135.2->-r requirements.txt (line 13)) (4.15.0)",
                                "Collecting typing-inspection>=0.4.2",
                                "  Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB)",
                                "Collecting annotated-doc>=0.0.2",
                                "  Downloading annotated_doc-0.0.4-py3-none-any.whl (5.3 kB)",
                                "Collecting tornado<7.0.0,>=5.0.0",
                                "  Downloading tornado-6.5.5-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.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.2/447.2 kB 22.0 MB/s eta 0:00:00",
                                "Collecting prometheus-client>=0.8.0",
                                "  Downloading prometheus_client-0.24.1-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.1/64.1 kB 11.1 MB/s eta 0:00:00",
                                "Collecting humanize",
                                "  Downloading humanize-4.15.0-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 132.2/132.2 kB 19.3 MB/s eta 0:00:00",
                                "Collecting pytz",
                                "  Downloading pytz-2026.1.post1-py2.py3-none-any.whl (510 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 510.5/510.5 kB 21.8 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 16.4 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.19.2-py3-none-any.whl (1.2 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.2/1.2 MB 22.4 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.8.2-py3-none-any.whl (24 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 8.5 MB/s eta 0:00:00",
                                "Collecting tzdata>=2025.2",
                                "  Downloading tzdata-2025.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\u2501 348.5/348.5 kB 5.1 MB/s eta 0:00:00",
                                "Collecting packaging",
                                "  Downloading packaging-26.0-py3-none-any.whl (74 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 74.4/74.4 kB 12.0 MB/s eta 0:00:00",
                                "Collecting six>=1.9.0",
                                "  Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)",
                                "Collecting google-auth>=1.0.1",
                                "  Downloading google_auth-2.49.1-py3-none-any.whl (240 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 240.7/240.7 kB 20.2 MB/s eta 0:00:00",
                                "Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0",
                                "  Downloading websocket_client-1.9.0-py3-none-any.whl (82 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 82.6/82.6 kB 15.8 MB/s eta 0:00:00",
                                "Collecting requests-oauthlib",
                                "  Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)",
                                "Collecting oauthlib>=3.2.2",
                                "  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 22.7 MB/s eta 0:00:00",
                                "Collecting durationpy>=0.7",
                                "  Downloading durationpy-0.10-py3-none-any.whl (3.9 kB)",
                                "Collecting cryptography>=2.7",
                                "  Downloading cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl (4.5 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.5/4.5 MB 23.0 MB/s eta 0:00:00",
                                "Collecting decorator>=4.4.1",
                                "  Downloading decorator-5.2.1-py3-none-any.whl (9.2 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 12.2 MB/s eta 0:00:00",
                                "Collecting jsonpatch!=1.20,>=1.16",
                                "  Downloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB)",
                                "Collecting platformdirs>=3",
                                "  Downloading platformdirs-4.9.4-py3-none-any.whl (21 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 16.2 MB/s eta 0:00:00",
                                "Collecting requestsexceptions>=1.2.0",
                                "  Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl (3.8 kB)",
                                "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 17.4 MB/s eta 0:00:00",
                                "Collecting invoke>=2.0",
                                "  Downloading invoke-2.2.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.3/160.3 kB 18.6 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 23.8 MB/s eta 0:00:00",
                                "Collecting redis>=4.2.0rc1",
                                "  Downloading redis-7.4.0-py3-none-any.whl (409 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 409.8/409.8 kB 22.6 MB/s eta 0:00:00",
                                "Collecting mmh3",
                                "  Downloading mmh3-5.2.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (103 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.1/103.1 kB 11.2 MB/s eta 0:00:00",
                                "Collecting wcwidth",
                                "  Downloading wcwidth-0.6.0-py3-none-any.whl (94 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 94.2/94.2 kB 17.4 MB/s eta 0:00:00",
                                "Collecting lxml",
                                "  Downloading lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 5.2/5.2 MB 19.9 MB/s eta 0:00:00",
                                "Collecting pytest>=6",
                                "  Downloading pytest-9.0.2-py3-none-any.whl (374 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 374.8/374.8 kB 22.4 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 13.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 10.2 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.48-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.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 3.3/3.3 MB 25.5 MB/s eta 0:00:00",
                                "Collecting h11>=0.8",
                                "  Downloading h11-0.16.0-py3-none-any.whl (37 kB)",
                                "Collecting httptools>=0.6.3",
                                "  Downloading httptools-0.7.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_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.6/456.6 kB 23.2 MB/s eta 0:00:00",
                                "Collecting python-dotenv>=0.13",
                                "  Downloading python_dotenv-1.2.2-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 26.5 MB/s eta 0:00:00",
                                "Collecting watchfiles>=0.20",
                                "  Downloading watchfiles-1.1.1-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.1/456.1 kB 24.4 MB/s eta 0:00:00",
                                "Collecting pyperclip>=1.8.2",
                                "  Downloading pyperclip-1.11.0-py3-none-any.whl (11 kB)",
                                "Collecting rich>=14.3.0",
                                "  Downloading rich-14.3.3-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.5/310.5 kB 22.0 MB/s eta 0:00:00",
                                "Collecting rich-argparse>=1.7.1",
                                "  Downloading rich_argparse-1.7.2-py3-none-any.whl (25 kB)",
                                "Collecting cffi>=2.0.0",
                                "  Downloading cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (215 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 215.6/215.6 kB 13.7 MB/s eta 0:00:00",
                                "Collecting smmap<6,>=3.0.1",
                                "  Downloading smmap-5.0.3-py3-none-any.whl (24 kB)",
                                "Collecting pyasn1-modules>=0.2.1",
                                "  Downloading pyasn1_modules-0.4.2-py3-none-any.whl (181 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 181.3/181.3 kB 22.0 MB/s eta 0:00:00",
                                "Collecting annotated-types>=0.6.0",
                                "  Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)",
                                "Collecting pydantic-core==2.41.5",
                                "  Downloading pydantic_core-2.41.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 27.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 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.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (204 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 204.7/204.7 kB 24.1 MB/s eta 0:00:00",
                                "Collecting idna<4,>=2.5",
                                "  Downloading idna-3.11-py3-none-any.whl (71 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 71.0/71.0 kB 12.4 MB/s eta 0:00:00",
                                "Collecting greenlet>=1",
                                "  Downloading greenlet-3.3.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (594 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 594.2/594.2 kB 27.1 MB/s eta 0:00:00",
                                "Collecting anyio<5,>=3.6.2",
                                "  Downloading anyio-4.13.0-py3-none-any.whl (114 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 114.4/114.4 kB 16.9 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 25.2 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 2.8 MB/s eta 0:00:00",
                                "Collecting pyasn1<0.7.0,>=0.6.1",
                                "  Downloading pyasn1-0.6.3-py3-none-any.whl (83 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 84.0/84.0 kB 15.4 MB/s eta 0:00:00",
                                "Collecting markdown-it-py>=2.2.0",
                                "  Downloading markdown_it_py-4.0.0-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.3/87.3 kB 16.7 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: requestsexceptions, pytz, pyperclip, polling, jsonpath_ng, durationpy, xmltodict, websockets, websocket-client, wcwidth, watchdog, vine, validators, uvloop, urllib3, tzlocal, tzdata, typing-inspection, tornado, tabulate, stevedore, smmap, six, setuptools, ruamel.yaml, PyYAML, python-dotenv, PyMySQL, Pygments, pydantic-core, pycparser, pyasn1, psutil, prometheus-client, pluggy, platformdirs, packaging, orderly-set, oauthlib, mmh3, mdurl, MarkupSafe, lxml, loguru, jsonpointer, jmespath, iso8601, invoke, iniconfig, idna, humanize, httptools, hiredis, h11, greenlet, decorator, click, charset_normalizer, certifi, billiard, bcrypt, autopage, async-timeout, annotated-types, annotated-doc, uvicorn, transitions, SQLAlchemy, requests, redis, python-dateutil, pytest, pydantic, pyasn1-modules, pyang, prompt-toolkit, PrettyTable, pbr, markdown-it-py, jsonpatch, Jinja2, jc, gitdb, dogpile.cache, deepdiff, ClusterShell, click-plugins, click-didyoumean, cffi, anyio, amqp, watchfiles, sushy, starlette, sqlmodel, rich, requests-unixsocket, requests_toolbelt, requests-oauthlib, pytest-testinfra, pynetbox, pynacl, pottery, os-service-types, kombu, GitPython, dtrack-auditor, docker, cryptography, click-repl, botocore, s3transfer, rich-argparse, redfish, paramiko, nbcli, keystoneauth1, google-auth, fastapi, celery, openstacksdk, kubernetes, flower, cmd2, boto3, cliff, ara",
                                "  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",
                                "  Running setup.py install for ClusterShell: started",
                                "  Running setup.py install for ClusterShell: finished with status 'done'",
                                "Successfully installed ClusterShell-1.9.3 GitPython-3.1.46 Jinja2-3.1.6 MarkupSafe-3.0.3 PrettyTable-3.17.0 PyMySQL-1.1.2 PyYAML-6.0.3 Pygments-2.19.2 SQLAlchemy-2.0.48 amqp-5.3.1 annotated-doc-0.0.4 annotated-types-0.7.0 anyio-4.13.0 ara-1.7.3 async-timeout-5.0.1 autopage-0.6.0 bcrypt-5.0.0 billiard-4.2.4 boto3-1.42.63 botocore-1.42.78 celery-5.6.2 certifi-2026.2.25 cffi-2.0.0 charset_normalizer-3.4.6 click-8.3.1 click-didyoumean-0.3.1 click-plugins-1.1.1.2 click-repl-0.3.0 cliff-4.13.2 cmd2-3.4.0 cryptography-46.0.6 decorator-5.2.1 deepdiff-8.6.2 docker-7.1.0 dogpile.cache-1.5.0 dtrack-auditor-1.5.0 durationpy-0.10 fastapi-0.135.2 flower-2.0.1 gitdb-4.0.12 google-auth-2.49.1 greenlet-3.3.2 h11-0.16.0 hiredis-3.3.1 httptools-0.7.1 humanize-4.15.0 idna-3.11 iniconfig-2.3.0 invoke-2.2.1 iso8601-2.1.0 jc-1.25.6 jmespath-1.1.0 jsonpatch-1.33 jsonpath_ng-1.8.0 jsonpointer-3.1.1 keystoneauth1-5.13.1 kombu-5.6.2 kubernetes-33.1.0 loguru-0.7.3 lxml-6.0.2 markdown-it-py-4.0.0 mdurl-0.1.2 mmh3-5.2.1 nbcli-0.10.0.dev2 oauthlib-3.3.1 openstacksdk-4.10.0 orderly-set-5.5.0 os-service-types-1.8.2 packaging-26.0 paramiko-4.0.0 pbr-7.0.3 platformdirs-4.9.4 pluggy-1.6.0 polling-0.3.2 pottery-3.0.1 prometheus-client-0.24.1 prompt-toolkit-3.0.52 psutil-7.2.2 pyang-2.7.1 pyasn1-0.6.3 pyasn1-modules-0.4.2 pycparser-3.0 pydantic-2.12.5 pydantic-core-2.41.5 pynacl-1.6.2 pynetbox-7.6.1 pyperclip-1.11.0 pytest-9.0.2 pytest-testinfra-10.2.2 python-dateutil-2.9.0.post0 python-dotenv-1.2.2 pytz-2026.1.post1 redfish-3.3.5 redis-6.4.0 requests-2.33.0 requests-oauthlib-2.0.0 requests-unixsocket-0.4.1 requests_toolbelt-1.0.0 requestsexceptions-1.4.0 rich-14.3.3 rich-argparse-1.7.2 ruamel.yaml-0.19.1 s3transfer-0.16.0 setuptools-82.0.1 six-1.17.0 smmap-5.0.3 sqlmodel-0.0.37 starlette-1.0.0 stevedore-5.7.0 sushy-5.10.0 tabulate-0.10.0 tornado-6.5.5 transitions-0.9.3 typing-inspection-0.4.2 tzdata-2025.3 tzlocal-5.3.1 urllib3-2.6.3 uvicorn-0.42.0 uvloop-0.22.1 validators-0.35.0 vine-5.1.0 watchdog-6.0.0 watchfiles-1.1.1 wcwidth-0.6.0 websocket-client-1.9.0 websockets-16.0 xmltodict-1.0.4"
                            ],
                            "version": null,
                            "virtualenv": "/tmp/venv"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-37f5-57b8-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_0/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:09:54.146402Z",
                            "start": "2026-03-29T03:09:07.702824Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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:26.353942",
                            "end": "2026-03-29 03:10:20.913639",
                            "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-37f5-57b8-00000000000a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-03-29 03:09:54.559697",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Collecting types-PyMySQL\n  Downloading types_pymysql-1.1.0.20251220-py3-none-any.whl (23 kB)\nCollecting types-PyYAML\n  Downloading types_pyyaml-6.0.12.20250915-py3-none-any.whl (20 kB)\nCollecting types-decorator\n  Downloading types_decorator-5.2.0.20251101-py3-none-any.whl (8.1 kB)\nCollecting types-paramiko\n  Downloading types_paramiko-4.0.0.20260322-py3-none-any.whl (38 kB)\nCollecting types-python-dateutil\n  Downloading types_python_dateutil-2.9.0.20260323-py3-none-any.whl (18 kB)\nCollecting types-pytz\n  Downloading types_pytz-2026.1.1.20260304-py3-none-any.whl (10 kB)\nCollecting types-requests\n  Downloading types_requests-2.33.0.20260327-py3-none-any.whl (20 kB)\nCollecting types-simplejson\n  Downloading types_simplejson-3.20.0.20250822-py3-none-any.whl (10 kB)\nCollecting types-tabulate\n  Downloading types_tabulate-0.10.0.20260308-py3-none-any.whl (8.1 kB)\nCollecting types-ujson\n  Downloading types_ujson-5.10.0.20250822-py3-none-any.whl (7.7 kB)\nRequirement already satisfied: cryptography>=37.0.0 in /tmp/venv/lib/python3.11/site-packages (from types-paramiko) (46.0.6)\nRequirement already satisfied: urllib3>=2 in /tmp/venv/lib/python3.11/site-packages (from types-requests) (2.6.3)\nRequirement already satisfied: cffi>=2.0.0 in /tmp/venv/lib/python3.11/site-packages (from cryptography>=37.0.0->types-paramiko) (2.0.0)\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-ujson, types-tabulate, types-simplejson, types-requests, types-PyYAML, types-pytz, types-python-dateutil, types-PyMySQL, types-decorator, types-paramiko\nSuccessfully installed types-PyMySQL-1.1.0.20251220 types-PyYAML-6.0.12.20250915 types-decorator-5.2.0.20251101 types-paramiko-4.0.0.20260322 types-python-dateutil-2.9.0.20260323 types-pytz-2026.1.1.20260304 types-requests-2.33.0.20260327 types-simplejson-3.20.0.20250822 types-tabulate-0.10.0.20260308 types-ujson-5.10.0.20250822\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/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]\nInstalling missing stub packages:\n/tmp/venv/bin/python3 -m pip install types-PyMySQL types-PyYAML types-decorator types-paramiko types-python-dateutil types-pytz types-requests types-simplejson types-tabulate types-ujson\n\n\nSuccess: no issues found in 77 source files",
                            "stdout_lines": [
                                "Collecting types-PyMySQL",
                                "  Downloading types_pymysql-1.1.0.20251220-py3-none-any.whl (23 kB)",
                                "Collecting types-PyYAML",
                                "  Downloading types_pyyaml-6.0.12.20250915-py3-none-any.whl (20 kB)",
                                "Collecting types-decorator",
                                "  Downloading types_decorator-5.2.0.20251101-py3-none-any.whl (8.1 kB)",
                                "Collecting types-paramiko",
                                "  Downloading types_paramiko-4.0.0.20260322-py3-none-any.whl (38 kB)",
                                "Collecting types-python-dateutil",
                                "  Downloading types_python_dateutil-2.9.0.20260323-py3-none-any.whl (18 kB)",
                                "Collecting types-pytz",
                                "  Downloading types_pytz-2026.1.1.20260304-py3-none-any.whl (10 kB)",
                                "Collecting types-requests",
                                "  Downloading types_requests-2.33.0.20260327-py3-none-any.whl (20 kB)",
                                "Collecting types-simplejson",
                                "  Downloading types_simplejson-3.20.0.20250822-py3-none-any.whl (10 kB)",
                                "Collecting types-tabulate",
                                "  Downloading types_tabulate-0.10.0.20260308-py3-none-any.whl (8.1 kB)",
                                "Collecting types-ujson",
                                "  Downloading types_ujson-5.10.0.20250822-py3-none-any.whl (7.7 kB)",
                                "Requirement already satisfied: cryptography>=37.0.0 in /tmp/venv/lib/python3.11/site-packages (from types-paramiko) (46.0.6)",
                                "Requirement already satisfied: urllib3>=2 in /tmp/venv/lib/python3.11/site-packages (from types-requests) (2.6.3)",
                                "Requirement already satisfied: cffi>=2.0.0 in /tmp/venv/lib/python3.11/site-packages (from cryptography>=37.0.0->types-paramiko) (2.0.0)",
                                "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-ujson, types-tabulate, types-simplejson, types-requests, types-PyYAML, types-pytz, types-python-dateutil, types-PyMySQL, types-decorator, types-paramiko",
                                "Successfully installed types-PyMySQL-1.1.0.20251220 types-PyYAML-6.0.12.20250915 types-decorator-5.2.0.20251101 types-paramiko-4.0.0.20260322 types-python-dateutil-2.9.0.20260323 types-pytz-2026.1.1.20260304 types-requests-2.33.0.20260327 types-simplejson-3.20.0.20250822 types-tabulate-0.10.0.20260308 types-ujson-5.10.0.20250822",
                                "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/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]",
                                "Installing missing stub packages:",
                                "/tmp/venv/bin/python3 -m pip install types-PyMySQL types-PyYAML types-decorator types-paramiko types-python-dateutil types-pytz types-requests types-simplejson types-tabulate types-ujson",
                                "",
                                "",
                                "Success: no issues found in 77 source files"
                            ],
                            "zuul_log_id": "0242ac1f-6606-37f5-57b8-00000000000a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-37f5-57b8-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/untrusted/project_0/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:10:21.258529Z",
                            "start": "2026-03-29T03:09:54.231185Z"
                        },
                        "id": "0242ac1f-6606-37f5-57b8-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.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-03-29T03:10:22.739894Z",
                    "start": "2026-03-29T03:10:22.119293Z"
                },
                "id": "0242ac1f-6606-08f8-8157-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQD1XAZtZgV25rWmIPd98L0rIg0uZfmg7snsK+EkL2w1+ySWqIw2dnz1OeZORQjK9qfAPpzmmiEA33G1nzs2KBRqluy4Wh+c5tdRY0N/KiUIWRFzYFLikBH/koR5Ks+jLlJP/cu8qcoAs0cYhrTuW51gSP9NNButP1gwJjBEGY0lZqpe5ip5DOVkZHWBqtzdMS7rAO8iKQTQKGvB1if84ePh/XmojNRNaZwN+sUEzxKRRKNygsB0JuR7uS0HF8VUSztelj1nnKCDbKT1o5/cxkbeC0te1mNYyLveuhiyCvF/ZpqAB8UycAJJ/+EaBRVYwSgg/xjKfHWOBTkJjIXBLRh5nY5SHYBtcgyro3fJbBcqyljOFkBun527WmM3D86I1KP64QdlbydHU4ZnphObdYwZ/I9umTWRKz4KUyb5M5XgPLd/79gq56rZRKcnguY4aUva1V6L+Wppl5CLm79tdxBDXVFPbfPpmzrgVoQ7BGAjWXhlxedhmBkWyAKZrdQsXNE= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQD1XAZtZgV25rWmIPd98L0rIg0uZfmg7snsK+EkL2w1+ySWqIw2dnz1OeZORQjK9qfAPpzmmiEA33G1nzs2KBRqluy4Wh+c5tdRY0N/KiUIWRFzYFLikBH/koR5Ks+jLlJP/cu8qcoAs0cYhrTuW51gSP9NNButP1gwJjBEGY0lZqpe5ip5DOVkZHWBqtzdMS7rAO8iKQTQKGvB1if84ePh/XmojNRNaZwN+sUEzxKRRKNygsB0JuR7uS0HF8VUSztelj1nnKCDbKT1o5/cxkbeC0te1mNYyLveuhiyCvF/ZpqAB8UycAJJ/+EaBRVYwSgg/xjKfHWOBTkJjIXBLRh5nY5SHYBtcgyro3fJbBcqyljOFkBun527WmM3D86I1KP64QdlbydHU4ZnphObdYwZ/I9umTWRKz4KUyb5M5XgPLd/79gq56rZRKcnguY4aUva1V6L+Wppl5CLm79tdxBDXVFPbfPpmzrgVoQ7BGAjWXhlxedhmBkWyAKZrdQsXNE= 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-08f8-8157-000000000005",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/a819268f046c442592e76cec6d7fb3ea/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-03-29T03:10:22.739894Z",
                            "start": "2026-03-29T03:10:22.132658Z"
                        },
                        "id": "0242ac1f-6606-08f8-8157-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
}
]
