all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe3e:1288
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 725e8f5b-7f26-4a08-8fc3-43a79366e5b2
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe3e:1288
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.106
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.151
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe3e:1288
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job python-black explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#54>'
      - '<Job python-black explicit: None implied: None source: osism/release/.zuul.yaml@main#2>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 5d5ab72308254e5291e53e9a960f8f89
      build_refs:
      - branch: main
        change: '2458'
        change_message: "chore(deps): update dependency ansible.netcommon to v8.5.0\n\nThis
          PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [ansible.netcommon](https://redirect.github.com/ansible-collections/ansible.netcommon)
          | minor | `8.4.0` \u2192 `8.5.0` |\n\n---\n\n> [!WARNING]\n> Some dependencies
          could not be looked up. Check the [Dependency Dashboard](../issues/152)
          for more information.\n\n---\n\n### Release Notes\n\n<details>\n<summary>ansible-collections/ansible.netcommon
          (ansible.netcommon)</summary>\n\n### [`v8.5.0`](https://redirect.github.com/ansible-collections/ansible.netcommon/blob/HEAD/CHANGELOG.rst#v850)\n\n[Compare
          Source](https://redirect.github.com/ansible-collections/ansible.netcommon/compare/v8.4.0...v8.5.0)\n\n\\======\n\n##
          Minor Changes\n\n- The dependency on ansible-pylibssh (for ssh\\_type=libssh
          / network\\_cli) is now ansible-pylibssh>=1.4.0 in requirements.txt, raised
          from the previous >=0.2.0 requirement. Installations still on ansible-pylibssh
          0.x or 1.x below 1.4.0 must upgrade to use the libssh connection path with
          this collection release.\n- libssh connection - When log\\_path is set (e.g.
          via ANSIBLE\\_LOG\\_PATH or log\\_path in ansible.cfg), the plugin now routes
          ansible-pylibssh (libssh)\n  logs into the same Ansible log file. Log level
          is derived from display.verbosity using Python standard logging: verbosity
          0 -> WARNING,\n  1-2 -> INFO, 3+ -> DEBUG. This allows SSH/libssh debug
          and trace output to appear in the configured log file for troubleshooting
          without changing\n  ansible-pylibssh configuration manually.\n- network\\_cli
          - The in-collection paramiko path supports the same host key policy behavior
          (including host\\_key\\_auto\\_add and known\\_hosts handling) and persistent
          connection caching as the previous ansible-core paramiko integration.\n-
          network\\_cli - When ssh\\_type is set to paramiko, the connection plugin
          now uses an in-collection paramiko implementation instead of loading ansible-core's
          paramiko connection plugin. This allows network\\_cli to work with versions
          of ansible-core, where the paramiko connection plugin was removed.\n\n##
          Deprecated Features\n\n- network\\_cli - The in-collection paramiko support
          (used when ssh\\_type is paramiko) is a compatibility layer for environments
          where ansible-core's paramiko connection is no longer available. This layer
          is deprecated and will be removed in a release after 2028-02-01. Migrate
          to ssh\\_type=libssh by installing the ansible-pylibssh package.\n\n## Bugfixes\n\n-
          filter plugins - Add plugin\\_routing redirects for `ipaddr`, `ipv4`, and
          `ipv6` to `ansible.utils` so short names work when `ansible.netcommon` is
          in the play's collection list ([ansible-collections/ansible.utils#404](https://redirect.github.com/ansible-collections/ansible.utils/issues/404)).\n-
          filter plugins - Convert filter arguments to native Python types before
          `AnsibleArgSpecValidator` so filters work with Ansible 2.19+ lazy containers
          that cannot be deep-copied (e.g. `vlan_parser`, `vlan_expander`, `hash_salt`,
          `type5_pw`, `comp_type5`, `parse_cli`, `parse_cli_textfsm`, `parse_xml`,
          `pop_ace`).\n- libssh connection - Fixed test\\_libssh\\_put\\_file unit
          test so the put\\_file code path (used by net\\_put, copy module, and other
          file transfer\n  over libssh) is properly tested in CI. The test now sets
          connection options and mocks Session so put\\_file does not trigger a real
          connection\n  attempt with an unset host (was failing with \"Hostname required\").\n-
          network action plugin - Fall back when remove\\_internal\\_keys is not importable
          from ansible.vars.clean (e.g. some ansible-core builds), so direct module
          execution still cleans module return data.\n- network\\_cli - Fixed file
          transfer (net\\_put / net\\_get) when ssh\\_type=libssh. For put\\_file,
          no longer call\n  \\_connect\\_uncached() before delegating to the libssh
          connection the libssh plugin's put\\_file() calls \\_connect() internally.\n
          \ For fetch\\_file, call \\_connect() then fetch\\_file() for libssh instead
          of \\_connect\\_uncached(), so connection caching and the\n  correct flow
          are used. Paramiko branch unchanged (still uses \\_connect\\_uncached()
          for scp/sftp).\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
          (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n
          \ - At any time (no schedule defined)\n\n\U0001F6A6 **Automerge**: Disabled
          by config. Please merge this manually once you are satisfied.\n\n\u267B
          **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry
          checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded
          about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want
          to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated
          by [Mend Renovate](https://mend.io/renovate/). View the [repository job
          log](https://developer.mend.io/github/osism/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/release/pull/2458
        commit_id: aee59d26cce45ff2aa2c1e5e52b9f6af2f6e545b
        patchset: aee59d26cce45ff2aa2c1e5e52b9f6af2f6e545b
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          name: osism/release
          short_name: release
        src_dir: src/github.com/osism/release
        topic: null
      buildset: 8a27c990f00548f78e030dccc671fcae
      buildset_refs:
      - branch: main
        change: '2458'
        change_message: "chore(deps): update dependency ansible.netcommon to v8.5.0\n\nThis
          PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [ansible.netcommon](https://redirect.github.com/ansible-collections/ansible.netcommon)
          | minor | `8.4.0` \u2192 `8.5.0` |\n\n---\n\n> [!WARNING]\n> Some dependencies
          could not be looked up. Check the [Dependency Dashboard](../issues/152)
          for more information.\n\n---\n\n### Release Notes\n\n<details>\n<summary>ansible-collections/ansible.netcommon
          (ansible.netcommon)</summary>\n\n### [`v8.5.0`](https://redirect.github.com/ansible-collections/ansible.netcommon/blob/HEAD/CHANGELOG.rst#v850)\n\n[Compare
          Source](https://redirect.github.com/ansible-collections/ansible.netcommon/compare/v8.4.0...v8.5.0)\n\n\\======\n\n##
          Minor Changes\n\n- The dependency on ansible-pylibssh (for ssh\\_type=libssh
          / network\\_cli) is now ansible-pylibssh>=1.4.0 in requirements.txt, raised
          from the previous >=0.2.0 requirement. Installations still on ansible-pylibssh
          0.x or 1.x below 1.4.0 must upgrade to use the libssh connection path with
          this collection release.\n- libssh connection - When log\\_path is set (e.g.
          via ANSIBLE\\_LOG\\_PATH or log\\_path in ansible.cfg), the plugin now routes
          ansible-pylibssh (libssh)\n  logs into the same Ansible log file. Log level
          is derived from display.verbosity using Python standard logging: verbosity
          0 -> WARNING,\n  1-2 -> INFO, 3+ -> DEBUG. This allows SSH/libssh debug
          and trace output to appear in the configured log file for troubleshooting
          without changing\n  ansible-pylibssh configuration manually.\n- network\\_cli
          - The in-collection paramiko path supports the same host key policy behavior
          (including host\\_key\\_auto\\_add and known\\_hosts handling) and persistent
          connection caching as the previous ansible-core paramiko integration.\n-
          network\\_cli - When ssh\\_type is set to paramiko, the connection plugin
          now uses an in-collection paramiko implementation instead of loading ansible-core's
          paramiko connection plugin. This allows network\\_cli to work with versions
          of ansible-core, where the paramiko connection plugin was removed.\n\n##
          Deprecated Features\n\n- network\\_cli - The in-collection paramiko support
          (used when ssh\\_type is paramiko) is a compatibility layer for environments
          where ansible-core's paramiko connection is no longer available. This layer
          is deprecated and will be removed in a release after 2028-02-01. Migrate
          to ssh\\_type=libssh by installing the ansible-pylibssh package.\n\n## Bugfixes\n\n-
          filter plugins - Add plugin\\_routing redirects for `ipaddr`, `ipv4`, and
          `ipv6` to `ansible.utils` so short names work when `ansible.netcommon` is
          in the play's collection list ([ansible-collections/ansible.utils#404](https://redirect.github.com/ansible-collections/ansible.utils/issues/404)).\n-
          filter plugins - Convert filter arguments to native Python types before
          `AnsibleArgSpecValidator` so filters work with Ansible 2.19+ lazy containers
          that cannot be deep-copied (e.g. `vlan_parser`, `vlan_expander`, `hash_salt`,
          `type5_pw`, `comp_type5`, `parse_cli`, `parse_cli_textfsm`, `parse_xml`,
          `pop_ace`).\n- libssh connection - Fixed test\\_libssh\\_put\\_file unit
          test so the put\\_file code path (used by net\\_put, copy module, and other
          file transfer\n  over libssh) is properly tested in CI. The test now sets
          connection options and mocks Session so put\\_file does not trigger a real
          connection\n  attempt with an unset host (was failing with \"Hostname required\").\n-
          network action plugin - Fall back when remove\\_internal\\_keys is not importable
          from ansible.vars.clean (e.g. some ansible-core builds), so direct module
          execution still cleans module return data.\n- network\\_cli - Fixed file
          transfer (net\\_put / net\\_get) when ssh\\_type=libssh. For put\\_file,
          no longer call\n  \\_connect\\_uncached() before delegating to the libssh
          connection the libssh plugin's put\\_file() calls \\_connect() internally.\n
          \ For fetch\\_file, call \\_connect() then fetch\\_file() for libssh instead
          of \\_connect\\_uncached(), so connection caching and the\n  correct flow
          are used. Paramiko branch unchanged (still uses \\_connect\\_uncached()
          for scp/sftp).\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
          (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n
          \ - At any time (no schedule defined)\n\n\U0001F6A6 **Automerge**: Disabled
          by config. Please merge this manually once you are satisfied.\n\n\u267B
          **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry
          checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded
          about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want
          to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated
          by [Mend Renovate](https://mend.io/renovate/). View the [repository job
          log](https://developer.mend.io/github/osism/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/release/pull/2458
        commit_id: aee59d26cce45ff2aa2c1e5e52b9f6af2f6e545b
        patchset: aee59d26cce45ff2aa2c1e5e52b9f6af2f6e545b
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          name: osism/release
          short_name: release
        src_dir: src/github.com/osism/release
        topic: null
      change: '2458'
      change_message: "chore(deps): update dependency ansible.netcommon to v8.5.0\n\nThis
        PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
        [ansible.netcommon](https://redirect.github.com/ansible-collections/ansible.netcommon)
        | minor | `8.4.0` \u2192 `8.5.0` |\n\n---\n\n> [!WARNING]\n> Some dependencies
        could not be looked up. Check the [Dependency Dashboard](../issues/152) for
        more information.\n\n---\n\n### Release Notes\n\n<details>\n<summary>ansible-collections/ansible.netcommon
        (ansible.netcommon)</summary>\n\n### [`v8.5.0`](https://redirect.github.com/ansible-collections/ansible.netcommon/blob/HEAD/CHANGELOG.rst#v850)\n\n[Compare
        Source](https://redirect.github.com/ansible-collections/ansible.netcommon/compare/v8.4.0...v8.5.0)\n\n\\======\n\n##
        Minor Changes\n\n- The dependency on ansible-pylibssh (for ssh\\_type=libssh
        / network\\_cli) is now ansible-pylibssh>=1.4.0 in requirements.txt, raised
        from the previous >=0.2.0 requirement. Installations still on ansible-pylibssh
        0.x or 1.x below 1.4.0 must upgrade to use the libssh connection path with
        this collection release.\n- libssh connection - When log\\_path is set (e.g.
        via ANSIBLE\\_LOG\\_PATH or log\\_path in ansible.cfg), the plugin now routes
        ansible-pylibssh (libssh)\n  logs into the same Ansible log file. Log level
        is derived from display.verbosity using Python standard logging: verbosity
        0 -> WARNING,\n  1-2 -> INFO, 3+ -> DEBUG. This allows SSH/libssh debug and
        trace output to appear in the configured log file for troubleshooting without
        changing\n  ansible-pylibssh configuration manually.\n- network\\_cli - The
        in-collection paramiko path supports the same host key policy behavior (including
        host\\_key\\_auto\\_add and known\\_hosts handling) and persistent connection
        caching as the previous ansible-core paramiko integration.\n- network\\_cli
        - When ssh\\_type is set to paramiko, the connection plugin now uses an in-collection
        paramiko implementation instead of loading ansible-core's paramiko connection
        plugin. This allows network\\_cli to work with versions of ansible-core, where
        the paramiko connection plugin was removed.\n\n## Deprecated Features\n\n-
        network\\_cli - The in-collection paramiko support (used when ssh\\_type is
        paramiko) is a compatibility layer for environments where ansible-core's paramiko
        connection is no longer available. This layer is deprecated and will be removed
        in a release after 2028-02-01. Migrate to ssh\\_type=libssh by installing
        the ansible-pylibssh package.\n\n## Bugfixes\n\n- filter plugins - Add plugin\\_routing
        redirects for `ipaddr`, `ipv4`, and `ipv6` to `ansible.utils` so short names
        work when `ansible.netcommon` is in the play's collection list ([ansible-collections/ansible.utils#404](https://redirect.github.com/ansible-collections/ansible.utils/issues/404)).\n-
        filter plugins - Convert filter arguments to native Python types before `AnsibleArgSpecValidator`
        so filters work with Ansible 2.19+ lazy containers that cannot be deep-copied
        (e.g. `vlan_parser`, `vlan_expander`, `hash_salt`, `type5_pw`, `comp_type5`,
        `parse_cli`, `parse_cli_textfsm`, `parse_xml`, `pop_ace`).\n- libssh connection
        - Fixed test\\_libssh\\_put\\_file unit test so the put\\_file code path (used
        by net\\_put, copy module, and other file transfer\n  over libssh) is properly
        tested in CI. The test now sets connection options and mocks Session so put\\_file
        does not trigger a real connection\n  attempt with an unset host (was failing
        with \"Hostname required\").\n- network action plugin - Fall back when remove\\_internal\\_keys
        is not importable from ansible.vars.clean (e.g. some ansible-core builds),
        so direct module execution still cleans module return data.\n- network\\_cli
        - Fixed file transfer (net\\_put / net\\_get) when ssh\\_type=libssh. For
        put\\_file, no longer call\n  \\_connect\\_uncached() before delegating to
        the libssh connection the libssh plugin's put\\_file() calls \\_connect()
        internally.\n  For fetch\\_file, call \\_connect() then fetch\\_file() for
        libssh instead of \\_connect\\_uncached(), so connection caching and the\n
        \ correct flow are used. Paramiko branch unchanged (still uses \\_connect\\_uncached()
        for scp/sftp).\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
        (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n
        \ - At any time (no schedule defined)\n\n\U0001F6A6 **Automerge**: Disabled
        by config. Please merge this manually once you are satisfied.\n\n\u267B **Rebasing**:
        Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515
        **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n
        - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
        box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
        View the [repository job log](https://developer.mend.io/github/osism/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
      change_url: https://github.com/osism/release/pull/2458
      child_jobs: []
      commit_id: aee59d26cce45ff2aa2c1e5e52b9f6af2f6e545b
      event_id: 56e22b80-3809-11f1-8c50-8213d2e053c1
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/5d5ab72308254e5291e53e9a960f8f89/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/5d5ab72308254e5291e53e9a960f8f89/work/logs
        result_data_file: /var/lib/zuul/builds/5d5ab72308254e5291e53e9a960f8f89/work/results.json
        src_root: /var/lib/zuul/builds/5d5ab72308254e5291e53e9a960f8f89/work/src
        work_root: /var/lib/zuul/builds/5d5ab72308254e5291e53e9a960f8f89/work
      include_vars: []
      items:
      - branch: main
        change: '2458'
        change_message: "chore(deps): update dependency ansible.netcommon to v8.5.0\n\nThis
          PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [ansible.netcommon](https://redirect.github.com/ansible-collections/ansible.netcommon)
          | minor | `8.4.0` \u2192 `8.5.0` |\n\n---\n\n> [!WARNING]\n> Some dependencies
          could not be looked up. Check the [Dependency Dashboard](../issues/152)
          for more information.\n\n---\n\n### Release Notes\n\n<details>\n<summary>ansible-collections/ansible.netcommon
          (ansible.netcommon)</summary>\n\n### [`v8.5.0`](https://redirect.github.com/ansible-collections/ansible.netcommon/blob/HEAD/CHANGELOG.rst#v850)\n\n[Compare
          Source](https://redirect.github.com/ansible-collections/ansible.netcommon/compare/v8.4.0...v8.5.0)\n\n\\======\n\n##
          Minor Changes\n\n- The dependency on ansible-pylibssh (for ssh\\_type=libssh
          / network\\_cli) is now ansible-pylibssh>=1.4.0 in requirements.txt, raised
          from the previous >=0.2.0 requirement. Installations still on ansible-pylibssh
          0.x or 1.x below 1.4.0 must upgrade to use the libssh connection path with
          this collection release.\n- libssh connection - When log\\_path is set (e.g.
          via ANSIBLE\\_LOG\\_PATH or log\\_path in ansible.cfg), the plugin now routes
          ansible-pylibssh (libssh)\n  logs into the same Ansible log file. Log level
          is derived from display.verbosity using Python standard logging: verbosity
          0 -> WARNING,\n  1-2 -> INFO, 3+ -> DEBUG. This allows SSH/libssh debug
          and trace output to appear in the configured log file for troubleshooting
          without changing\n  ansible-pylibssh configuration manually.\n- network\\_cli
          - The in-collection paramiko path supports the same host key policy behavior
          (including host\\_key\\_auto\\_add and known\\_hosts handling) and persistent
          connection caching as the previous ansible-core paramiko integration.\n-
          network\\_cli - When ssh\\_type is set to paramiko, the connection plugin
          now uses an in-collection paramiko implementation instead of loading ansible-core's
          paramiko connection plugin. This allows network\\_cli to work with versions
          of ansible-core, where the paramiko connection plugin was removed.\n\n##
          Deprecated Features\n\n- network\\_cli - The in-collection paramiko support
          (used when ssh\\_type is paramiko) is a compatibility layer for environments
          where ansible-core's paramiko connection is no longer available. This layer
          is deprecated and will be removed in a release after 2028-02-01. Migrate
          to ssh\\_type=libssh by installing the ansible-pylibssh package.\n\n## Bugfixes\n\n-
          filter plugins - Add plugin\\_routing redirects for `ipaddr`, `ipv4`, and
          `ipv6` to `ansible.utils` so short names work when `ansible.netcommon` is
          in the play's collection list ([ansible-collections/ansible.utils#404](https://redirect.github.com/ansible-collections/ansible.utils/issues/404)).\n-
          filter plugins - Convert filter arguments to native Python types before
          `AnsibleArgSpecValidator` so filters work with Ansible 2.19+ lazy containers
          that cannot be deep-copied (e.g. `vlan_parser`, `vlan_expander`, `hash_salt`,
          `type5_pw`, `comp_type5`, `parse_cli`, `parse_cli_textfsm`, `parse_xml`,
          `pop_ace`).\n- libssh connection - Fixed test\\_libssh\\_put\\_file unit
          test so the put\\_file code path (used by net\\_put, copy module, and other
          file transfer\n  over libssh) is properly tested in CI. The test now sets
          connection options and mocks Session so put\\_file does not trigger a real
          connection\n  attempt with an unset host (was failing with \"Hostname required\").\n-
          network action plugin - Fall back when remove\\_internal\\_keys is not importable
          from ansible.vars.clean (e.g. some ansible-core builds), so direct module
          execution still cleans module return data.\n- network\\_cli - Fixed file
          transfer (net\\_put / net\\_get) when ssh\\_type=libssh. For put\\_file,
          no longer call\n  \\_connect\\_uncached() before delegating to the libssh
          connection the libssh plugin's put\\_file() calls \\_connect() internally.\n
          \ For fetch\\_file, call \\_connect() then fetch\\_file() for libssh instead
          of \\_connect\\_uncached(), so connection caching and the\n  correct flow
          are used. Paramiko branch unchanged (still uses \\_connect\\_uncached()
          for scp/sftp).\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
          (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n
          \ - At any time (no schedule defined)\n\n\U0001F6A6 **Automerge**: Disabled
          by config. Please merge this manually once you are satisfied.\n\n\u267B
          **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry
          checkbox.\n\n\U0001F515 **Ignore**: Close this PR and you won't be reminded
          about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want
          to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated
          by [Mend Renovate](https://mend.io/renovate/). View the [repository job
          log](https://developer.mend.io/github/osism/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/release/pull/2458
        commit_id: aee59d26cce45ff2aa2c1e5e52b9f6af2f6e545b
        patchset: aee59d26cce45ff2aa2c1e5e52b9f6af2f6e545b
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          name: osism/release
          short_name: release
          src_dir: src/github.com/osism/release
        topic: null
      job: python-black
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGFuc2libGUubmV0Y29tbW9uIHRvIHY4LjUuMAoKVGhpcyBQUiBjb250YWlucyB0aGUgZm9sbG93aW5nIHVwZGF0ZXM6Cgp8IFBhY2thZ2UgfCBVcGRhdGUgfCBDaGFuZ2UgfAp8LS0tfC0tLXwtLS18CnwgW2Fuc2libGUubmV0Y29tbW9uXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYW5zaWJsZS1jb2xsZWN0aW9ucy9hbnNpYmxlLm5ldGNvbW1vbikgfCBtaW5vciB8IGA4LjQuMGAg4oaSIGA4LjUuMGAgfAoKLS0tCgo+IFshV0FSTklOR10KPiBTb21lIGRlcGVuZGVuY2llcyBjb3VsZCBub3QgYmUgbG9va2VkIHVwLiBDaGVjayB0aGUgW0RlcGVuZGVuY3kgRGFzaGJvYXJkXSguLi9pc3N1ZXMvMTUyKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KCi0tLQoKIyMjIFJlbGVhc2UgTm90ZXMKCjxkZXRhaWxzPgo8c3VtbWFyeT5hbnNpYmxlLWNvbGxlY3Rpb25zL2Fuc2libGUubmV0Y29tbW9uIChhbnNpYmxlLm5ldGNvbW1vbik8L3N1bW1hcnk+CgojIyMgW2B2OC41LjBgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYW5zaWJsZS1jb2xsZWN0aW9ucy9hbnNpYmxlLm5ldGNvbW1vbi9ibG9iL0hFQUQvQ0hBTkdFTE9HLnJzdCN2ODUwKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYW5zaWJsZS1jb2xsZWN0aW9ucy9hbnNpYmxlLm5ldGNvbW1vbi9jb21wYXJlL3Y4LjQuMC4uLnY4LjUuMCkKClw9PT09PT0KCiMjIE1pbm9yIENoYW5nZXMKCi0gVGhlIGRlcGVuZGVuY3kgb24gYW5zaWJsZS1weWxpYnNzaCAoZm9yIHNzaFxfdHlwZT1saWJzc2ggLyBuZXR3b3JrXF9jbGkpIGlzIG5vdyBhbnNpYmxlLXB5bGlic3NoPj0xLjQuMCBpbiByZXF1aXJlbWVudHMudHh0LCByYWlzZWQgZnJvbSB0aGUgcHJldmlvdXMgPj0wLjIuMCByZXF1aXJlbWVudC4gSW5zdGFsbGF0aW9ucyBzdGlsbCBvbiBhbnNpYmxlLXB5bGlic3NoIDAueCBvciAxLnggYmVsb3cgMS40LjAgbXVzdCB1cGdyYWRlIHRvIHVzZSB0aGUgbGlic3NoIGNvbm5lY3Rpb24gcGF0aCB3aXRoIHRoaXMgY29sbGVjdGlvbiByZWxlYXNlLgotIGxpYnNzaCBjb25uZWN0aW9uIC0gV2hlbiBsb2dcX3BhdGggaXMgc2V0IChlLmcuIHZpYSBBTlNJQkxFXF9MT0dcX1BBVEggb3IgbG9nXF9wYXRoIGluIGFuc2libGUuY2ZnKSwgdGhlIHBsdWdpbiBub3cgcm91dGVzIGFuc2libGUtcHlsaWJzc2ggKGxpYnNzaCkKICBsb2dzIGludG8gdGhlIHNhbWUgQW5zaWJsZSBsb2cgZmlsZS4gTG9nIGxldmVsIGlzIGRlcml2ZWQgZnJvbSBkaXNwbGF5LnZlcmJvc2l0eSB1c2luZyBQeXRob24gc3RhbmRhcmQgbG9nZ2luZzogdmVyYm9zaXR5IDAgLT4gV0FSTklORywKICAxLTIgLT4gSU5GTywgMysgLT4gREVCVUcuIFRoaXMgYWxsb3dzIFNTSC9saWJzc2ggZGVidWcgYW5kIHRyYWNlIG91dHB1dCB0byBhcHBlYXIgaW4gdGhlIGNvbmZpZ3VyZWQgbG9nIGZpbGUgZm9yIHRyb3VibGVzaG9vdGluZyB3aXRob3V0IGNoYW5naW5nCiAgYW5zaWJsZS1weWxpYnNzaCBjb25maWd1cmF0aW9uIG1hbnVhbGx5LgotIG5ldHdvcmtcX2NsaSAtIFRoZSBpbi1jb2xsZWN0aW9uIHBhcmFtaWtvIHBhdGggc3VwcG9ydHMgdGhlIHNhbWUgaG9zdCBrZXkgcG9saWN5IGJlaGF2aW9yIChpbmNsdWRpbmcgaG9zdFxfa2V5XF9hdXRvXF9hZGQgYW5kIGtub3duXF9ob3N0cyBoYW5kbGluZykgYW5kIHBlcnNpc3RlbnQgY29ubmVjdGlvbiBjYWNoaW5nIGFzIHRoZSBwcmV2aW91cyBhbnNpYmxlLWNvcmUgcGFyYW1pa28gaW50ZWdyYXRpb24uCi0gbmV0d29ya1xfY2xpIC0gV2hlbiBzc2hcX3R5cGUgaXMgc2V0IHRvIHBhcmFtaWtvLCB0aGUgY29ubmVjdGlvbiBwbHVnaW4gbm93IHVzZXMgYW4gaW4tY29sbGVjdGlvbiBwYXJhbWlrbyBpbXBsZW1lbnRhdGlvbiBpbnN0ZWFkIG9mIGxvYWRpbmcgYW5zaWJsZS1jb3JlJ3MgcGFyYW1pa28gY29ubmVjdGlvbiBwbHVnaW4uIFRoaXMgYWxsb3dzIG5ldHdvcmtcX2NsaSB0byB3b3JrIHdpdGggdmVyc2lvbnMgb2YgYW5zaWJsZS1jb3JlLCB3aGVyZSB0aGUgcGFyYW1pa28gY29ubmVjdGlvbiBwbHVnaW4gd2FzIHJlbW92ZWQuCgojIyBEZXByZWNhdGVkIEZlYXR1cmVzCgotIG5ldHdvcmtcX2NsaSAtIFRoZSBpbi1jb2xsZWN0aW9uIHBhcmFtaWtvIHN1cHBvcnQgKHVzZWQgd2hlbiBzc2hcX3R5cGUgaXMgcGFyYW1pa28pIGlzIGEgY29tcGF0aWJpbGl0eSBsYXllciBmb3IgZW52aXJvbm1lbnRzIHdoZXJlIGFuc2libGUtY29yZSdzIHBhcmFtaWtvIGNvbm5lY3Rpb24gaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZS4gVGhpcyBsYXllciBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSByZWxlYXNlIGFmdGVyIDIwMjgtMDItMDEuIE1pZ3JhdGUgdG8gc3NoXF90eXBlPWxpYnNzaCBieSBpbnN0YWxsaW5nIHRoZSBhbnNpYmxlLXB5bGlic3NoIHBhY2thZ2UuCgojIyBCdWdmaXhlcwoKLSBmaWx0ZXIgcGx1Z2lucyAtIEFkZCBwbHVnaW5cX3JvdXRpbmcgcmVkaXJlY3RzIGZvciBgaXBhZGRyYCwgYGlwdjRgLCBhbmQgYGlwdjZgIHRvIGBhbnNpYmxlLnV0aWxzYCBzbyBzaG9ydCBuYW1lcyB3b3JrIHdoZW4gYGFuc2libGUubmV0Y29tbW9uYCBpcyBpbiB0aGUgcGxheSdzIGNvbGxlY3Rpb24gbGlzdCAoW2Fuc2libGUtY29sbGVjdGlvbnMvYW5zaWJsZS51dGlscyM0MDRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hbnNpYmxlLWNvbGxlY3Rpb25zL2Fuc2libGUudXRpbHMvaXNzdWVzLzQwNCkpLgotIGZpbHRlciBwbHVnaW5zIC0gQ29udmVydCBmaWx0ZXIgYXJndW1lbnRzIHRvIG5hdGl2ZSBQeXRob24gdHlwZXMgYmVmb3JlIGBBbnNpYmxlQXJnU3BlY1ZhbGlkYXRvcmAgc28gZmlsdGVycyB3b3JrIHdpdGggQW5zaWJsZSAyLjE5KyBsYXp5IGNvbnRhaW5lcnMgdGhhdCBjYW5ub3QgYmUgZGVlcC1jb3BpZWQgKGUuZy4gYHZsYW5fcGFyc2VyYCwgYHZsYW5fZXhwYW5kZXJgLCBgaGFzaF9zYWx0YCwgYHR5cGU1X3B3YCwgYGNvbXBfdHlwZTVgLCBgcGFyc2VfY2xpYCwgYHBhcnNlX2NsaV90ZXh0ZnNtYCwgYHBhcnNlX3htbGAsIGBwb3BfYWNlYCkuCi0gbGlic3NoIGNvbm5lY3Rpb24gLSBGaXhlZCB0ZXN0XF9saWJzc2hcX3B1dFxfZmlsZSB1bml0IHRlc3Qgc28gdGhlIHB1dFxfZmlsZSBjb2RlIHBhdGggKHVzZWQgYnkgbmV0XF9wdXQsIGNvcHkgbW9kdWxlLCBhbmQgb3RoZXIgZmlsZSB0cmFuc2ZlcgogIG92ZXIgbGlic3NoKSBpcyBwcm9wZXJseSB0ZXN0ZWQgaW4gQ0kuIFRoZSB0ZXN0IG5vdyBzZXRzIGNvbm5lY3Rpb24gb3B0aW9ucyBhbmQgbW9ja3MgU2Vzc2lvbiBzbyBwdXRcX2ZpbGUgZG9lcyBub3QgdHJpZ2dlciBhIHJlYWwgY29ubmVjdGlvbgogIGF0dGVtcHQgd2l0aCBhbiB1bnNldCBob3N0ICh3YXMgZmFpbGluZyB3aXRoICJIb3N0bmFtZSByZXF1aXJlZCIpLgotIG5ldHdvcmsgYWN0aW9uIHBsdWdpbiAtIEZhbGwgYmFjayB3aGVuIHJlbW92ZVxfaW50ZXJuYWxcX2tleXMgaXMgbm90IGltcG9ydGFibGUgZnJvbSBhbnNpYmxlLnZhcnMuY2xlYW4gKGUuZy4gc29tZSBhbnNpYmxlLWNvcmUgYnVpbGRzKSwgc28gZGlyZWN0IG1vZHVsZSBleGVjdXRpb24gc3RpbGwgY2xlYW5zIG1vZHVsZSByZXR1cm4gZGF0YS4KLSBuZXR3b3JrXF9jbGkgLSBGaXhlZCBmaWxlIHRyYW5zZmVyIChuZXRcX3B1dCAvIG5ldFxfZ2V0KSB3aGVuIHNzaFxfdHlwZT1saWJzc2guIEZvciBwdXRcX2ZpbGUsIG5vIGxvbmdlciBjYWxsCiAgXF9jb25uZWN0XF91bmNhY2hlZCgpIGJlZm9yZSBkZWxlZ2F0aW5nIHRvIHRoZSBsaWJzc2ggY29ubmVjdGlvbiB0aGUgbGlic3NoIHBsdWdpbidzIHB1dFxfZmlsZSgpIGNhbGxzIFxfY29ubmVjdCgpIGludGVybmFsbHkuCiAgRm9yIGZldGNoXF9maWxlLCBjYWxsIFxfY29ubmVjdCgpIHRoZW4gZmV0Y2hcX2ZpbGUoKSBmb3IgbGlic3NoIGluc3RlYWQgb2YgXF9jb25uZWN0XF91bmNhY2hlZCgpLCBzbyBjb25uZWN0aW9uIGNhY2hpbmcgYW5kIHRoZQogIGNvcnJlY3QgZmxvdyBhcmUgdXNlZC4gUGFyYW1pa28gYnJhbmNoIHVuY2hhbmdlZCAoc3RpbGwgdXNlcyBcX2Nvbm5lY3RcX3VuY2FjaGVkKCkgZm9yIHNjcC9zZnRwKS4KCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiAoVVRDKQoKLSBCcmFuY2ggY3JlYXRpb24KICAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKQotIEF1dG9tZXJnZQogIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpCgrwn5qmICoqQXV0b21lcmdlKio6IERpc2FibGVkIGJ5IGNvbmZpZy4gUGxlYXNlIG1lcmdlIHRoaXMgbWFudWFsbHkgb25jZSB5b3UgYXJlIHNhdGlzZmllZC4KCuKZuyAqKlJlYmFzaW5nKio6IFdoZW5ldmVyIFBSIGJlY29tZXMgY29uZmxpY3RlZCwgb3IgeW91IHRpY2sgdGhlIHJlYmFzZS9yZXRyeSBjaGVja2JveC4KCvCflJUgKipJZ25vcmUqKjogQ2xvc2UgdGhpcyBQUiBhbmQgeW91IHdvbid0IGJlIHJlbWluZGVkIGFib3V0IHRoaXMgdXBkYXRlIGFnYWluLgoKLS0tCgogLSBbIF0gPCEtLSByZWJhc2UtY2hlY2sgLS0+SWYgeW91IHdhbnQgdG8gcmViYXNlL3JldHJ5IHRoaXMgUFIsIGNoZWNrIHRoaXMgYm94CgotLS0KClRoaXMgUFIgd2FzIGdlbmVyYXRlZCBieSBbTWVuZCBSZW5vdmF0ZV0oaHR0cHM6Ly9tZW5kLmlvL3Jlbm92YXRlLykuIFZpZXcgdGhlIFtyZXBvc2l0b3J5IGpvYiBsb2ddKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vZ2l0aHViL29zaXNtL3JlbGVhc2UpLgo8IS0tcmVub3ZhdGUtZGVidWc6ZXlKamNtVmhkR1ZrU1c1V1pYSWlPaUkwTXk0eE1UQXVNaUlzSW5Wd1pHRjBaV1JKYmxabGNpSTZJalF6TGpFeE1DNHlJaXdpZEdGeVoyVjBRbkpoYm1Ob0lqb2liV0ZwYmlJc0lteGhZbVZzY3lJNld5SnlaVzV2ZG1GMFpTSmRmUT09LS0+Cg==
      patchset: aee59d26cce45ff2aa2c1e5e52b9f6af2f6e545b
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 4f450aa36c28b035ce97359a888edbd7599eaf31
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: a01eed06dffe368c1d01819193bfadccb137414d
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 4f450aa36c28b035ce97359a888edbd7599eaf31
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/python-black/run.yml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/release
        name: osism/release
        short_name: release
        src_dir: src/github.com/osism/release
      projects:
        github.com/osism/release:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          checkout: main
          checkout_description: zuul branch
          commit: 83c89a889d3e5409b72f77b48b1c0f915b2773c5
          name: osism/release
          required: false
          short_name: release
          src_dir: src/github.com/osism/release
      ref: refs/pull/2458/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
