[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/osism/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-27T14:37:54.747912Z",
                    "start": "2026-04-27T14:37:40.408143Z"
                },
                "id": "0242ac1f-6606-9c26-3b3c-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-9c26-3b3c-00000000000b",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:40.480267Z",
                            "start": "2026-04-27T14:37:40.440428Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-00000000000d",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "d4f/osism/d4f9ea871c4841e29baada23df46fd24"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000099",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:40.528297Z",
                            "start": "2026-04-27T14:37:40.498975Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-00000000009b",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.14\nJob: openstack-project-manager-mypy\nPipeline: check\nExecutor: 521e9411259a\nTriggered by: https://github.com/osism/openstack-project-manager/pull/274\nEvent ID: 9b007b40-4246-11f1-86f8-654fa79c573e\n"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-00000000000b",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:40.577631Z",
                            "start": "2026-04-27T14:37:40.538282Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-00000000000e",
                        "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:fe30:8c4a\n",
                                    "zj_item": "debian-bookworm"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-00000000000b",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:40.708251Z",
                            "start": "2026-04-27T14:37:40.582708Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-00000000000f",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/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/d4f9ea871c4841e29baada23df46fd24/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/d4f9ea871c4841e29baada23df46fd24/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000012",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:41.233054Z",
                            "start": "2026-04-27T14:37:40.723077Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000014",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "34590b6caa5f8343004c8019c45283970e8c37b1",
                            "dest": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "34590b6caa5f8343004c8019c45283970e8c37b1",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/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/d4f9ea871c4841e29baada23df46fd24/work/.ansible/tmp/ansible-tmp-1777300661.2730577-34-234263919685106/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "8e68e415bae3f1c716bd0db5dd2296c2",
                            "mode": "0644",
                            "owner": "root",
                            "size": 15690,
                            "src": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/.ansible/tmp/ansible-tmp-1777300661.2730577-34-234263919685106/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000012",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:42.383420Z",
                            "start": "2026-04-27T14:37:41.240939Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000015",
                        "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/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:42.673444Z",
                            "start": "2026-04-27T14:37:42.393991Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000019",
                        "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-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:42.711328Z",
                            "start": "2026-04-27T14:37:42.679767Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-00000000001a",
                        "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/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:01.270326",
                            "end": "2026-04-27 14:37:44.518909",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_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-9c26-3b3c-0000000000bc-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 14:37:43.248583",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_id_rsa.pub\nThe key fingerprint is:\nSHA256:XI8apPbANv5+MpTEaofr+7t0yIzZF6XZKa6i7FmsOKQ zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|                 |\n|                 |\n|       .. . .    |\n|     . +o. B .   |\n|      B+S.* +    |\n|  .  =+X+= o     |\n| o   .*+O +      |\n|E .o +ooo+.      |\n|  .o*oo=B*       |\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:XI8apPbANv5+MpTEaofr+7t0yIzZF6XZKa6i7FmsOKQ zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|                 |",
                                "|                 |",
                                "|       .. . .    |",
                                "|     . +o. B .   |",
                                "|      B+S.* +    |",
                                "|  .  =+X+= o     |",
                                "| o   .*+O +      |",
                                "|E .o +ooo+.      |",
                                "|  .o*oo=B*       |",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac1f-6606-9c26-3b3c-0000000000bc-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:44.585948Z",
                            "start": "2026-04-27T14:37:42.756424Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000bc",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:44.626150Z",
                            "start": "2026-04-27T14:37:44.592202Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000bd",
                        "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-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:44.699746Z",
                            "start": "2026-04-27T14:37:44.671126Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000dc",
                        "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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDFVxiQnlET0MgDdxH7efU9X/ISPmfJ7k1vA++yYvQphUYX8wK1pNA1PZ8FSVGzYdSvkaqKvtmZ+g2skW2LqpjB4A2mcDpD4yMltyMjo/MV0U/34sMHUE7zRzNxM6mma1jaGwq5hEqCjQWO6LwloQe1ufGET05anJ9P8t/74T/FPhbElJA/VwlVjYBXMgJ1/20Xd4N+v6uGHC62ykfa9BLxEZNC9uFV2xn9eKCc9JhpL4PS/S/aOgFEJtepxZqiBOKgNyw+ZgfCD3AN2WdG4vEpD/iU1g4cv2omlYiYrUC1Z0wiIqTnagQmQi/x6KnV4sngC0YbQM8bjK9v60YWryfuronZcN6ZYbaniXAfUsDmXVj27RUFlN61BxYhvIJtiHikfxqx2Cbw5P/lBWk3+Gr76jHc0vkNU3I7tph48wkOpINxhRrmAkvZI0+lat8alGdhZSEslp2YGtRiFssCWrXrsD8o3x/JyHxLFnan2Wr2ArEEKVoHRb9W+NurlSJU++U= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDFVxiQnlET0MgDdxH7efU9X/ISPmfJ7k1vA++yYvQphUYX8wK1pNA1PZ8FSVGzYdSvkaqKvtmZ+g2skW2LqpjB4A2mcDpD4yMltyMjo/MV0U/34sMHUE7zRzNxM6mma1jaGwq5hEqCjQWO6LwloQe1ufGET05anJ9P8t/74T/FPhbElJA/VwlVjYBXMgJ1/20Xd4N+v6uGHC62ykfa9BLxEZNC9uFV2xn9eKCc9JhpL4PS/S/aOgFEJtepxZqiBOKgNyw+ZgfCD3AN2WdG4vEpD/iU1g4cv2omlYiYrUC1Z0wiIqTnagQmQi/x6KnV4sngC0YbQM8bjK9v60YWryfuronZcN6ZYbaniXAfUsDmXVj27RUFlN61BxYhvIJtiHikfxqx2Cbw5P/lBWk3+Gr76jHc0vkNU3I7tph48wkOpINxhRrmAkvZI0+lat8alGdhZSEslp2YGtRiFssCWrXrsD8o3x/JyHxLFnan2Wr2ArEEKVoHRb9W+NurlSJU++U= 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-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:45.412496Z",
                            "start": "2026-04-27T14:37:44.705575Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000dd",
                        "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-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:45.692024Z",
                            "start": "2026-04-27T14:37:45.421937Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000de",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "ecc0fdf9fac9567ac98afab90617aec2354f5e1b",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "d4f9ea871c4841e29baada23df46fd24_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "ecc0fdf9fac9567ac98afab90617aec2354f5e1b",
                                    "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-1777300665.7619374-139-28404862782612/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "20034a0c2c4e3ff54318fd00544fc130",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777300665.7619374-139-28404862782612/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:46.386954Z",
                            "start": "2026-04-27T14:37:45.700269Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000df",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "144b4dfb7f21f6e7e8ff6344797c21d9f1e07df8",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "d4f9ea871c4841e29baada23df46fd24_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "144b4dfb7f21f6e7e8ff6344797c21d9f1e07df8",
                                    "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-1777300666.4486532-149-190198758229781/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "fc8961f20a931cedaadf0819ca35978c",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1777300666.4486532-149-190198758229781/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:46.995888Z",
                            "start": "2026-04-27T14:37:46.395101Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000e0",
                        "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-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:47.037030Z",
                            "start": "2026-04-27T14:37:47.002737Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000be",
                        "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-9c26-3b3c-0000000000c3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:47.516254Z",
                            "start": "2026-04-27T14:37:47.043842Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000c5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_id_rsa"
                            ],
                            "delta": "0:00:00.017126",
                            "end": "2026-04-27 14:37:47.879366",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_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-9c26-3b3c-0000000000cb-0-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 14:37:47.862240",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/d4f9ea871c4841e29baada23df46fd24_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac1f-6606-9c26-3b3c-0000000000cb-0-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:47.926592Z",
                            "start": "2026-04-27T14:37:47.527493Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000cb",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:48.334908Z",
                            "start": "2026-04-27T14:37:47.936026Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000cc",
                        "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-9c26-3b3c-000000000017",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:48.365518Z",
                            "start": "2026-04-27T14:37:48.340918Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-0000000000cd",
                        "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-9c26-3b3c-00000000001c",
                        "name": "start-zuul-console",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/start-zuul-console"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:48.806584Z",
                            "start": "2026-04-27T14:37:48.376613Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-00000000001e",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_info_dir": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/logs/zuul-info"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000020",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:48.857867Z",
                            "start": "2026-04-27T14:37:48.817972Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000022",
                        "name": "Define zuul_info_dir fact"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/logs/zuul-info"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/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/d4f9ea871c4841e29baada23df46fd24/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/d4f9ea871c4841e29baada23df46fd24/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000020",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:49.183745Z",
                            "start": "2026-04-27T14:37:48.863212Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000023",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "setup",
                            "ansible_facts": {
                                "ansible_all_ipv4_addresses": [
                                    "10.128.0.99"
                                ],
                                "ansible_all_ipv6_addresses": [
                                    "2a13:1a81:8000:3124:f816:3eff:fe30:8c4a",
                                    "fe80::f816:3eff:fe30:8c4a"
                                ],
                                "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-04-27",
                                    "day": "27",
                                    "epoch": "1777300669",
                                    "epoch_int": "1777300669",
                                    "hour": "14",
                                    "iso8601": "2026-04-27T14:37:49Z",
                                    "iso8601_basic": "20260427T143749954160",
                                    "iso8601_basic_short": "20260427T143749",
                                    "iso8601_micro": "2026-04-27T14:37:49.954160Z",
                                    "minute": "37",
                                    "month": "04",
                                    "second": "49",
                                    "time": "14:37:49",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Monday",
                                    "weekday_number": "1",
                                    "weeknumber": "17",
                                    "year": "2026"
                                },
                                "ansible_default_ipv4": {
                                    "address": "10.128.0.99",
                                    "alias": "ens3",
                                    "broadcast": "10.128.0.111",
                                    "gateway": "10.128.0.97",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:30:8c:4a",
                                    "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:fe30:8c4a",
                                    "gateway": "fe80::f816:3eff:fe92:ad10",
                                    "interface": "ens3",
                                    "macaddress": "fa:16:3e:30:8c:4a",
                                    "mtu": 1500,
                                    "prefix": "64",
                                    "scope": "global",
                                    "type": "ether"
                                },
                                "ansible_device_links": {
                                    "ids": {},
                                    "labels": {
                                        "vda1": [
                                            "cloudimg-rootfs"
                                        ]
                                    },
                                    "masters": {},
                                    "uuids": {
                                        "vda1": [
                                            "0315543e-e064-43a9-b4fd-e40c214ed4ec"
                                        ]
                                    }
                                },
                                "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": [
                                                        "0315543e-e064-43a9-b4fd-e40c214ed4ec"
                                                    ]
                                                },
                                                "sectors": "20969439",
                                                "sectorsize": 512,
                                                "size": "10.00 GB",
                                                "start": "2048",
                                                "uuid": "0315543e-e064-43a9-b4fd-e40c214ed4ec"
                                            }
                                        },
                                        "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.99",
                                        "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:fe30:8c4a",
                                            "prefix": "64",
                                            "scope": "global"
                                        },
                                        {
                                            "address": "fe80::f816:3eff:fe30:8c4a",
                                            "prefix": "64",
                                            "scope": "link"
                                        }
                                    ],
                                    "macaddress": "fa:16:3e:30:8c:4a",
                                    "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 60022 22",
                                    "SSH_CONNECTION": "2a13:1a81:8000:2::38d 60022 2a13:1a81:8000:3124:f816:3eff:fe30:8c4a 22",
                                    "USER": "zuul",
                                    "XDG_RUNTIME_DIR": "/run/user/1000",
                                    "XDG_SESSION_CLASS": "user",
                                    "XDG_SESSION_ID": "2",
                                    "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.0,
                                    "1m": 0.0,
                                    "5m": 0.0
                                },
                                "ansible_local": {},
                                "ansible_locally_reachable_ips": {
                                    "ipv4": [
                                        "10.128.0.99",
                                        "127.0.0.0/8",
                                        "127.0.0.1"
                                    ],
                                    "ipv6": [
                                        "::1",
                                        "2a13:1a81:8000:3124:f816:3eff:fe30:8c4a",
                                        "fe80::f816:3eff:fe30:8c4a"
                                    ]
                                },
                                "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": "4cdd64816032499f9b03b3a98b2a1f49",
                                "ansible_memfree_mb": 3667,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 3754,
                                        "used": 159
                                    },
                                    "real": {
                                        "free": 3667,
                                        "total": 3913,
                                        "used": 246
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 3913,
                                "ansible_mounts": [
                                    {
                                        "block_available": 1944369,
                                        "block_size": 4096,
                                        "block_total": 2443614,
                                        "block_used": 499245,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 2493519,
                                        "inode_total": 2529792,
                                        "inode_used": 36273,
                                        "mount": "/",
                                        "options": "rw,relatime",
                                        "size_available": 7964135424,
                                        "size_total": 10009042944,
                                        "uuid": "0315543e-e064-43a9-b4fd-e40c214ed4ec"
                                    }
                                ],
                                "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": "AAAAB3NzaC1kc3MAAACBALVDBX6bz5tOYG+ceyQ2idprdOw330w+FV4nVjN6YXrvD1hB09yka0xds8m47xF7w7MkSguiM1wvpcvsiNywu9PbbVPFNtGEIBvAZ9/nii9ZqGasDipKbQx5V1iUJsTZ5pr/4bQu6eKXW2glecVjRABz1wmJ4RJxdoV8Un8XU6VHAAAAFQD7uWx1/vyUy0B+212tRkkDy5r8swAAAIAgYWWtc0wIoLC4+rLFaiq5czV33OL6K6hn88wB24PoAekMOEdcbAizXgACez6OUKh+Cmjz9G1DJFbMg7qRY9L02lRitfKQkJi1PWBGk7khz++3MhUngnk+CmCzGUzJBXV6A8o/vu6WUHLM0DLtO4z/sXJffkEb8FsuT1KtijkL0gAAAIAb77ey/KdFQRwgjC4ZdBRlSP/zQcJ6FAsLU3g7KXRxHKL50F4B2yiXccyIGFCluH95b8syyb/whIpha7kiFAoK0VqN2avT8qfDAfOZH6ZgRnhV1dvHK+KSgu6Fkywkgy6MoWZGM/vW2oD714aQHDCY2k6ytwKYt+WFgjz84En9fA==",
                                "ansible_ssh_host_key_dsa_public_keytype": "ssh-dss",
                                "ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH9apiyghESE/g5ATY+7ol8k/s1LIvbRoOQCbl30wPKhB7ZD0l//Z841SA3pZE0nuWqI8tmpRRYEX9nPepAh8RE=",
                                "ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
                                "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAIEZFTOxZc16FTpcU2QfFSFBUooT2AlTYiMuLGj2CNaLv",
                                "ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
                                "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQCH5mfE5Ytm70Xvo8MdTzCsfYdJJUO0obkWxP4PX88poDcfCrWRGvIlfD6cRccSrS9hhLIP4LcivfvMjbdMd1TDxQg4LzUET0uZMHzTyy6pv0EhjEKiOQnZ9i/B6hI42Pp9utBz6dappnlGS4W1/ezv51GTHjHK75G4M5ajjXh1KVhSWzD+49AQsZOWQtu3gD3vZDquQH5k0e0/teeYEVCkqggiwVihYe6mX/j/aUc+lIa8KJzWUiGDKXj7qLlKvmm//lZPfT3aHcRckemv02z3UqjD6SwsJC8En7V2e8NQAlpxl3gX1K5lxZBp0zkGnKEz9OaLm7SPaK75Fxf4yuBgGYOfX5a4kI63fXFEbAKPhhfWHz7kDVUaLN2Utw1bndAdIKZFJktBR9U036vZGF9IitXVbTIsShPHcb4ZNmegb+ShNmJfae1ZjremmM86tesE2+/3I+7DeTCVhGVfnhFEQnkdgMLDDFw6MEp79ag//RaRC9NVcQ5EGFMiXYJh06E=",
                                "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": 1974,
                                "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-9c26-3b3c-000000000020",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:50.313027Z",
                            "start": "2026-04-27T14:37:49.190261Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000024",
                        "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-9c26-3b3c-000000000020",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:50.483324Z",
                            "start": "2026-04-27T14:37:50.324257Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000025",
                        "name": "Sanitize hostname"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "template",
                            "changed": true,
                            "checksum": "747906a898ea4d92ffce97b24520304c497bb422",
                            "dest": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/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": "747906a898ea4d92ffce97b24520304c497bb422",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/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/d4f9ea871c4841e29baada23df46fd24/work/.ansible/tmp/ansible-tmp-1777300670.566196-246-248453761974338/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "0992f2270912607512dddf5307f26895",
                            "mode": "0644",
                            "owner": "root",
                            "size": 13265,
                            "src": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/.ansible/tmp/ansible-tmp-1777300670.566196-246-248453761974338/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000020",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:51.160728Z",
                            "start": "2026-04-27T14:37:50.533502Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000026",
                        "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            495371   343  495028    1% /dev\ntmpfs           500891   458  500433    1% /run\n/dev/vda1      2529792 36273 2493519    2% /\ntmpfs           500891     1  500890    1% /dev/shm\ntmpfs           500891     3  500888    1% /run/lock\ntmpfs           100178    20  100158    1% /run/user/1000\n",
                            "df_m": "Filesystem     1M-blocks  Used Available Use% Mounted on\nudev                1936     0      1936   0% /dev\ntmpfs                392     1       391   1% /run\n/dev/vda1           9546  1505      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:30:8c:4a brd ff:ff:ff:ff:ff:ff\n    altname enp0s3\n    inet 10.128.0.99/28 brd 10.128.0.111 scope global dynamic ens3\n       valid_lft 41229sec preferred_lft 41229sec\n    inet6 2a13:1a81:8000:3124:f816:3eff:fe30:8c4a/64 scope global dynamic mngtmpaddr \n       valid_lft forever preferred_lft forever\n    inet6 fe80::f816:3eff:fe30:8c4a/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.99 \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 65269sec 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-9c26-3b3c-000000000020",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:51.668765Z",
                            "start": "2026-04-27T14:37:51.170099Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000028",
                        "name": "Collect information about zuul worker"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "template",
                            "changed": true,
                            "checksum": "1af561c9836a8541749e6fff21d64ea8242ee753",
                            "dest": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/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": "1af561c9836a8541749e6fff21d64ea8242ee753",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/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/d4f9ea871c4841e29baada23df46fd24/work/.ansible/tmp/ansible-tmp-1777300671.7138107-285-130665656268306/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "1c2062e74ccecf07242ec7a139ff4205",
                            "mode": "0644",
                            "owner": "root",
                            "size": 2522,
                            "src": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/work/.ansible/tmp/ansible-tmp-1777300671.7138107-285-130665656268306/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000020",
                        "name": "validate-host",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/validate-host"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:52.236846Z",
                            "start": "2026-04-27T14:37:51.678591Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000029",
                        "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-9c26-3b3c-00000000002b",
                        "name": "prepare-workspace-log",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_0/github.com/osism/zuul-config/roles/prepare-workspace-log"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:52.529698Z",
                            "start": "2026-04-27T14:37:52.247581Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-00000000002d",
                        "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/d4f9ea871c4841e29baada23df46fd24/work/src '[zuul@2a13:1a81:8000:3124:f816:3eff:fe30:8c4a]:.'",
                            "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:fe30:8c4a]:.",
                                    "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/d4f9ea871c4841e29baada23df46fd24/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/openstack-project-manager/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.flake8\n<f+++++++++ src/github.com/osism/openstack-project-manager/.gitignore\n<f+++++++++ src/github.com/osism/openstack-project-manager/.yamllint.yml\n<f+++++++++ src/github.com/osism/openstack-project-manager/.zuul.yaml\n<f+++++++++ src/github.com/osism/openstack-project-manager/LICENSE\n<f+++++++++ src/github.com/osism/openstack-project-manager/Pipfile\n<f+++++++++ src/github.com/osism/openstack-project-manager/Pipfile.lock\n<f+++++++++ src/github.com/osism/openstack-project-manager/README.md\n<f+++++++++ src/github.com/osism/openstack-project-manager/clouds.yml.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/requirements.txt\n<f+++++++++ src/github.com/osism/openstack-project-manager/secure.yml.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/settings.toml.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/tox.ini\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/COMMIT_EDITMSG\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/FETCH_HEAD\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/HEAD\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/ORIG_HEAD\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/config\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/config.worktree\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/description\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/index\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/packed-refs\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/branches/\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/applypatch-msg.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/commit-msg.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/fsmonitor-watchman.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/post-update.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-applypatch.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-commit.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-merge-commit.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-push.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-rebase.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-receive.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/prepare-commit-msg.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/push-to-checkout.sample\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/update.sample\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/info/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/info/exclude\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/logs/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/logs/HEAD\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/2c/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/2c/7cff2d8d441aa4e1e90f87f723323984369383\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/43/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/43/bd58fb099fe294d53e6ec16481b869d87dd07d\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/6b/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/6b/5de5180af247e840404965c50cf1f65ab1a9ce\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/77/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/77/b45588f90959fc0529482430458ea3c8aafd0d\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/9a/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/9a/e3398ae621ad6784108e4547c56fb8bf46ae09\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/a5/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/a5/f152d1c22371051d38fa5ed654c2c54b9e222c\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/b8/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/b8/aaed37746a0f9bd4a117201fdab074311a6a2a\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d4/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d4/e44b6858e3b97d74b65a3309f467fada057ce7\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d5/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d5/1cbd4474b761f0161db49cf83d6e6ca62792d1\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d6/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d6/62fb0544c7bffdf47ceefad2dca8b1be85b3c5\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/eb/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/eb/1e6169ae585274239fde33ce74412b0bdb371a\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/f8/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/f8/98405bb9dc5ce9a3a3427db8eca6ff458a57c0\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/f8/c7822f5dfc03218e820f74fa4b7e3328c3303d\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/info/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/info/commit-graph\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/info/packs\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/pack-bd1b7fe191aa68bb1cb78a03f6df1dee2e79a164.idx\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/pack-bd1b7fe191aa68bb1cb78a03f6df1dee2e79a164.pack\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/pack-e1946e240194395408e6965f080d20176fc2aa4c.idx\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/pack-e1946e240194395408e6965f080d20176fc2aa4c.pack\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/heads/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/heads/main\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/remotes/\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/remotes/origin/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/remotes/origin/main\ncd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/zuul/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/zuul/b28b7af69320201d1cf206ebf28373980add1451\n<f+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/zuul/fetch\ncd+++++++++ src/github.com/osism/openstack-project-manager/.github/\n<f+++++++++ src/github.com/osism/openstack-project-manager/.github/renovate.json\ncd+++++++++ src/github.com/osism/openstack-project-manager/etc/\n<f+++++++++ src/github.com/osism/openstack-project-manager/etc/classes.yml\n<f+++++++++ src/github.com/osism/openstack-project-manager/etc/endpoints.yml\ncd+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/\n<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/__init__.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/create.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/create_endpoint_groups.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/create_ldap.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/create_user.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/manage.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/manage_ldap.py\ncd+++++++++ src/github.com/osism/openstack-project-manager/playbooks/\n<f+++++++++ src/github.com/osism/openstack-project-manager/playbooks/mypy.yml\n<f+++++++++ src/github.com/osism/openstack-project-manager/playbooks/tox.yml\ncd+++++++++ src/github.com/osism/openstack-project-manager/test/\ncd+++++++++ src/github.com/osism/openstack-project-manager/test/unit/\n<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/__init__.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_create.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_create_ldap.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_create_user.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_manage.py\n<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_manage_ldap.py\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ src/",
                                "cd+++++++++ src/github.com/",
                                "cd+++++++++ src/github.com/osism/",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.flake8",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.gitignore",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.yamllint.yml",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.zuul.yaml",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/LICENSE",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/Pipfile",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/Pipfile.lock",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/README.md",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/clouds.yml.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/requirements.txt",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/secure.yml.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/settings.toml.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/tox.ini",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/COMMIT_EDITMSG",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/FETCH_HEAD",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/HEAD",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/ORIG_HEAD",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/config",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/config.worktree",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/description",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/index",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/packed-refs",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/branches/",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/applypatch-msg.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/commit-msg.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/fsmonitor-watchman.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/post-update.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-applypatch.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-commit.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-merge-commit.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-push.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-rebase.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/pre-receive.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/prepare-commit-msg.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/push-to-checkout.sample",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/hooks/update.sample",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/info/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/info/exclude",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/logs/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/logs/HEAD",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/2c/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/2c/7cff2d8d441aa4e1e90f87f723323984369383",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/43/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/43/bd58fb099fe294d53e6ec16481b869d87dd07d",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/6b/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/6b/5de5180af247e840404965c50cf1f65ab1a9ce",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/77/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/77/b45588f90959fc0529482430458ea3c8aafd0d",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/9a/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/9a/e3398ae621ad6784108e4547c56fb8bf46ae09",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/a5/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/a5/f152d1c22371051d38fa5ed654c2c54b9e222c",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/b8/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/b8/aaed37746a0f9bd4a117201fdab074311a6a2a",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d4/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d4/e44b6858e3b97d74b65a3309f467fada057ce7",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d5/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d5/1cbd4474b761f0161db49cf83d6e6ca62792d1",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d6/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/d6/62fb0544c7bffdf47ceefad2dca8b1be85b3c5",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/eb/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/eb/1e6169ae585274239fde33ce74412b0bdb371a",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/f8/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/f8/98405bb9dc5ce9a3a3427db8eca6ff458a57c0",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/f8/c7822f5dfc03218e820f74fa4b7e3328c3303d",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/info/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/info/commit-graph",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/info/packs",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/pack-bd1b7fe191aa68bb1cb78a03f6df1dee2e79a164.idx",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/pack-bd1b7fe191aa68bb1cb78a03f6df1dee2e79a164.pack",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/pack-e1946e240194395408e6965f080d20176fc2aa4c.idx",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/objects/pack/pack-e1946e240194395408e6965f080d20176fc2aa4c.pack",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/heads/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/heads/main",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/remotes/",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/remotes/origin/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/remotes/origin/main",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/zuul/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/zuul/b28b7af69320201d1cf206ebf28373980add1451",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.git/refs/zuul/fetch",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/.github/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/.github/renovate.json",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/etc/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/etc/classes.yml",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/etc/endpoints.yml",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/__init__.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/create.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/create_endpoint_groups.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/create_ldap.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/create_user.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/manage.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/openstack_project_manager/manage_ldap.py",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/playbooks/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/playbooks/mypy.yml",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/playbooks/tox.yml",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/test/",
                                "cd+++++++++ src/github.com/osism/openstack-project-manager/test/unit/",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/__init__.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_create.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_create_ldap.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_create_user.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_manage.py",
                                "<f+++++++++ src/github.com/osism/openstack-project-manager/test/unit/test_manage_ldap.py"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-00000000002b",
                        "name": "prepare-workspace-log",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_0/github.com/osism/zuul-config/roles/prepare-workspace-log"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:53.359405Z",
                            "start": "2026-04-27T14:37:52.535666Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-00000000002e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": "0755",
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/zuul-output/logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "zuul",
                            "path": "/home/zuul/zuul-output/logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000030",
                        "name": "diagnose-first-sudo",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-first-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:53.666309Z",
                            "start": "2026-04-27T14:37:53.367909Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000032",
                        "name": "Ensure log directory exists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "changed": true,
                            "cmd": "set +e\nout=/home/zuul/zuul-output/logs/sudo-strace.log\n: > \"$out\"\nif command -v strace >/dev/null 2>&1; then\n  cmd=(timeout 40 strace -f -tt -T -y       -o \"$out\"       sudo -n true)\nelse\n  echo \"strace not installed; running bare sudo probe\" > \"$out\"\n  cmd=(timeout 40 sudo -n true)\nfi\n{ TIMEFORMAT='WALL: %3R s'; time \"${cmd[@]}\"; } 2> \"$out.time\"\necho \"EXIT: $?\" >> \"$out.time\"\n",
                            "delta": "0:00:00.067286",
                            "end": "2026-04-27 14:37:54.035679",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set +e\nout=/home/zuul/zuul-output/logs/sudo-strace.log\n: > \"$out\"\nif command -v strace >/dev/null 2>&1; then\n  cmd=(timeout 40 strace -f -tt -T -y       -o \"$out\"       sudo -n true)\nelse\n  echo \"strace not installed; running bare sudo probe\" > \"$out\"\n  cmd=(timeout 40 sudo -n true)\nfi\n{ TIMEFORMAT='WALL: %3R s'; time \"${cmd[@]}\"; } 2> \"$out.time\"\necho \"EXIT: $?\" >> \"$out.time\"\n",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-9c26-3b3c-000000000033-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 14:37:53.968393",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-9c26-3b3c-000000000033-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000030",
                        "name": "diagnose-first-sudo",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-first-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:54.205162Z",
                            "start": "2026-04-27T14:37:53.693803Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000033",
                        "name": "Probe first sudo invocation under strace"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.shell",
                            "changed": true,
                            "cmd": "set +e\nout=/home/zuul/zuul-output/logs/sudo-debug.txt\n{\n  echo \"== date ==\";            date -Iseconds\n  echo \"== uptime ==\";          uptime\n  echo \"== boot age (s) ==\";    awk '{print int($1)}' /proc/uptime\n  echo \"== /etc/hostname ==\"; cat /etc/hostname\n  echo \"== /etc/hosts ==\";      cat /etc/hosts\n  echo \"== nsswitch.conf ==\";   cat /etc/nsswitch.conf\n  echo \"== resolv.conf ==\";     cat /etc/resolv.conf 2>/dev/null\n  echo \"== getent ahosts ==\"\n  getent ahosts \"$(cat /etc/hostname)\"\n  echo \"== timed getent hosts ==\"\n  { TIMEFORMAT='getent: %3R s'; time getent hosts \"$(cat /etc/hostname)\"; } 2>&1\n  echo \"== systemd-logind active ==\"\n  systemctl is-active systemd-logind\n  echo \"== systemd-logind ActiveEnterTimestampMonotonic ==\"\n  systemctl show systemd-logind -p ActiveEnterTimestampMonotonic\n  echo \"== systemd-resolved active ==\"\n  systemctl is-active systemd-resolved 2>/dev/null\n  echo \"== /etc/pam.d/sudo ==\"\n  cat /etc/pam.d/sudo 2>/dev/null\n  echo \"== sudoers.d listing ==\"\n  ls -la /etc/sudoers.d/ 2>/dev/null\n} > \"$out\" 2>&1\n",
                            "delta": "0:00:00.202679",
                            "end": "2026-04-27 14:37:54.695818",
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set +e\nout=/home/zuul/zuul-output/logs/sudo-debug.txt\n{\n  echo \"== date ==\";            date -Iseconds\n  echo \"== uptime ==\";          uptime\n  echo \"== boot age (s) ==\";    awk '{print int($1)}' /proc/uptime\n  echo \"== /etc/hostname ==\"; cat /etc/hostname\n  echo \"== /etc/hosts ==\";      cat /etc/hosts\n  echo \"== nsswitch.conf ==\";   cat /etc/nsswitch.conf\n  echo \"== resolv.conf ==\";     cat /etc/resolv.conf 2>/dev/null\n  echo \"== getent ahosts ==\"\n  getent ahosts \"$(cat /etc/hostname)\"\n  echo \"== timed getent hosts ==\"\n  { TIMEFORMAT='getent: %3R s'; time getent hosts \"$(cat /etc/hostname)\"; } 2>&1\n  echo \"== systemd-logind active ==\"\n  systemctl is-active systemd-logind\n  echo \"== systemd-logind ActiveEnterTimestampMonotonic ==\"\n  systemctl show systemd-logind -p ActiveEnterTimestampMonotonic\n  echo \"== systemd-resolved active ==\"\n  systemctl is-active systemd-resolved 2>/dev/null\n  echo \"== /etc/pam.d/sudo ==\"\n  cat /etc/pam.d/sudo 2>/dev/null\n  echo \"== sudoers.d listing ==\"\n  ls -la /etc/sudoers.d/ 2>/dev/null\n} > \"$out\" 2>&1\n",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac1f-6606-9c26-3b3c-000000000034-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 14:37:54.493139",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-9c26-3b3c-000000000034-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-9c26-3b3c-000000000030",
                        "name": "diagnose-first-sudo",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_0/github.com/osism/zuul-config/roles/diagnose-first-sudo"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:37:54.747912Z",
                            "start": "2026-04-27T14:37:54.226584Z"
                        },
                        "id": "0242ac1f-6606-9c26-3b3c-000000000034",
                        "name": "Snapshot DNS / PAM / logind state (no become)"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 14,
            "failures": 0,
            "ignored": 0,
            "ok": 29,
            "rescued": 0,
            "skipped": 3,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "1",
    "phase": "pre",
    "playbook": "github.com/osism/openstack-project-manager/playbooks/mypy.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-27T14:38:02.643803Z",
                    "start": "2026-04-27T14:37:55.730358Z"
                },
                "id": "0242ac1f-6606-885f-8d6e-000000000002",
                "name": "Pre mypy play"
            },
            "tasks": [
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1777300678,
                            "cache_updated": true,
                            "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": [
                                        "libldap2-dev",
                                        "libsasl2-dev"
                                    ],
                                    "only_upgrade": false,
                                    "package": [
                                        "libldap2-dev",
                                        "libsasl2-dev"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "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...\nThe following additional packages will be installed:\n  libldap-dev\nThe following NEW packages will be installed:\n  libldap-dev libldap2-dev libsasl2-dev\n0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 555 kB of archives.\nAfter this operation, 2561 kB of additional disk space will be used.\nGet:1 http://deb.debian.org/debian bookworm/main amd64 libldap-dev amd64 2.5.13+dfsg-5 [298 kB]\nGet:2 http://deb.debian.org/debian bookworm/main amd64 libldap2-dev all 2.5.13+dfsg-5 [22.6 kB]\nGet:3 http://deb.debian.org/debian bookworm/main amd64 libsasl2-dev amd64 2.1.28+dfsg-10 [235 kB]\nFetched 555 kB in 0s (6697 kB/s)\nSelecting previously unselected package libldap-dev:amd64.\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 .../libldap-dev_2.5.13+dfsg-5_amd64.deb ...\r\nUnpacking libldap-dev:amd64 (2.5.13+dfsg-5) ...\r\nSelecting previously unselected package libldap2-dev.\r\nPreparing to unpack .../libldap2-dev_2.5.13+dfsg-5_all.deb ...\r\nUnpacking libldap2-dev (2.5.13+dfsg-5) ...\r\nSelecting previously unselected package libsasl2-dev.\r\nPreparing to unpack .../libsasl2-dev_2.1.28+dfsg-10_amd64.deb ...\r\nUnpacking libsasl2-dev (2.1.28+dfsg-10) ...\r\nSetting up libsasl2-dev (2.1.28+dfsg-10) ...\r\nSetting up libldap-dev:amd64 (2.5.13+dfsg-5) ...\r\nSetting up libldap2-dev (2.5.13+dfsg-5) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libldap-dev",
                                "The following NEW packages will be installed:",
                                "  libldap-dev libldap2-dev libsasl2-dev",
                                "0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.",
                                "Need to get 555 kB of archives.",
                                "After this operation, 2561 kB of additional disk space will be used.",
                                "Get:1 http://deb.debian.org/debian bookworm/main amd64 libldap-dev amd64 2.5.13+dfsg-5 [298 kB]",
                                "Get:2 http://deb.debian.org/debian bookworm/main amd64 libldap2-dev all 2.5.13+dfsg-5 [22.6 kB]",
                                "Get:3 http://deb.debian.org/debian bookworm/main amd64 libsasl2-dev amd64 2.1.28+dfsg-10 [235 kB]",
                                "Fetched 555 kB in 0s (6697 kB/s)",
                                "Selecting previously unselected package libldap-dev:amd64.",
                                "(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 .../libldap-dev_2.5.13+dfsg-5_amd64.deb ...",
                                "Unpacking libldap-dev:amd64 (2.5.13+dfsg-5) ...",
                                "Selecting previously unselected package libldap2-dev.",
                                "Preparing to unpack .../libldap2-dev_2.5.13+dfsg-5_all.deb ...",
                                "Unpacking libldap2-dev (2.5.13+dfsg-5) ...",
                                "Selecting previously unselected package libsasl2-dev.",
                                "Preparing to unpack .../libsasl2-dev_2.1.28+dfsg-10_amd64.deb ...",
                                "Unpacking libsasl2-dev (2.1.28+dfsg-10) ...",
                                "Setting up libsasl2-dev (2.1.28+dfsg-10) ...",
                                "Setting up libldap-dev:amd64 (2.5.13+dfsg-5) ...",
                                "Setting up libldap2-dev (2.5.13+dfsg-5) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:02.643803Z",
                            "start": "2026-04-27T14:37:55.746406Z"
                        },
                        "id": "0242ac1f-6606-885f-8d6e-000000000004",
                        "name": "Ensure required APT packages are installed"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/osism/zuul-jobs/playbooks/mypy/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-04-27T14:38:55.431307Z",
                    "start": "2026-04-27T14:38:03.520463Z"
                },
                "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_1/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:03.582594Z",
                            "start": "2026-04-27T14:38:03.536263Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:03.668118Z",
                            "start": "2026-04-27T14:38:03.633673Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:03.699968Z",
                            "start": "2026-04-27T14:38:03.675791Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:03.743260Z",
                            "start": "2026-04-27T14:38:03.708156Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:03.792530Z",
                            "start": "2026-04-27T14:38:03.756837Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:03.831615Z",
                            "start": "2026-04-27T14:38:03.805657Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:03.873626Z",
                            "start": "2026-04-27T14:38:03.848154Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:03.899472Z",
                            "start": "2026-04-27T14:38:03.883229Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000003f",
                        "name": "ensure-python",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-python"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:03.933135Z",
                            "start": "2026-04-27T14:38:03.908398Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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.009126",
                            "end": "2026-04-27 14:38:04.456734",
                            "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-f27b-133c-000000000070-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-04-27 14:38:04.447608",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac1f-6606-f27b-133c-000000000070-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:04.496119Z",
                            "start": "2026-04-27T14:38:03.978522Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip/tasks/Debian.yaml",
                                    "include_args": {},
                                    "zj_distro_os": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip/tasks/Debian.yaml"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:04.536967Z",
                            "start": "2026-04-27T14:38:04.501445Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-000000000071",
                        "name": "Install pip from packages"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "apt",
                            "cache_update_time": 1777300678,
                            "cache_updated": false,
                            "changed": false,
                            "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-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:06.539224Z",
                            "start": "2026-04-27T14:38:04.567520Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-0000000000bf",
                        "name": "Update package lists"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "package",
                            "cache_update_time": 1777300678,
                            "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 (9714 kB/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 ... 28054 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 (9714 kB/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 ... 28054 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-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:10.743816Z",
                            "start": "2026-04-27T14:38:06.548776Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:10.812774Z",
                            "start": "2026-04-27T14:38:10.752401Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:10.851231Z",
                            "start": "2026-04-27T14:38:10.825222Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-000000000076",
                        "name": "Ensure setuptools"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "python3",
                                "-m",
                                "ensurepip",
                                "--help"
                            ],
                            "delta": "0:00:00.085809",
                            "end": "2026-04-27 14:38:11.248191",
                            "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-f27b-133c-000000000077-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 14:38:11.162382",
                            "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-f27b-133c-000000000077-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:11.400397Z",
                            "start": "2026-04-27T14:38:10.886191Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:11.451836Z",
                            "start": "2026-04-27T14:38:11.413483Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:11.492407Z",
                            "start": "2026-04-27T14:38:11.464496Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-000000000079",
                        "name": "Install pip from source"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "command -v python3\n",
                            "delta": "0:00:00.006995",
                            "end": "2026-04-27 14:38:11.804472",
                            "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-f27b-133c-00000000007a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-04-27 14:38:11.797477",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "/usr/bin/python3",
                            "stdout_lines": [
                                "/usr/bin/python3"
                            ],
                            "zuul_log_id": "0242ac1f-6606-f27b-133c-00000000007a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:12.036989Z",
                            "start": "2026-04-27T14:38:11.526699Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:12.124853Z",
                            "start": "2026-04-27T14:38:12.049287Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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-f27b-133c-00000000006e",
                        "name": "ensure-pip",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_3/github.com/osism/openinfra-zuul-jobs/roles/ensure-pip"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:12.188213Z",
                            "start": "2026-04-27T14:38:12.131104Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-00000000007c",
                        "name": "Set ensure_pip_virtualenv_command"
                    }
                },
                {
                    "hosts": {
                        "debian-bookworm": {
                            "action": "ansible.builtin.pip",
                            "changed": true,
                            "cmd": [
                                "/tmp/venv/bin/pip3",
                                "install",
                                "mypy==1.20.1"
                            ],
                            "invocation": {
                                "module_args": {
                                    "chdir": null,
                                    "editable": false,
                                    "executable": null,
                                    "extra_args": null,
                                    "name": [
                                        "mypy==1.20.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.20.1"
                            ],
                            "requirements": null,
                            "state": "present",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Collecting mypy==1.20.1\n  Downloading mypy-1.20.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (14.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 14.5/14.5 MB 22.4 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.1 MB/s eta 0:00:00\nCollecting mypy_extensions>=1.0.0\n  Downloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)\nCollecting pathspec>=1.0.0\n  Downloading pathspec-1.1.1-py3-none-any.whl (57 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 57.3/57.3 kB 10.1 MB/s eta 0:00:00\nCollecting librt>=0.8.0\n  Downloading librt-0.9.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (224 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 224.0/224.0 kB 25.2 MB/s eta 0:00:00\nInstalling collected packages: typing_extensions, pathspec, mypy_extensions, librt, mypy\nSuccessfully installed librt-0.9.0 mypy-1.20.1 mypy_extensions-1.1.0 pathspec-1.1.1 typing_extensions-4.15.0\n",
                            "stdout_lines": [
                                "Collecting mypy==1.20.1",
                                "  Downloading mypy-1.20.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (14.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 14.5/14.5 MB 22.4 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.1 MB/s eta 0:00:00",
                                "Collecting mypy_extensions>=1.0.0",
                                "  Downloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)",
                                "Collecting pathspec>=1.0.0",
                                "  Downloading pathspec-1.1.1-py3-none-any.whl (57 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 57.3/57.3 kB 10.1 MB/s eta 0:00:00",
                                "Collecting librt>=0.8.0",
                                "  Downloading librt-0.9.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (224 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 224.0/224.0 kB 25.2 MB/s eta 0:00:00",
                                "Installing collected packages: typing_extensions, pathspec, mypy_extensions, librt, mypy",
                                "Successfully installed librt-0.9.0 mypy-1.20.1 mypy_extensions-1.1.0 pathspec-1.1.1 typing_extensions-4.15.0"
                            ],
                            "version": null,
                            "virtualenv": "/tmp/venv"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-f27b-133c-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_1/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:21.287761Z",
                            "start": "2026-04-27T14:38:12.234411Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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/openstack-project-manager",
                                    "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": "",
                            "stderr_lines": [],
                            "stdout": "Collecting 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\u2501 806.6/806.6 kB 8.6 MB/s eta 0:00:00\nCollecting click==8.3.2\n  Downloading click-8.3.2-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.4/108.4 kB 11.2 MB/s eta 0:00:00\nCollecting deepmerge==2.0\n  Downloading deepmerge-2.0-py3-none-any.whl (13 kB)\nCollecting dynaconf==3.2.13\n  Downloading dynaconf-3.2.13-py2.py3-none-any.whl (238 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 238.0/238.0 kB 13.6 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 10.8 MB/s eta 0:00:00\nCollecting openstacksdk==4.12.0\n  Downloading openstacksdk-4.12.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.4 MB/s eta 0:00:00\nCollecting os-client-config==2.3.0\n  Downloading os_client_config-2.3.0-py3-none-any.whl (30 kB)\nCollecting python-ldap==3.4.5\n  Downloading python_ldap-3.4.5.tar.gz (388 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 388.5/388.5 kB 3.9 MB/s eta 0:00:00\n  Installing build dependencies: started\n  Installing build dependencies: finished with status 'done'\n  Getting requirements to build wheel: started\n  Getting requirements to build wheel: finished with status 'done'\n  Preparing metadata (pyproject.toml): started\n  Preparing metadata (pyproject.toml): finished with status 'done'\nCollecting python-neutronclient==11.8.0\n  Downloading python_neutronclient-11.8.0-py3-none-any.whl (296 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 296.4/296.4 kB 18.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 typer==0.24.1\n  Downloading typer-0.24.1-py3-none-any.whl (56 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 56.1/56.1 kB 9.0 MB/s eta 0:00:00\nCollecting cryptography>=2.7\n  Downloading cryptography-47.0.0-cp311-abi3-manylinux_2_34_x86_64.whl (4.7 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.7/4.7 MB 25.5 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.1 MB/s eta 0:00:00\nCollecting iso8601>=0.1.11\n  Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB)\nCollecting jmespath>=0.9.0\n  Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)\nCollecting jsonpatch!=1.20,>=1.16\n  Downloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB)\nCollecting keystoneauth1>=5.10.0\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 18.6 MB/s eta 0:00:00\nCollecting os-service-types>=1.8.1\n  Downloading os_service_types-1.8.2-py3-none-any.whl (24 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 17.4 MB/s eta 0:00:00\nCollecting platformdirs>=3\n  Downloading platformdirs-4.9.6-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 18.5 MB/s eta 0:00:00\nRequirement already satisfied: typing-extensions>=4.12.0 in /tmp/venv/lib/python3.11/site-packages (from openstacksdk==4.12.0->-r requirements.txt (line 6)) (4.15.0)\nCollecting pyasn1>=0.3.7\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 11.2 MB/s eta 0:00:00\nCollecting pyasn1_modules>=0.1.5\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 20.7 MB/s eta 0:00:00\nCollecting cliff>=3.4.0\n  Downloading cliff-4.13.3-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.6/86.6 kB 13.9 MB/s eta 0:00:00\nCollecting debtcollector>=1.2.0\n  Downloading debtcollector-3.1.0-py3-none-any.whl (24 kB)\nCollecting netaddr>=0.7.18\n  Downloading netaddr-1.3.0-py3-none-any.whl (2.3 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.3/2.3 MB 28.3 MB/s eta 0:00:00\nCollecting osc-lib>=1.12.0\n  Downloading osc_lib-4.5.0-py3-none-any.whl (96 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 96.9/96.9 kB 17.2 MB/s eta 0:00:00\nCollecting oslo.i18n>=3.15.3\n  Downloading oslo_i18n-6.7.2-py3-none-any.whl (47 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 47.7/47.7 kB 6.1 MB/s eta 0:00:00\nCollecting oslo.log>=3.36.0\n  Downloading oslo_log-8.1.0-py3-none-any.whl (77 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 77.1/77.1 kB 12.4 MB/s eta 0:00:00\nCollecting oslo.serialization!=2.19.1,>=2.18.0\n  Downloading oslo_serialization-5.9.1-py3-none-any.whl (27 kB)\nCollecting oslo.utils>=3.33.0\n  Downloading oslo_utils-10.0.1-py3-none-any.whl (136 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 136.4/136.4 kB 19.6 MB/s eta 0:00:00\nCollecting python-keystoneclient>=3.8.0\n  Downloading python_keystoneclient-5.8.0-py3-none-any.whl (397 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 397.3/397.3 kB 24.3 MB/s eta 0:00:00\nCollecting requests>=2.14.2\n  Downloading requests-2.33.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.9/64.9 kB 9.8 MB/s eta 0:00:00\nCollecting shellingham>=1.3.0\n  Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)\nCollecting rich>=12.3.0\n  Downloading rich-15.0.0-py3-none-any.whl (310 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 310.7/310.7 kB 26.7 MB/s eta 0:00:00\nCollecting annotated-doc>=0.0.2\n  Downloading annotated_doc-0.0.4-py3-none-any.whl (5.3 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.5.1-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.5/147.5 kB 25.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 7.7 MB/s eta 0:00:00\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 24.3 MB/s eta 0:00:00\nCollecting wrapt>=2.1.0\n  Downloading wrapt-2.1.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.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\u2501 114.1/114.1 kB 1.8 MB/s eta 0:00:00\nCollecting jsonpointer>=1.9\n  Downloading jsonpointer-3.1.1-py3-none-any.whl (7.7 kB)\nCollecting oslo.config>=5.2.0\n  Downloading oslo_config-10.3.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.6/132.6 kB 19.0 MB/s eta 0:00:00\nCollecting oslo.context>=2.21.0\n  Downloading oslo_context-6.3.0-py3-none-any.whl (20 kB)\nCollecting python-dateutil>=2.7.0\n  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 229.9/229.9 kB 25.7 MB/s eta 0:00:00\nCollecting msgpack>=0.5.2\n  Downloading msgpack-1.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (426 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 426.2/426.2 kB 25.3 MB/s eta 0:00:00\nCollecting pyparsing>=2.1.0\n  Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 122.8/122.8 kB 19.9 MB/s eta 0:00:00\nCollecting packaging>=20.4\n  Using cached packaging-26.2-py3-none-any.whl (100 kB)\nRequirement already satisfied: setuptools in /tmp/venv/lib/python3.11/site-packages (from pbr!=2.1.0,>=2.0.0->openstacksdk==4.12.0->-r requirements.txt (line 6)) (66.1.1)\nCollecting charset_normalizer<4,>=2\n  Downloading charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.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.1/214.1 kB 25.7 MB/s eta 0:00:00\nCollecting idna<4,>=2.5\n  Downloading idna-3.13-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.6/68.6 kB 13.0 MB/s eta 0:00:00\nCollecting urllib3<3,>=1.26\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 131.6/131.6 kB 16.7 MB/s eta 0:00:00\nCollecting certifi>=2023.5.7\n  Downloading certifi-2026.4.22-py3-none-any.whl (135 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 135.7/135.7 kB 23.6 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 12.2 MB/s eta 0:00:00\nCollecting pygments<3.0.0,>=2.13.0\n  Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.2/1.2 MB 24.4 MB/s eta 0:00:00\nCollecting pycparser\n  Downloading pycparser-3.0-py3-none-any.whl (48 kB)\n     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 48.2/48.2 kB 6.9 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-argparse>=1.7.2\n  Downloading rich_argparse-1.7.2-py3-none-any.whl (25 kB)\nCollecting mdurl~=0.1\n  Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\nCollecting rfc3986>=1.2.0\n  Downloading rfc3986-2.0.0-py2.py3-none-any.whl (31 kB)\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 19.0 MB/s eta 0:00:00\nCollecting six>=1.5\n  Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)\nBuilding wheels for collected packages: python-ldap\n  Building wheel for python-ldap (pyproject.toml): started\n  Building wheel for python-ldap (pyproject.toml): finished with status 'done'\n  Created wheel for python-ldap: filename=python_ldap-3.4.5-cp311-cp311-linux_x86_64.whl size=374041 sha256=2cee53d6a6914900df6fc6251a2bb98548d882e3cfc409301a45d27794ae1456\n  Stored in directory: /home/zuul/.cache/pip/wheels/a4/b4/c9/fb4c51b9c74b8ece688137b6a8f3a0b1d92aa2618e9cf3f66c\nSuccessfully built python-ldap\nInstalling collected packages: pyperclip, wrapt, wcwidth, urllib3, tabulate, stevedore, six, shellingham, rfc3986, PyYAML, pyparsing, pygments, pycparser, pyasn1, psutil, platformdirs, pbr, packaging, netaddr, msgpack, mdurl, loguru, jsonpointer, jmespath, iso8601, idna, dynaconf, deepmerge, decorator, click, charset_normalizer, certifi, autopage, annotated-doc, requests, python-dateutil, pyasn1_modules, PrettyTable, oslo.i18n, oslo.context, os-service-types, markdown-it-py, jsonpatch, dogpile.cache, debtcollector, cffi, rich, python-ldap, oslo.utils, oslo.config, keystoneauth1, cryptography, typer, rich-argparse, oslo.serialization, openstacksdk, python-keystoneclient, oslo.log, os-client-config, cmd2, cliff, osc-lib, python-neutronclient\nSuccessfully installed PrettyTable-3.17.0 PyYAML-6.0.3 annotated-doc-0.0.4 autopage-0.6.0 certifi-2026.4.22 cffi-2.0.0 charset_normalizer-3.4.7 click-8.3.2 cliff-4.13.3 cmd2-3.5.1 cryptography-47.0.0 debtcollector-3.1.0 decorator-5.2.1 deepmerge-2.0 dogpile.cache-1.5.0 dynaconf-3.2.13 idna-3.13 iso8601-2.1.0 jmespath-1.1.0 jsonpatch-1.33 jsonpointer-3.1.1 keystoneauth1-5.13.1 loguru-0.7.3 markdown-it-py-4.0.0 mdurl-0.1.2 msgpack-1.1.2 netaddr-1.3.0 openstacksdk-4.12.0 os-client-config-2.3.0 os-service-types-1.8.2 osc-lib-4.5.0 oslo.config-10.3.0 oslo.context-6.3.0 oslo.i18n-6.7.2 oslo.log-8.1.0 oslo.serialization-5.9.1 oslo.utils-10.0.1 packaging-26.2 pbr-7.0.3 platformdirs-4.9.6 psutil-7.2.2 pyasn1-0.6.3 pyasn1_modules-0.4.2 pycparser-3.0 pygments-2.20.0 pyparsing-3.3.2 pyperclip-1.11.0 python-dateutil-2.9.0.post0 python-keystoneclient-5.8.0 python-ldap-3.4.5 python-neutronclient-11.8.0 requests-2.33.1 rfc3986-2.0.0 rich-15.0.0 rich-argparse-1.7.2 shellingham-1.5.4 six-1.17.0 stevedore-5.7.0 tabulate-0.10.0 typer-0.24.1 urllib3-2.6.3 wcwidth-0.6.0 wrapt-2.1.2\n",
                            "stdout_lines": [
                                "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\u2501 806.6/806.6 kB 8.6 MB/s eta 0:00:00",
                                "Collecting click==8.3.2",
                                "  Downloading click-8.3.2-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.4/108.4 kB 11.2 MB/s eta 0:00:00",
                                "Collecting deepmerge==2.0",
                                "  Downloading deepmerge-2.0-py3-none-any.whl (13 kB)",
                                "Collecting dynaconf==3.2.13",
                                "  Downloading dynaconf-3.2.13-py2.py3-none-any.whl (238 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 238.0/238.0 kB 13.6 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 10.8 MB/s eta 0:00:00",
                                "Collecting openstacksdk==4.12.0",
                                "  Downloading openstacksdk-4.12.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.4 MB/s eta 0:00:00",
                                "Collecting os-client-config==2.3.0",
                                "  Downloading os_client_config-2.3.0-py3-none-any.whl (30 kB)",
                                "Collecting python-ldap==3.4.5",
                                "  Downloading python_ldap-3.4.5.tar.gz (388 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 388.5/388.5 kB 3.9 MB/s eta 0:00:00",
                                "  Installing build dependencies: started",
                                "  Installing build dependencies: finished with status 'done'",
                                "  Getting requirements to build wheel: started",
                                "  Getting requirements to build wheel: finished with status 'done'",
                                "  Preparing metadata (pyproject.toml): started",
                                "  Preparing metadata (pyproject.toml): finished with status 'done'",
                                "Collecting python-neutronclient==11.8.0",
                                "  Downloading python_neutronclient-11.8.0-py3-none-any.whl (296 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 296.4/296.4 kB 18.8 MB/s eta 0:00:00",
                                "Collecting tabulate==0.10.0",
                                "  Downloading tabulate-0.10.0-py3-none-any.whl (39 kB)",
                                "Collecting typer==0.24.1",
                                "  Downloading typer-0.24.1-py3-none-any.whl (56 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 56.1/56.1 kB 9.0 MB/s eta 0:00:00",
                                "Collecting cryptography>=2.7",
                                "  Downloading cryptography-47.0.0-cp311-abi3-manylinux_2_34_x86_64.whl (4.7 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 4.7/4.7 MB 25.5 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.1 MB/s eta 0:00:00",
                                "Collecting iso8601>=0.1.11",
                                "  Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB)",
                                "Collecting jmespath>=0.9.0",
                                "  Downloading jmespath-1.1.0-py3-none-any.whl (20 kB)",
                                "Collecting jsonpatch!=1.20,>=1.16",
                                "  Downloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB)",
                                "Collecting keystoneauth1>=5.10.0",
                                "  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 18.6 MB/s eta 0:00:00",
                                "Collecting os-service-types>=1.8.1",
                                "  Downloading os_service_types-1.8.2-py3-none-any.whl (24 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 17.4 MB/s eta 0:00:00",
                                "Collecting platformdirs>=3",
                                "  Downloading platformdirs-4.9.6-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 18.5 MB/s eta 0:00:00",
                                "Requirement already satisfied: typing-extensions>=4.12.0 in /tmp/venv/lib/python3.11/site-packages (from openstacksdk==4.12.0->-r requirements.txt (line 6)) (4.15.0)",
                                "Collecting pyasn1>=0.3.7",
                                "  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 11.2 MB/s eta 0:00:00",
                                "Collecting pyasn1_modules>=0.1.5",
                                "  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 20.7 MB/s eta 0:00:00",
                                "Collecting cliff>=3.4.0",
                                "  Downloading cliff-4.13.3-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.6/86.6 kB 13.9 MB/s eta 0:00:00",
                                "Collecting debtcollector>=1.2.0",
                                "  Downloading debtcollector-3.1.0-py3-none-any.whl (24 kB)",
                                "Collecting netaddr>=0.7.18",
                                "  Downloading netaddr-1.3.0-py3-none-any.whl (2.3 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 2.3/2.3 MB 28.3 MB/s eta 0:00:00",
                                "Collecting osc-lib>=1.12.0",
                                "  Downloading osc_lib-4.5.0-py3-none-any.whl (96 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 96.9/96.9 kB 17.2 MB/s eta 0:00:00",
                                "Collecting oslo.i18n>=3.15.3",
                                "  Downloading oslo_i18n-6.7.2-py3-none-any.whl (47 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 47.7/47.7 kB 6.1 MB/s eta 0:00:00",
                                "Collecting oslo.log>=3.36.0",
                                "  Downloading oslo_log-8.1.0-py3-none-any.whl (77 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 77.1/77.1 kB 12.4 MB/s eta 0:00:00",
                                "Collecting oslo.serialization!=2.19.1,>=2.18.0",
                                "  Downloading oslo_serialization-5.9.1-py3-none-any.whl (27 kB)",
                                "Collecting oslo.utils>=3.33.0",
                                "  Downloading oslo_utils-10.0.1-py3-none-any.whl (136 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 136.4/136.4 kB 19.6 MB/s eta 0:00:00",
                                "Collecting python-keystoneclient>=3.8.0",
                                "  Downloading python_keystoneclient-5.8.0-py3-none-any.whl (397 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 397.3/397.3 kB 24.3 MB/s eta 0:00:00",
                                "Collecting requests>=2.14.2",
                                "  Downloading requests-2.33.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.9/64.9 kB 9.8 MB/s eta 0:00:00",
                                "Collecting shellingham>=1.3.0",
                                "  Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)",
                                "Collecting rich>=12.3.0",
                                "  Downloading rich-15.0.0-py3-none-any.whl (310 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 310.7/310.7 kB 26.7 MB/s eta 0:00:00",
                                "Collecting annotated-doc>=0.0.2",
                                "  Downloading annotated_doc-0.0.4-py3-none-any.whl (5.3 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.5.1-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.5/147.5 kB 25.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 7.7 MB/s eta 0:00:00",
                                "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 24.3 MB/s eta 0:00:00",
                                "Collecting wrapt>=2.1.0",
                                "  Downloading wrapt-2.1.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.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\u2501 114.1/114.1 kB 1.8 MB/s eta 0:00:00",
                                "Collecting jsonpointer>=1.9",
                                "  Downloading jsonpointer-3.1.1-py3-none-any.whl (7.7 kB)",
                                "Collecting oslo.config>=5.2.0",
                                "  Downloading oslo_config-10.3.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.6/132.6 kB 19.0 MB/s eta 0:00:00",
                                "Collecting oslo.context>=2.21.0",
                                "  Downloading oslo_context-6.3.0-py3-none-any.whl (20 kB)",
                                "Collecting python-dateutil>=2.7.0",
                                "  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 229.9/229.9 kB 25.7 MB/s eta 0:00:00",
                                "Collecting msgpack>=0.5.2",
                                "  Downloading msgpack-1.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (426 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 426.2/426.2 kB 25.3 MB/s eta 0:00:00",
                                "Collecting pyparsing>=2.1.0",
                                "  Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 122.8/122.8 kB 19.9 MB/s eta 0:00:00",
                                "Collecting packaging>=20.4",
                                "  Using cached packaging-26.2-py3-none-any.whl (100 kB)",
                                "Requirement already satisfied: setuptools in /tmp/venv/lib/python3.11/site-packages (from pbr!=2.1.0,>=2.0.0->openstacksdk==4.12.0->-r requirements.txt (line 6)) (66.1.1)",
                                "Collecting charset_normalizer<4,>=2",
                                "  Downloading charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.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.1/214.1 kB 25.7 MB/s eta 0:00:00",
                                "Collecting idna<4,>=2.5",
                                "  Downloading idna-3.13-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.6/68.6 kB 13.0 MB/s eta 0:00:00",
                                "Collecting urllib3<3,>=1.26",
                                "  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 131.6/131.6 kB 16.7 MB/s eta 0:00:00",
                                "Collecting certifi>=2023.5.7",
                                "  Downloading certifi-2026.4.22-py3-none-any.whl (135 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 135.7/135.7 kB 23.6 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 12.2 MB/s eta 0:00:00",
                                "Collecting pygments<3.0.0,>=2.13.0",
                                "  Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 1.2/1.2 MB 24.4 MB/s eta 0:00:00",
                                "Collecting pycparser",
                                "  Downloading pycparser-3.0-py3-none-any.whl (48 kB)",
                                "     \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 48.2/48.2 kB 6.9 MB/s eta 0:00:00",
                                "Collecting pyperclip>=1.8.2",
                                "  Downloading pyperclip-1.11.0-py3-none-any.whl (11 kB)",
                                "Collecting rich-argparse>=1.7.2",
                                "  Downloading rich_argparse-1.7.2-py3-none-any.whl (25 kB)",
                                "Collecting mdurl~=0.1",
                                "  Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)",
                                "Collecting rfc3986>=1.2.0",
                                "  Downloading rfc3986-2.0.0-py2.py3-none-any.whl (31 kB)",
                                "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 19.0 MB/s eta 0:00:00",
                                "Collecting six>=1.5",
                                "  Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)",
                                "Building wheels for collected packages: python-ldap",
                                "  Building wheel for python-ldap (pyproject.toml): started",
                                "  Building wheel for python-ldap (pyproject.toml): finished with status 'done'",
                                "  Created wheel for python-ldap: filename=python_ldap-3.4.5-cp311-cp311-linux_x86_64.whl size=374041 sha256=2cee53d6a6914900df6fc6251a2bb98548d882e3cfc409301a45d27794ae1456",
                                "  Stored in directory: /home/zuul/.cache/pip/wheels/a4/b4/c9/fb4c51b9c74b8ece688137b6a8f3a0b1d92aa2618e9cf3f66c",
                                "Successfully built python-ldap",
                                "Installing collected packages: pyperclip, wrapt, wcwidth, urllib3, tabulate, stevedore, six, shellingham, rfc3986, PyYAML, pyparsing, pygments, pycparser, pyasn1, psutil, platformdirs, pbr, packaging, netaddr, msgpack, mdurl, loguru, jsonpointer, jmespath, iso8601, idna, dynaconf, deepmerge, decorator, click, charset_normalizer, certifi, autopage, annotated-doc, requests, python-dateutil, pyasn1_modules, PrettyTable, oslo.i18n, oslo.context, os-service-types, markdown-it-py, jsonpatch, dogpile.cache, debtcollector, cffi, rich, python-ldap, oslo.utils, oslo.config, keystoneauth1, cryptography, typer, rich-argparse, oslo.serialization, openstacksdk, python-keystoneclient, oslo.log, os-client-config, cmd2, cliff, osc-lib, python-neutronclient",
                                "Successfully installed PrettyTable-3.17.0 PyYAML-6.0.3 annotated-doc-0.0.4 autopage-0.6.0 certifi-2026.4.22 cffi-2.0.0 charset_normalizer-3.4.7 click-8.3.2 cliff-4.13.3 cmd2-3.5.1 cryptography-47.0.0 debtcollector-3.1.0 decorator-5.2.1 deepmerge-2.0 dogpile.cache-1.5.0 dynaconf-3.2.13 idna-3.13 iso8601-2.1.0 jmespath-1.1.0 jsonpatch-1.33 jsonpointer-3.1.1 keystoneauth1-5.13.1 loguru-0.7.3 markdown-it-py-4.0.0 mdurl-0.1.2 msgpack-1.1.2 netaddr-1.3.0 openstacksdk-4.12.0 os-client-config-2.3.0 os-service-types-1.8.2 osc-lib-4.5.0 oslo.config-10.3.0 oslo.context-6.3.0 oslo.i18n-6.7.2 oslo.log-8.1.0 oslo.serialization-5.9.1 oslo.utils-10.0.1 packaging-26.2 pbr-7.0.3 platformdirs-4.9.6 psutil-7.2.2 pyasn1-0.6.3 pyasn1_modules-0.4.2 pycparser-3.0 pygments-2.20.0 pyparsing-3.3.2 pyperclip-1.11.0 python-dateutil-2.9.0.post0 python-keystoneclient-5.8.0 python-ldap-3.4.5 python-neutronclient-11.8.0 requests-2.33.1 rfc3986-2.0.0 rich-15.0.0 rich-argparse-1.7.2 shellingham-1.5.4 six-1.17.0 stevedore-5.7.0 tabulate-0.10.0 typer-0.24.1 urllib3-2.6.3 wcwidth-0.6.0 wrapt-2.1.2"
                            ],
                            "version": null,
                            "virtualenv": "/tmp/venv"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-f27b-133c-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_1/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:45.877504Z",
                            "start": "2026-04-27T14:38:21.295018Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-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:09.223713",
                            "end": "2026-04-27 14:38:55.371671",
                            "failed": true,
                            "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/openstack-project-manager",
                                    "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-f27b-133c-00000000000a-1-debianbookworm",
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-04-27 14:38:46.147958",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Collecting types-PyYAML\n  Downloading types_pyyaml-6.0.12.20260408-py3-none-any.whl (20 kB)\nCollecting types-decorator\n  Downloading types_decorator-5.2.0.20260408-py3-none-any.whl (8.1 kB)\nCollecting types-requests\n  Downloading types_requests-2.33.0.20260408-py3-none-any.whl (20 kB)\nCollecting types-simplejson\n  Downloading types_simplejson-3.20.0.20260408-py3-none-any.whl (10 kB)\nCollecting types-tabulate\n  Downloading types_tabulate-0.10.0.20260408-py3-none-any.whl (8.1 kB)\nRequirement already satisfied: urllib3>=2 in /tmp/venv/lib/python3.11/site-packages (from types-requests) (2.6.3)\nInstalling collected packages: types-tabulate, types-simplejson, types-requests, types-PyYAML, types-decorator\nSuccessfully installed types-PyYAML-6.0.12.20260408 types-decorator-5.2.0.20260408 types-requests-2.33.0.20260408 types-simplejson-3.20.0.20260408 types-tabulate-0.10.0.20260408\nopenstack_project_manager/manage_ldap.py:117: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:135: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:136: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"name\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:136: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:139: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"name\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:145: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"Any\", \"Any | str\"  [call-overload]\nopenstack_project_manager/manage_ldap.py:145: note: Possible overload variants:\nopenstack_project_manager/manage_ldap.py:145: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User\nopenstack_project_manager/manage_ldap.py:145: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None\nopenstack_project_manager/manage_ldap.py:145: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:157: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:178: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"Any\", \"Any | str\"  [call-overload]\nopenstack_project_manager/manage_ldap.py:178: note: Possible overload variants:\nopenstack_project_manager/manage_ldap.py:178: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User\nopenstack_project_manager/manage_ldap.py:178: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None\nopenstack_project_manager/manage_ldap.py:178: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:184: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"projects\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:184: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/manage_ldap.py:191: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]\nopenstack_project_manager/manage.py:90: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]\nopenstack_project_manager/manage.py:587: error: Item \"openstack.block_storage.v2._proxy.Proxy\" of \"openstack.block_storage.v2._proxy.Proxy | openstack.block_storage.v3._proxy.Proxy\" has no attribute \"show_default_type\"  [union-attr]\nopenstack_project_manager/manage.py:599: error: Item \"openstack.block_storage.v2._proxy.Proxy\" of \"openstack.block_storage.v2._proxy.Proxy | openstack.block_storage.v3._proxy.Proxy\" has no attribute \"unset_default_type\"  [union-attr]\nopenstack_project_manager/manage.py:606: error: Item \"openstack.block_storage.v2._proxy.Proxy\" of \"openstack.block_storage.v2._proxy.Proxy | openstack.block_storage.v3._proxy.Proxy\" has no attribute \"set_default_type\"  [union-attr]\nopenstack_project_manager/manage.py:1098: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"str\"  [call-overload]\nopenstack_project_manager/manage.py:1098: note: Possible overload variants:\nopenstack_project_manager/manage.py:1098: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User\nopenstack_project_manager/manage.py:1098: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None\nopenstack_project_manager/manage.py:1103: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"str\"  [call-overload]\nopenstack_project_manager/manage.py:1103: note: Possible overload variants:\nopenstack_project_manager/manage.py:1103: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User\nopenstack_project_manager/manage.py:1103: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None\nopenstack_project_manager/manage.py:1118: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]\nopenstack_project_manager/manage.py:1136: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"Any | str\"  [call-overload]\nopenstack_project_manager/manage.py:1136: note: Possible overload variants:\nopenstack_project_manager/manage.py:1136: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User\nopenstack_project_manager/manage.py:1136: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None\nopenstack_project_manager/manage.py:1137: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/manage.py:1143: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]\nopenstack_project_manager/manage.py:1198: error: Item \"openstack.image.v1._proxy.Proxy\" of \"openstack.image.v1._proxy.Proxy | openstack.image.v2._proxy.Proxy\" has no attribute \"find_member\"  [union-attr]\nopenstack_project_manager/manage.py:1204: error: Item \"openstack.image.v1._proxy.Proxy\" of \"openstack.image.v1._proxy.Proxy | openstack.image.v2._proxy.Proxy\" has no attribute \"add_member\"  [union-attr]\nopenstack_project_manager/manage.py:1207: error: Item \"openstack.image.v1._proxy.Proxy\" of \"openstack.image.v1._proxy.Proxy | openstack.image.v2._proxy.Proxy\" has no attribute \"update_member\"  [union-attr]\nopenstack_project_manager/manage.py:1278: error: Incompatible types in assignment (expression has type \"openstack.block_storage.v2.volume.Volume | openstack.block_storage.v3.volume.Volume | None\", variable has type \"openstack.block_storage.v2.volume.Volume\")  [assignment]\nopenstack_project_manager/create_user.py:59: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]\nopenstack_project_manager/create_user.py:66: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]\nopenstack_project_manager/create_user.py:70: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]\nopenstack_project_manager/create_user.py:72: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"Any | str\"  [call-overload]\nopenstack_project_manager/create_user.py:72: note: Possible overload variants:\nopenstack_project_manager/create_user.py:72: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User\nopenstack_project_manager/create_user.py:72: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None\nopenstack_project_manager/create_user.py:86: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]\nopenstack_project_manager/create_user.py:86: error: Item \"None\" of \"Any | Project | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/create_user.py:92: error: Item \"None\" of \"Any | Project | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/create_ldap.py:169: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]\nopenstack_project_manager/create_ldap.py:185: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"Any\", \"Any | str\"  [call-overload]\nopenstack_project_manager/create_ldap.py:185: note: Possible overload variants:\nopenstack_project_manager/create_ldap.py:185: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User\nopenstack_project_manager/create_ldap.py:185: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None\nopenstack_project_manager/create_ldap.py:185: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/create_ldap.py:190: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]\nopenstack_project_manager/create_ldap.py:191: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"name\"  [union-attr]\nopenstack_project_manager/create_ldap.py:191: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/create_ldap.py:203: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]\nopenstack_project_manager/create_ldap.py:204: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"name\"  [union-attr]\nopenstack_project_manager/create_ldap.py:204: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/create_ldap.py:210: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]\nopenstack_project_manager/create_ldap.py:211: error: Item \"None\" of \"Any | Project | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/create.py:44: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]\nopenstack_project_manager/create.py:56: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_group\"  [union-attr]\nopenstack_project_manager/create.py:201: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]\nopenstack_project_manager/create.py:209: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_group\"  [union-attr]\nopenstack_project_manager/create.py:223: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]\nopenstack_project_manager/create.py:228: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_group\"  [union-attr]\nopenstack_project_manager/create.py:240: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_group\"  [union-attr]\nopenstack_project_manager/create.py:330: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"Any | str\"  [call-overload]\nopenstack_project_manager/create.py:330: note: Possible overload variants:\nopenstack_project_manager/create.py:330: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User\nopenstack_project_manager/create.py:330: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None\nopenstack_project_manager/create.py:381: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"create_application_credential\"  [union-attr]\nopenstack_project_manager/create.py:382: error: Item \"None\" of \"Any | User | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/create.py:396: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]\nopenstack_project_manager/create.py:401: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"Any | str\"  [call-overload]\nopenstack_project_manager/create.py:401: note: Possible overload variants:\nopenstack_project_manager/create.py:401: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User\nopenstack_project_manager/create.py:401: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None\nopenstack_project_manager/create.py:417: error: Argument 2 to \"try_assign_role\" has incompatible type \"Any | Project | None\"; expected \"Project\"  [arg-type]\nopenstack_project_manager/create.py:423: error: Argument 2 to \"try_assign_role\" has incompatible type \"Any | Project | None\"; expected \"Project\"  [arg-type]\nopenstack_project_manager/create.py:429: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_group\"  [union-attr]\nopenstack_project_manager/create.py:434: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"add_user_to_group\"  [union-attr]\nopenstack_project_manager/create.py:447: error: Item \"None\" of \"Any | Project | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/create.py:451: error: Item \"None\" of \"Any | User | None\" has no attribute \"id\"  [union-attr]\nopenstack_project_manager/create.py:456: error: Item \"None\" of \"Any | User | None\" has no attribute \"id\"  [union-attr]\nInstalling missing stub packages:\n/tmp/venv/bin/python3 -m pip install types-PyYAML types-decorator types-requests types-simplejson types-tabulate\n\n\nFound 64 errors in 5 files (checked 13 source files)",
                            "stdout_lines": [
                                "Collecting types-PyYAML",
                                "  Downloading types_pyyaml-6.0.12.20260408-py3-none-any.whl (20 kB)",
                                "Collecting types-decorator",
                                "  Downloading types_decorator-5.2.0.20260408-py3-none-any.whl (8.1 kB)",
                                "Collecting types-requests",
                                "  Downloading types_requests-2.33.0.20260408-py3-none-any.whl (20 kB)",
                                "Collecting types-simplejson",
                                "  Downloading types_simplejson-3.20.0.20260408-py3-none-any.whl (10 kB)",
                                "Collecting types-tabulate",
                                "  Downloading types_tabulate-0.10.0.20260408-py3-none-any.whl (8.1 kB)",
                                "Requirement already satisfied: urllib3>=2 in /tmp/venv/lib/python3.11/site-packages (from types-requests) (2.6.3)",
                                "Installing collected packages: types-tabulate, types-simplejson, types-requests, types-PyYAML, types-decorator",
                                "Successfully installed types-PyYAML-6.0.12.20260408 types-decorator-5.2.0.20260408 types-requests-2.33.0.20260408 types-simplejson-3.20.0.20260408 types-tabulate-0.10.0.20260408",
                                "openstack_project_manager/manage_ldap.py:117: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:135: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:136: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"name\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:136: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:139: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"name\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:145: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"Any\", \"Any | str\"  [call-overload]",
                                "openstack_project_manager/manage_ldap.py:145: note: Possible overload variants:",
                                "openstack_project_manager/manage_ldap.py:145: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User",
                                "openstack_project_manager/manage_ldap.py:145: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None",
                                "openstack_project_manager/manage_ldap.py:145: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:157: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:178: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"Any\", \"Any | str\"  [call-overload]",
                                "openstack_project_manager/manage_ldap.py:178: note: Possible overload variants:",
                                "openstack_project_manager/manage_ldap.py:178: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User",
                                "openstack_project_manager/manage_ldap.py:178: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None",
                                "openstack_project_manager/manage_ldap.py:178: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:184: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"projects\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:184: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/manage_ldap.py:191: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]",
                                "openstack_project_manager/manage.py:90: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]",
                                "openstack_project_manager/manage.py:587: error: Item \"openstack.block_storage.v2._proxy.Proxy\" of \"openstack.block_storage.v2._proxy.Proxy | openstack.block_storage.v3._proxy.Proxy\" has no attribute \"show_default_type\"  [union-attr]",
                                "openstack_project_manager/manage.py:599: error: Item \"openstack.block_storage.v2._proxy.Proxy\" of \"openstack.block_storage.v2._proxy.Proxy | openstack.block_storage.v3._proxy.Proxy\" has no attribute \"unset_default_type\"  [union-attr]",
                                "openstack_project_manager/manage.py:606: error: Item \"openstack.block_storage.v2._proxy.Proxy\" of \"openstack.block_storage.v2._proxy.Proxy | openstack.block_storage.v3._proxy.Proxy\" has no attribute \"set_default_type\"  [union-attr]",
                                "openstack_project_manager/manage.py:1098: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"str\"  [call-overload]",
                                "openstack_project_manager/manage.py:1098: note: Possible overload variants:",
                                "openstack_project_manager/manage.py:1098: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User",
                                "openstack_project_manager/manage.py:1098: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None",
                                "openstack_project_manager/manage.py:1103: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"str\"  [call-overload]",
                                "openstack_project_manager/manage.py:1103: note: Possible overload variants:",
                                "openstack_project_manager/manage.py:1103: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User",
                                "openstack_project_manager/manage.py:1103: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None",
                                "openstack_project_manager/manage.py:1118: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]",
                                "openstack_project_manager/manage.py:1136: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"Any | str\"  [call-overload]",
                                "openstack_project_manager/manage.py:1136: note: Possible overload variants:",
                                "openstack_project_manager/manage.py:1136: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User",
                                "openstack_project_manager/manage.py:1136: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None",
                                "openstack_project_manager/manage.py:1137: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/manage.py:1143: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]",
                                "openstack_project_manager/manage.py:1198: error: Item \"openstack.image.v1._proxy.Proxy\" of \"openstack.image.v1._proxy.Proxy | openstack.image.v2._proxy.Proxy\" has no attribute \"find_member\"  [union-attr]",
                                "openstack_project_manager/manage.py:1204: error: Item \"openstack.image.v1._proxy.Proxy\" of \"openstack.image.v1._proxy.Proxy | openstack.image.v2._proxy.Proxy\" has no attribute \"add_member\"  [union-attr]",
                                "openstack_project_manager/manage.py:1207: error: Item \"openstack.image.v1._proxy.Proxy\" of \"openstack.image.v1._proxy.Proxy | openstack.image.v2._proxy.Proxy\" has no attribute \"update_member\"  [union-attr]",
                                "openstack_project_manager/manage.py:1278: error: Incompatible types in assignment (expression has type \"openstack.block_storage.v2.volume.Volume | openstack.block_storage.v3.volume.Volume | None\", variable has type \"openstack.block_storage.v2.volume.Volume\")  [assignment]",
                                "openstack_project_manager/create_user.py:59: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]",
                                "openstack_project_manager/create_user.py:66: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]",
                                "openstack_project_manager/create_user.py:70: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]",
                                "openstack_project_manager/create_user.py:72: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"Any | str\"  [call-overload]",
                                "openstack_project_manager/create_user.py:72: note: Possible overload variants:",
                                "openstack_project_manager/create_user.py:72: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User",
                                "openstack_project_manager/create_user.py:72: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None",
                                "openstack_project_manager/create_user.py:86: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]",
                                "openstack_project_manager/create_user.py:86: error: Item \"None\" of \"Any | Project | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/create_user.py:92: error: Item \"None\" of \"Any | Project | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:169: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:185: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"Any\", \"Any | str\"  [call-overload]",
                                "openstack_project_manager/create_ldap.py:185: note: Possible overload variants:",
                                "openstack_project_manager/create_ldap.py:185: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User",
                                "openstack_project_manager/create_ldap.py:185: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None",
                                "openstack_project_manager/create_ldap.py:185: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:190: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:191: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"name\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:191: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:203: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:204: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"name\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:204: error: Item \"None\" of \"Any | Domain | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:210: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]",
                                "openstack_project_manager/create_ldap.py:211: error: Item \"None\" of \"Any | Project | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/create.py:44: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_user\"  [union-attr]",
                                "openstack_project_manager/create.py:56: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"assign_project_role_to_group\"  [union-attr]",
                                "openstack_project_manager/create.py:201: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]",
                                "openstack_project_manager/create.py:209: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_group\"  [union-attr]",
                                "openstack_project_manager/create.py:223: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_project\"  [union-attr]",
                                "openstack_project_manager/create.py:228: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_group\"  [union-attr]",
                                "openstack_project_manager/create.py:240: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_group\"  [union-attr]",
                                "openstack_project_manager/create.py:330: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"Any | str\"  [call-overload]",
                                "openstack_project_manager/create.py:330: note: Possible overload variants:",
                                "openstack_project_manager/create.py:330: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User",
                                "openstack_project_manager/create.py:330: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None",
                                "openstack_project_manager/create.py:381: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"create_application_credential\"  [union-attr]",
                                "openstack_project_manager/create.py:382: error: Item \"None\" of \"Any | User | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/create.py:396: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_domain\"  [union-attr]",
                                "openstack_project_manager/create.py:401: error: No overload variant of \"find_user\" of \"Proxy\" matches argument types \"str\", \"Any | str\"  [call-overload]",
                                "openstack_project_manager/create.py:401: note: Possible overload variants:",
                                "openstack_project_manager/create.py:401: note:     def find_user(self, name_or_id: str, ignore_missing: Literal[False]) -> User",
                                "openstack_project_manager/create.py:401: note:     def find_user(self, name_or_id: str, ignore_missing: bool = ...) -> User | None",
                                "openstack_project_manager/create.py:417: error: Argument 2 to \"try_assign_role\" has incompatible type \"Any | Project | None\"; expected \"Project\"  [arg-type]",
                                "openstack_project_manager/create.py:423: error: Argument 2 to \"try_assign_role\" has incompatible type \"Any | Project | None\"; expected \"Project\"  [arg-type]",
                                "openstack_project_manager/create.py:429: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"find_group\"  [union-attr]",
                                "openstack_project_manager/create.py:434: error: Item \"openstack.identity.v2._proxy.Proxy\" of \"openstack.identity.v2._proxy.Proxy | openstack.identity.v3._proxy.Proxy\" has no attribute \"add_user_to_group\"  [union-attr]",
                                "openstack_project_manager/create.py:447: error: Item \"None\" of \"Any | Project | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/create.py:451: error: Item \"None\" of \"Any | User | None\" has no attribute \"id\"  [union-attr]",
                                "openstack_project_manager/create.py:456: error: Item \"None\" of \"Any | User | None\" has no attribute \"id\"  [union-attr]",
                                "Installing missing stub packages:",
                                "/tmp/venv/bin/python3 -m pip install types-PyYAML types-decorator types-requests types-simplejson types-tabulate",
                                "",
                                "",
                                "Found 64 errors in 5 files (checked 13 source files)"
                            ],
                            "zuul_log_id": "0242ac1f-6606-f27b-133c-00000000000a-1-debianbookworm"
                        }
                    },
                    "role": {
                        "id": "0242ac1f-6606-f27b-133c-000000000005",
                        "name": "mypy",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/untrusted/project_1/github.com/osism/zuul-jobs/roles/mypy"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:55.431307Z",
                            "start": "2026-04-27T14:38:45.906413Z"
                        },
                        "id": "0242ac1f-6606-f27b-133c-00000000000a",
                        "name": "Run mypy"
                    }
                }
            ]
        }
    ],
    "stats": {
        "debian-bookworm": {
            "changed": 6,
            "failures": 1,
            "ignored": 0,
            "ok": 10,
            "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-04-27T14:38:56.915446Z",
                    "start": "2026-04-27T14:38:56.294413Z"
                },
                "id": "0242ac1f-6606-fb94-9497-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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDFVxiQnlET0MgDdxH7efU9X/ISPmfJ7k1vA++yYvQphUYX8wK1pNA1PZ8FSVGzYdSvkaqKvtmZ+g2skW2LqpjB4A2mcDpD4yMltyMjo/MV0U/34sMHUE7zRzNxM6mma1jaGwq5hEqCjQWO6LwloQe1ufGET05anJ9P8t/74T/FPhbElJA/VwlVjYBXMgJ1/20Xd4N+v6uGHC62ykfa9BLxEZNC9uFV2xn9eKCc9JhpL4PS/S/aOgFEJtepxZqiBOKgNyw+ZgfCD3AN2WdG4vEpD/iU1g4cv2omlYiYrUC1Z0wiIqTnagQmQi/x6KnV4sngC0YbQM8bjK9v60YWryfuronZcN6ZYbaniXAfUsDmXVj27RUFlN61BxYhvIJtiHikfxqx2Cbw5P/lBWk3+Gr76jHc0vkNU3I7tph48wkOpINxhRrmAkvZI0+lat8alGdhZSEslp2YGtRiFssCWrXrsD8o3x/JyHxLFnan2Wr2ArEEKVoHRb9W+NurlSJU++U= 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 AAAAB3NzaC1yc2EAAAADAQABAAABgQDFVxiQnlET0MgDdxH7efU9X/ISPmfJ7k1vA++yYvQphUYX8wK1pNA1PZ8FSVGzYdSvkaqKvtmZ+g2skW2LqpjB4A2mcDpD4yMltyMjo/MV0U/34sMHUE7zRzNxM6mma1jaGwq5hEqCjQWO6LwloQe1ufGET05anJ9P8t/74T/FPhbElJA/VwlVjYBXMgJ1/20Xd4N+v6uGHC62ykfa9BLxEZNC9uFV2xn9eKCc9JhpL4PS/S/aOgFEJtepxZqiBOKgNyw+ZgfCD3AN2WdG4vEpD/iU1g4cv2omlYiYrUC1Z0wiIqTnagQmQi/x6KnV4sngC0YbQM8bjK9v60YWryfuronZcN6ZYbaniXAfUsDmXVj27RUFlN61BxYhvIJtiHikfxqx2Cbw5P/lBWk3+Gr76jHc0vkNU3I7tph48wkOpINxhRrmAkvZI0+lat8alGdhZSEslp2YGtRiFssCWrXrsD8o3x/JyHxLFnan2Wr2ArEEKVoHRb9W+NurlSJU++U= 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-fb94-9497-000000000005",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/d4f9ea871c4841e29baada23df46fd24/trusted/project_1/github.com/osism/openinfra-zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-04-27T14:38:56.915446Z",
                            "start": "2026-04-27T14:38:56.307978Z"
                        },
                        "id": "0242ac1f-6606-fb94-9497-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
}
]
