all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fecc:2070
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 3710986a-d38e-4f2b-bf66-6694779e1d34
        host_id: 4ba4344415ca7057d9956ea5de826bbc0b830981e82c0e0f191fa07b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fecc:2070
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.101
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.14
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fecc:2070
        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 flake8 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#32>'
      - '<Job flake8 explicit: None implied: None source: osism/release/.zuul.yaml@main#2>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: dd9f467f45b84b6a881dd6a7ac4897ae
      build_refs:
      - branch: main
        change: '2539'
        change_message: "chore(deps): update dependency powerdns/pdns_recursor-ansible
          to v2\n\nThis PR contains the following updates:\n\n| Package | Update |
          Change |\n|---|---|---|\n| [PowerDNS/pdns_recursor-ansible](https://redirect.github.com/PowerDNS/pdns_recursor-ansible)
          | major | `v1.8.1` \u2192 `v2.1.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>PowerDNS/pdns_recursor-ansible
          (PowerDNS/pdns_recursor-ansible)</summary>\n\n### [`v2.1.0`](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/releases/tag/v2.1.0):
          Version 2.1.0\n\n[Compare Source](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/compare/v2.0.0...v2.1.0)\n\n####
          v2.1.0\n\n<a id=\"documentation-changes\"></a>\n\n##### Documentation Changes\n\n-
          document <code>pdns\\_rec\\_package\\_state</code>, <code>pdns\\_rec\\_bin\\_name</code>,
          and <code>pdns\\_rec\\_service\\_overrides</code> variables in the README
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          fix YAML boolean conventions in README examples (<code>True</code>/<code>False</code>
          \u2192 <code>true</code>/<code>false</code>) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          update README with PowerDNS Recursor 5.4.x repository installation example
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          update custom repository example to reflect deb822 migration (removed <code>apt\\_repo</code>
          and <code>gpg\\_key\\_id</code>, added <code>apt\\_version</code>) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"major-changes\"></a>\n\n##### Major Changes\n\n- add type-normalizing
          Jinja2 macro to <code>recursor.conf.j2</code> that automatically converts
          stringified integers, floats, booleans, and lists to their native YAML types
          when rendering the configuration ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"minor-changes\"></a>\n\n##### Minor Changes\n\n- add <code>pdns\\_rec\\_package\\_state</code>
          variable to allow controlling the desired state of the PowerDNS Recursor
          packages (present, latest, or absent) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          add support for PowerDNS Recursor 5.4.x repository including repo definition,
          molecule test scenario, and CI integration. ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          normalize <code>ansible\\_architecture</code> to lowercase when mapping
          to APT architecture names to handle inconsistent facts ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          use Ansible Vault for the webservice <code>api\\_key</code> in molecule
          test variables to verify that vaulted values are correctly decrypted and
          rendered into the configuration file ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"breaking-changes--porting-guide\"></a>\n\n##### Breaking Changes /
          Porting Guide\n\n- Ubuntu 20.04 has been removed from molecule test scenarios
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          the Debian repository setup now exclusively uses <code>ansible.builtin.deb822\\_repository</code>
          \u2014 the legacy <code>apt\\_key</code>/<code>apt\\_repository</code> fallback
          for Ubuntu < 22.04 has been removed. This requires <code>python3-debian</code>
          on target hosts and Ansible >= 2.15 ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          the <code>apt\\_repo</code> and <code>gpg\\_key\\_id</code> keys are no
          longer used in custom repository definitions; use <code>apt\\_version</code>
          and <code>gpg\\_key</code> instead ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          the <code>powerdns-recursor.sources.j2</code> template has been removed
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"bugfixes\"></a>\n\n##### Bugfixes\n\n- fix <code>recursor.conf.j2</code>
          template to coerce <code>AnsibleVaultEncryptedUnicode</code> values to plain
          strings before type-normalisation, allowing <code>!vault</code> encrypted
          values to be used directly inside configuration dicts ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          fix typo in debug symbols package variable name <code>default\\_pdns\\_recorsor\\_debug\\_symbols\\_package\\_name</code>
          to <code>default\\_pdns\\_rec\\_debug\\_symbols\\_package\\_name</code>
          in Archlinux, Debian, and Other vars files ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n###
          [`v2.0.0`](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/releases/tag/v2.0.0):
          Version 2.0.0\n\n[Compare Source](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/compare/v1.8.1...v2.0.0)\n\n####
          v2.0.0\n\n<a id=\"major-changes\"></a>\n\n##### Major Changes\n\n- added
          support for Recursor 5.1.x, 5.2.x, and 5.3.x ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          added support for the arm64 architecture when installing the Recursor via
          the role ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          added tests for Debian Trixie and Enterprise Linux 10 ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          improved YAML-based configuration for the Recursor ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          migrated the role to use handlers to restart processes and services on changes
          ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          switched Debian-based platforms to deb822-style APT repositories (requires
          Ansible >= 2.15). Inspired by [@&#8203;l00d3r](https://redirect.github.com/l00d3r)
          in [#&#8203;213](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/213)
          and [@&#8203;lpmhouben](https://redirect.github.com/lpmhouben) in [#&#8203;218](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/218)
          ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          updated Molecule test configuration files to YAML ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"minor-changes\"></a>\n\n##### Minor Changes\n\n- added the ability
          to mask the service. Useful for multi-instance Recursor deployments ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"breaking-changes--porting-guide\"></a>\n\n##### Breaking Changes /
          Porting Guide\n\n- minimum supported Ansible version is 2.15 ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          the variable pdns\\_rec\\_service\\_overrides now allows overriding any
          section in the service unit definition ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"removed-features-previously-deprecated\"></a>\n\n##### Removed Features
          (previously deprecated)\n\n- removed variables pdns\\_rec\\_custom\\_config,
          pdns\\_rec\\_config\\_from\\_files, and pdns\\_rec\\_config\\_from\\_files\\_dir\\_mode
          ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"bugfixes\"></a>\n\n##### Bugfixes\n\n- fixed Molecule DNS resolution
          tests by ensuring the dnspython library is installed on hosts ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/release/pull/2539
        commit_id: 7ee23e34d374d330128c079e8ea2cc0cf25558de
        patchset: 7ee23e34d374d330128c079e8ea2cc0cf25558de
        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: b86ca3a462e14cd78a2591852d0133c3
      buildset_refs:
      - branch: main
        change: '2539'
        change_message: "chore(deps): update dependency powerdns/pdns_recursor-ansible
          to v2\n\nThis PR contains the following updates:\n\n| Package | Update |
          Change |\n|---|---|---|\n| [PowerDNS/pdns_recursor-ansible](https://redirect.github.com/PowerDNS/pdns_recursor-ansible)
          | major | `v1.8.1` \u2192 `v2.1.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>PowerDNS/pdns_recursor-ansible
          (PowerDNS/pdns_recursor-ansible)</summary>\n\n### [`v2.1.0`](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/releases/tag/v2.1.0):
          Version 2.1.0\n\n[Compare Source](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/compare/v2.0.0...v2.1.0)\n\n####
          v2.1.0\n\n<a id=\"documentation-changes\"></a>\n\n##### Documentation Changes\n\n-
          document <code>pdns\\_rec\\_package\\_state</code>, <code>pdns\\_rec\\_bin\\_name</code>,
          and <code>pdns\\_rec\\_service\\_overrides</code> variables in the README
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          fix YAML boolean conventions in README examples (<code>True</code>/<code>False</code>
          \u2192 <code>true</code>/<code>false</code>) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          update README with PowerDNS Recursor 5.4.x repository installation example
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          update custom repository example to reflect deb822 migration (removed <code>apt\\_repo</code>
          and <code>gpg\\_key\\_id</code>, added <code>apt\\_version</code>) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"major-changes\"></a>\n\n##### Major Changes\n\n- add type-normalizing
          Jinja2 macro to <code>recursor.conf.j2</code> that automatically converts
          stringified integers, floats, booleans, and lists to their native YAML types
          when rendering the configuration ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"minor-changes\"></a>\n\n##### Minor Changes\n\n- add <code>pdns\\_rec\\_package\\_state</code>
          variable to allow controlling the desired state of the PowerDNS Recursor
          packages (present, latest, or absent) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          add support for PowerDNS Recursor 5.4.x repository including repo definition,
          molecule test scenario, and CI integration. ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          normalize <code>ansible\\_architecture</code> to lowercase when mapping
          to APT architecture names to handle inconsistent facts ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          use Ansible Vault for the webservice <code>api\\_key</code> in molecule
          test variables to verify that vaulted values are correctly decrypted and
          rendered into the configuration file ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"breaking-changes--porting-guide\"></a>\n\n##### Breaking Changes /
          Porting Guide\n\n- Ubuntu 20.04 has been removed from molecule test scenarios
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          the Debian repository setup now exclusively uses <code>ansible.builtin.deb822\\_repository</code>
          \u2014 the legacy <code>apt\\_key</code>/<code>apt\\_repository</code> fallback
          for Ubuntu < 22.04 has been removed. This requires <code>python3-debian</code>
          on target hosts and Ansible >= 2.15 ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          the <code>apt\\_repo</code> and <code>gpg\\_key\\_id</code> keys are no
          longer used in custom repository definitions; use <code>apt\\_version</code>
          and <code>gpg\\_key</code> instead ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          the <code>powerdns-recursor.sources.j2</code> template has been removed
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"bugfixes\"></a>\n\n##### Bugfixes\n\n- fix <code>recursor.conf.j2</code>
          template to coerce <code>AnsibleVaultEncryptedUnicode</code> values to plain
          strings before type-normalisation, allowing <code>!vault</code> encrypted
          values to be used directly inside configuration dicts ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          fix typo in debug symbols package variable name <code>default\\_pdns\\_recorsor\\_debug\\_symbols\\_package\\_name</code>
          to <code>default\\_pdns\\_rec\\_debug\\_symbols\\_package\\_name</code>
          in Archlinux, Debian, and Other vars files ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n###
          [`v2.0.0`](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/releases/tag/v2.0.0):
          Version 2.0.0\n\n[Compare Source](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/compare/v1.8.1...v2.0.0)\n\n####
          v2.0.0\n\n<a id=\"major-changes\"></a>\n\n##### Major Changes\n\n- added
          support for Recursor 5.1.x, 5.2.x, and 5.3.x ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          added support for the arm64 architecture when installing the Recursor via
          the role ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          added tests for Debian Trixie and Enterprise Linux 10 ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          improved YAML-based configuration for the Recursor ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          migrated the role to use handlers to restart processes and services on changes
          ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          switched Debian-based platforms to deb822-style APT repositories (requires
          Ansible >= 2.15). Inspired by [@&#8203;l00d3r](https://redirect.github.com/l00d3r)
          in [#&#8203;213](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/213)
          and [@&#8203;lpmhouben](https://redirect.github.com/lpmhouben) in [#&#8203;218](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/218)
          ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          updated Molecule test configuration files to YAML ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"minor-changes\"></a>\n\n##### Minor Changes\n\n- added the ability
          to mask the service. Useful for multi-instance Recursor deployments ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"breaking-changes--porting-guide\"></a>\n\n##### Breaking Changes /
          Porting Guide\n\n- minimum supported Ansible version is 2.15 ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          the variable pdns\\_rec\\_service\\_overrides now allows overriding any
          section in the service unit definition ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"removed-features-previously-deprecated\"></a>\n\n##### Removed Features
          (previously deprecated)\n\n- removed variables pdns\\_rec\\_custom\\_config,
          pdns\\_rec\\_config\\_from\\_files, and pdns\\_rec\\_config\\_from\\_files\\_dir\\_mode
          ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"bugfixes\"></a>\n\n##### Bugfixes\n\n- fixed Molecule DNS resolution
          tests by ensuring the dnspython library is installed on hosts ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/release/pull/2539
        commit_id: 7ee23e34d374d330128c079e8ea2cc0cf25558de
        patchset: 7ee23e34d374d330128c079e8ea2cc0cf25558de
        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: '2539'
      change_message: "chore(deps): update dependency powerdns/pdns_recursor-ansible
        to v2\n\nThis PR contains the following updates:\n\n| Package | Update | Change
        |\n|---|---|---|\n| [PowerDNS/pdns_recursor-ansible](https://redirect.github.com/PowerDNS/pdns_recursor-ansible)
        | major | `v1.8.1` \u2192 `v2.1.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>PowerDNS/pdns_recursor-ansible
        (PowerDNS/pdns_recursor-ansible)</summary>\n\n### [`v2.1.0`](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/releases/tag/v2.1.0):
        Version 2.1.0\n\n[Compare Source](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/compare/v2.0.0...v2.1.0)\n\n####
        v2.1.0\n\n<a id=\"documentation-changes\"></a>\n\n##### Documentation Changes\n\n-
        document <code>pdns\\_rec\\_package\\_state</code>, <code>pdns\\_rec\\_bin\\_name</code>,
        and <code>pdns\\_rec\\_service\\_overrides</code> variables in the README
        ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        fix YAML boolean conventions in README examples (<code>True</code>/<code>False</code>
        \u2192 <code>true</code>/<code>false</code>) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        update README with PowerDNS Recursor 5.4.x repository installation example
        ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        update custom repository example to reflect deb822 migration (removed <code>apt\\_repo</code>
        and <code>gpg\\_key\\_id</code>, added <code>apt\\_version</code>) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
        id=\"major-changes\"></a>\n\n##### Major Changes\n\n- add type-normalizing
        Jinja2 macro to <code>recursor.conf.j2</code> that automatically converts
        stringified integers, floats, booleans, and lists to their native YAML types
        when rendering the configuration ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
        id=\"minor-changes\"></a>\n\n##### Minor Changes\n\n- add <code>pdns\\_rec\\_package\\_state</code>
        variable to allow controlling the desired state of the PowerDNS Recursor packages
        (present, latest, or absent) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        add support for PowerDNS Recursor 5.4.x repository including repo definition,
        molecule test scenario, and CI integration. ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        normalize <code>ansible\\_architecture</code> to lowercase when mapping to
        APT architecture names to handle inconsistent facts ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        use Ansible Vault for the webservice <code>api\\_key</code> in molecule test
        variables to verify that vaulted values are correctly decrypted and rendered
        into the configuration file ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
        id=\"breaking-changes--porting-guide\"></a>\n\n##### Breaking Changes / Porting
        Guide\n\n- Ubuntu 20.04 has been removed from molecule test scenarios ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        the Debian repository setup now exclusively uses <code>ansible.builtin.deb822\\_repository</code>
        \u2014 the legacy <code>apt\\_key</code>/<code>apt\\_repository</code> fallback
        for Ubuntu < 22.04 has been removed. This requires <code>python3-debian</code>
        on target hosts and Ansible >= 2.15 ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        the <code>apt\\_repo</code> and <code>gpg\\_key\\_id</code> keys are no longer
        used in custom repository definitions; use <code>apt\\_version</code> and
        <code>gpg\\_key</code> instead ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        the <code>powerdns-recursor.sources.j2</code> template has been removed ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
        id=\"bugfixes\"></a>\n\n##### Bugfixes\n\n- fix <code>recursor.conf.j2</code>
        template to coerce <code>AnsibleVaultEncryptedUnicode</code> values to plain
        strings before type-normalisation, allowing <code>!vault</code> encrypted
        values to be used directly inside configuration dicts ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
        fix typo in debug symbols package variable name <code>default\\_pdns\\_recorsor\\_debug\\_symbols\\_package\\_name</code>
        to <code>default\\_pdns\\_rec\\_debug\\_symbols\\_package\\_name</code> in
        Archlinux, Debian, and Other vars files ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n###
        [`v2.0.0`](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/releases/tag/v2.0.0):
        Version 2.0.0\n\n[Compare Source](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/compare/v1.8.1...v2.0.0)\n\n####
        v2.0.0\n\n<a id=\"major-changes\"></a>\n\n##### Major Changes\n\n- added support
        for Recursor 5.1.x, 5.2.x, and 5.3.x ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
        added support for the arm64 architecture when installing the Recursor via
        the role ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
        added tests for Debian Trixie and Enterprise Linux 10 ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
        improved YAML-based configuration for the Recursor ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
        migrated the role to use handlers to restart processes and services on changes
        ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
        switched Debian-based platforms to deb822-style APT repositories (requires
        Ansible >= 2.15). Inspired by [@&#8203;l00d3r](https://redirect.github.com/l00d3r)
        in [#&#8203;213](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/213)
        and [@&#8203;lpmhouben](https://redirect.github.com/lpmhouben) in [#&#8203;218](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/218)
        ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
        updated Molecule test configuration files to YAML ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
        id=\"minor-changes\"></a>\n\n##### Minor Changes\n\n- added the ability to
        mask the service. Useful for multi-instance Recursor deployments ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
        id=\"breaking-changes--porting-guide\"></a>\n\n##### Breaking Changes / Porting
        Guide\n\n- minimum supported Ansible version is 2.15 ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
        the variable pdns\\_rec\\_service\\_overrides now allows overriding any section
        in the service unit definition ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
        id=\"removed-features-previously-deprecated\"></a>\n\n##### Removed Features
        (previously deprecated)\n\n- removed variables pdns\\_rec\\_custom\\_config,
        pdns\\_rec\\_config\\_from\\_files, and pdns\\_rec\\_config\\_from\\_files\\_dir\\_mode
        ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
        id=\"bugfixes\"></a>\n\n##### Bugfixes\n\n- fixed Molecule DNS resolution
        tests by ensuring the dnspython library is installed on hosts ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
      change_url: https://github.com/osism/release/pull/2539
      child_jobs: []
      commit_id: 7ee23e34d374d330128c079e8ea2cc0cf25558de
      event_id: 4359c200-69bc-11f1-84ec-7241f0dad6b2
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/dd9f467f45b84b6a881dd6a7ac4897ae/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/dd9f467f45b84b6a881dd6a7ac4897ae/work/logs
        result_data_file: /var/lib/zuul/builds/dd9f467f45b84b6a881dd6a7ac4897ae/work/results.json
        src_root: /var/lib/zuul/builds/dd9f467f45b84b6a881dd6a7ac4897ae/work/src
        work_root: /var/lib/zuul/builds/dd9f467f45b84b6a881dd6a7ac4897ae/work
      include_vars: []
      items:
      - branch: main
        change: '2539'
        change_message: "chore(deps): update dependency powerdns/pdns_recursor-ansible
          to v2\n\nThis PR contains the following updates:\n\n| Package | Update |
          Change |\n|---|---|---|\n| [PowerDNS/pdns_recursor-ansible](https://redirect.github.com/PowerDNS/pdns_recursor-ansible)
          | major | `v1.8.1` \u2192 `v2.1.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>PowerDNS/pdns_recursor-ansible
          (PowerDNS/pdns_recursor-ansible)</summary>\n\n### [`v2.1.0`](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/releases/tag/v2.1.0):
          Version 2.1.0\n\n[Compare Source](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/compare/v2.0.0...v2.1.0)\n\n####
          v2.1.0\n\n<a id=\"documentation-changes\"></a>\n\n##### Documentation Changes\n\n-
          document <code>pdns\\_rec\\_package\\_state</code>, <code>pdns\\_rec\\_bin\\_name</code>,
          and <code>pdns\\_rec\\_service\\_overrides</code> variables in the README
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          fix YAML boolean conventions in README examples (<code>True</code>/<code>False</code>
          \u2192 <code>true</code>/<code>false</code>) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          update README with PowerDNS Recursor 5.4.x repository installation example
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          update custom repository example to reflect deb822 migration (removed <code>apt\\_repo</code>
          and <code>gpg\\_key\\_id</code>, added <code>apt\\_version</code>) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"major-changes\"></a>\n\n##### Major Changes\n\n- add type-normalizing
          Jinja2 macro to <code>recursor.conf.j2</code> that automatically converts
          stringified integers, floats, booleans, and lists to their native YAML types
          when rendering the configuration ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"minor-changes\"></a>\n\n##### Minor Changes\n\n- add <code>pdns\\_rec\\_package\\_state</code>
          variable to allow controlling the desired state of the PowerDNS Recursor
          packages (present, latest, or absent) ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          add support for PowerDNS Recursor 5.4.x repository including repo definition,
          molecule test scenario, and CI integration. ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          normalize <code>ansible\\_architecture</code> to lowercase when mapping
          to APT architecture names to handle inconsistent facts ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          use Ansible Vault for the webservice <code>api\\_key</code> in molecule
          test variables to verify that vaulted values are correctly decrypted and
          rendered into the configuration file ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"breaking-changes--porting-guide\"></a>\n\n##### Breaking Changes /
          Porting Guide\n\n- Ubuntu 20.04 has been removed from molecule test scenarios
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          the Debian repository setup now exclusively uses <code>ansible.builtin.deb822\\_repository</code>
          \u2014 the legacy <code>apt\\_key</code>/<code>apt\\_repository</code> fallback
          for Ubuntu < 22.04 has been removed. This requires <code>python3-debian</code>
          on target hosts and Ansible >= 2.15 ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          the <code>apt\\_repo</code> and <code>gpg\\_key\\_id</code> keys are no
          longer used in custom repository definitions; use <code>apt\\_version</code>
          and <code>gpg\\_key</code> instead ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          the <code>powerdns-recursor.sources.j2</code> template has been removed
          ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n<a
          id=\"bugfixes\"></a>\n\n##### Bugfixes\n\n- fix <code>recursor.conf.j2</code>
          template to coerce <code>AnsibleVaultEncryptedUnicode</code> values to plain
          strings before type-normalisation, allowing <code>!vault</code> encrypted
          values to be used directly inside configuration dicts ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n-
          fix typo in debug symbols package variable name <code>default\\_pdns\\_recorsor\\_debug\\_symbols\\_package\\_name</code>
          to <code>default\\_pdns\\_rec\\_debug\\_symbols\\_package\\_name</code>
          in Archlinux, Debian, and Other vars files ([#&#8203;245](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/245)).\n\n###
          [`v2.0.0`](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/releases/tag/v2.0.0):
          Version 2.0.0\n\n[Compare Source](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/compare/v1.8.1...v2.0.0)\n\n####
          v2.0.0\n\n<a id=\"major-changes\"></a>\n\n##### Major Changes\n\n- added
          support for Recursor 5.1.x, 5.2.x, and 5.3.x ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          added support for the arm64 architecture when installing the Recursor via
          the role ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          added tests for Debian Trixie and Enterprise Linux 10 ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          improved YAML-based configuration for the Recursor ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          migrated the role to use handlers to restart processes and services on changes
          ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          switched Debian-based platforms to deb822-style APT repositories (requires
          Ansible >= 2.15). Inspired by [@&#8203;l00d3r](https://redirect.github.com/l00d3r)
          in [#&#8203;213](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/213)
          and [@&#8203;lpmhouben](https://redirect.github.com/lpmhouben) in [#&#8203;218](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/218)
          ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          updated Molecule test configuration files to YAML ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"minor-changes\"></a>\n\n##### Minor Changes\n\n- added the ability
          to mask the service. Useful for multi-instance Recursor deployments ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"breaking-changes--porting-guide\"></a>\n\n##### Breaking Changes /
          Porting Guide\n\n- minimum supported Ansible version is 2.15 ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n-
          the variable pdns\\_rec\\_service\\_overrides now allows overriding any
          section in the service unit definition ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"removed-features-previously-deprecated\"></a>\n\n##### Removed Features
          (previously deprecated)\n\n- removed variables pdns\\_rec\\_custom\\_config,
          pdns\\_rec\\_config\\_from\\_files, and pdns\\_rec\\_config\\_from\\_files\\_dir\\_mode
          ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\n\n<a
          id=\"bugfixes\"></a>\n\n##### Bugfixes\n\n- fixed Molecule DNS resolution
          tests by ensuring the dnspython library is installed on hosts ([#&#8203;234](https://redirect.github.com/PowerDNS/pdns_recursor-ansible/pull/234)).\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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/release/pull/2539
        commit_id: 7ee23e34d374d330128c079e8ea2cc0cf25558de
        patchset: 7ee23e34d374d330128c079e8ea2cc0cf25558de
        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: flake8
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IHBvd2VyZG5zL3BkbnNfcmVjdXJzb3ItYW5zaWJsZSB0byB2MgoKVGhpcyBQUiBjb250YWlucyB0aGUgZm9sbG93aW5nIHVwZGF0ZXM6Cgp8IFBhY2thZ2UgfCBVcGRhdGUgfCBDaGFuZ2UgfAp8LS0tfC0tLXwtLS18CnwgW1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZSkgfCBtYWpvciB8IGB2MS44LjFgIOKGkiBgdjIuMS4wYCB8CgotLS0KCiMjIyBSZWxlYXNlIE5vdGVzCgo8ZGV0YWlscz4KPHN1bW1hcnk+UG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlIChQb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUpPC9zdW1tYXJ5PgoKIyMjIFtgdjIuMS4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9yZWxlYXNlcy90YWcvdjIuMS4wKTogVmVyc2lvbiAyLjEuMAoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlL2NvbXBhcmUvdjIuMC4wLi4udjIuMS4wKQoKIyMjIyB2Mi4xLjAKCjxhIGlkPSJkb2N1bWVudGF0aW9uLWNoYW5nZXMiPjwvYT4KCiMjIyMjIERvY3VtZW50YXRpb24gQ2hhbmdlcwoKLSBkb2N1bWVudCA8Y29kZT5wZG5zXF9yZWNcX3BhY2thZ2VcX3N0YXRlPC9jb2RlPiwgPGNvZGU+cGRuc1xfcmVjXF9iaW5cX25hbWU8L2NvZGU+LCBhbmQgPGNvZGU+cGRuc1xfcmVjXF9zZXJ2aWNlXF9vdmVycmlkZXM8L2NvZGU+IHZhcmlhYmxlcyBpbiB0aGUgUkVBRE1FIChbIyYjODIwMzsyNDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Qb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUvcHVsbC8yNDUpKS4KLSBmaXggWUFNTCBib29sZWFuIGNvbnZlbnRpb25zIGluIFJFQURNRSBleGFtcGxlcyAoPGNvZGU+VHJ1ZTwvY29kZT4vPGNvZGU+RmFsc2U8L2NvZGU+IOKGkiA8Y29kZT50cnVlPC9jb2RlPi88Y29kZT5mYWxzZTwvY29kZT4pIChbIyYjODIwMzsyNDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Qb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUvcHVsbC8yNDUpKS4KLSB1cGRhdGUgUkVBRE1FIHdpdGggUG93ZXJETlMgUmVjdXJzb3IgNS40LnggcmVwb3NpdG9yeSBpbnN0YWxsYXRpb24gZXhhbXBsZSAoWyMmIzgyMDM7MjQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlL3B1bGwvMjQ1KSkuCi0gdXBkYXRlIGN1c3RvbSByZXBvc2l0b3J5IGV4YW1wbGUgdG8gcmVmbGVjdCBkZWI4MjIgbWlncmF0aW9uIChyZW1vdmVkIDxjb2RlPmFwdFxfcmVwbzwvY29kZT4gYW5kIDxjb2RlPmdwZ1xfa2V5XF9pZDwvY29kZT4sIGFkZGVkIDxjb2RlPmFwdFxfdmVyc2lvbjwvY29kZT4pIChbIyYjODIwMzsyNDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Qb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUvcHVsbC8yNDUpKS4KCjxhIGlkPSJtYWpvci1jaGFuZ2VzIj48L2E+CgojIyMjIyBNYWpvciBDaGFuZ2VzCgotIGFkZCB0eXBlLW5vcm1hbGl6aW5nIEppbmphMiBtYWNybyB0byA8Y29kZT5yZWN1cnNvci5jb25mLmoyPC9jb2RlPiB0aGF0IGF1dG9tYXRpY2FsbHkgY29udmVydHMgc3RyaW5naWZpZWQgaW50ZWdlcnMsIGZsb2F0cywgYm9vbGVhbnMsIGFuZCBsaXN0cyB0byB0aGVpciBuYXRpdmUgWUFNTCB0eXBlcyB3aGVuIHJlbmRlcmluZyB0aGUgY29uZmlndXJhdGlvbiAoWyMmIzgyMDM7MjQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlL3B1bGwvMjQ1KSkuCgo8YSBpZD0ibWlub3ItY2hhbmdlcyI+PC9hPgoKIyMjIyMgTWlub3IgQ2hhbmdlcwoKLSBhZGQgPGNvZGU+cGRuc1xfcmVjXF9wYWNrYWdlXF9zdGF0ZTwvY29kZT4gdmFyaWFibGUgdG8gYWxsb3cgY29udHJvbGxpbmcgdGhlIGRlc2lyZWQgc3RhdGUgb2YgdGhlIFBvd2VyRE5TIFJlY3Vyc29yIHBhY2thZ2VzIChwcmVzZW50LCBsYXRlc3QsIG9yIGFic2VudCkgKFsjJiM4MjAzOzI0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzI0NSkpLgotIGFkZCBzdXBwb3J0IGZvciBQb3dlckROUyBSZWN1cnNvciA1LjQueCByZXBvc2l0b3J5IGluY2x1ZGluZyByZXBvIGRlZmluaXRpb24sIG1vbGVjdWxlIHRlc3Qgc2NlbmFyaW8sIGFuZCBDSSBpbnRlZ3JhdGlvbi4gKFsjJiM4MjAzOzI0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzI0NSkpLgotIG5vcm1hbGl6ZSA8Y29kZT5hbnNpYmxlXF9hcmNoaXRlY3R1cmU8L2NvZGU+IHRvIGxvd2VyY2FzZSB3aGVuIG1hcHBpbmcgdG8gQVBUIGFyY2hpdGVjdHVyZSBuYW1lcyB0byBoYW5kbGUgaW5jb25zaXN0ZW50IGZhY3RzIChbIyYjODIwMzsyNDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Qb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUvcHVsbC8yNDUpKS4KLSB1c2UgQW5zaWJsZSBWYXVsdCBmb3IgdGhlIHdlYnNlcnZpY2UgPGNvZGU+YXBpXF9rZXk8L2NvZGU+IGluIG1vbGVjdWxlIHRlc3QgdmFyaWFibGVzIHRvIHZlcmlmeSB0aGF0IHZhdWx0ZWQgdmFsdWVzIGFyZSBjb3JyZWN0bHkgZGVjcnlwdGVkIGFuZCByZW5kZXJlZCBpbnRvIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgKFsjJiM4MjAzOzI0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzI0NSkpLgoKPGEgaWQ9ImJyZWFraW5nLWNoYW5nZXMtLXBvcnRpbmctZ3VpZGUiPjwvYT4KCiMjIyMjIEJyZWFraW5nIENoYW5nZXMgLyBQb3J0aW5nIEd1aWRlCgotIFVidW50dSAyMC4wNCBoYXMgYmVlbiByZW1vdmVkIGZyb20gbW9sZWN1bGUgdGVzdCBzY2VuYXJpb3MgKFsjJiM4MjAzOzI0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzI0NSkpLgotIHRoZSBEZWJpYW4gcmVwb3NpdG9yeSBzZXR1cCBub3cgZXhjbHVzaXZlbHkgdXNlcyA8Y29kZT5hbnNpYmxlLmJ1aWx0aW4uZGViODIyXF9yZXBvc2l0b3J5PC9jb2RlPiDigJQgdGhlIGxlZ2FjeSA8Y29kZT5hcHRcX2tleTwvY29kZT4vPGNvZGU+YXB0XF9yZXBvc2l0b3J5PC9jb2RlPiBmYWxsYmFjayBmb3IgVWJ1bnR1IDwgMjIuMDQgaGFzIGJlZW4gcmVtb3ZlZC4gVGhpcyByZXF1aXJlcyA8Y29kZT5weXRob24zLWRlYmlhbjwvY29kZT4gb24gdGFyZ2V0IGhvc3RzIGFuZCBBbnNpYmxlID49IDIuMTUgKFsjJiM4MjAzOzI0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzI0NSkpLgotIHRoZSA8Y29kZT5hcHRcX3JlcG88L2NvZGU+IGFuZCA8Y29kZT5ncGdcX2tleVxfaWQ8L2NvZGU+IGtleXMgYXJlIG5vIGxvbmdlciB1c2VkIGluIGN1c3RvbSByZXBvc2l0b3J5IGRlZmluaXRpb25zOyB1c2UgPGNvZGU+YXB0XF92ZXJzaW9uPC9jb2RlPiBhbmQgPGNvZGU+Z3BnXF9rZXk8L2NvZGU+IGluc3RlYWQgKFsjJiM4MjAzOzI0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzI0NSkpLgotIHRoZSA8Y29kZT5wb3dlcmRucy1yZWN1cnNvci5zb3VyY2VzLmoyPC9jb2RlPiB0ZW1wbGF0ZSBoYXMgYmVlbiByZW1vdmVkIChbIyYjODIwMzsyNDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Qb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUvcHVsbC8yNDUpKS4KCjxhIGlkPSJidWdmaXhlcyI+PC9hPgoKIyMjIyMgQnVnZml4ZXMKCi0gZml4IDxjb2RlPnJlY3Vyc29yLmNvbmYuajI8L2NvZGU+IHRlbXBsYXRlIHRvIGNvZXJjZSA8Y29kZT5BbnNpYmxlVmF1bHRFbmNyeXB0ZWRVbmljb2RlPC9jb2RlPiB2YWx1ZXMgdG8gcGxhaW4gc3RyaW5ncyBiZWZvcmUgdHlwZS1ub3JtYWxpc2F0aW9uLCBhbGxvd2luZyA8Y29kZT4hdmF1bHQ8L2NvZGU+IGVuY3J5cHRlZCB2YWx1ZXMgdG8gYmUgdXNlZCBkaXJlY3RseSBpbnNpZGUgY29uZmlndXJhdGlvbiBkaWN0cyAoWyMmIzgyMDM7MjQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlL3B1bGwvMjQ1KSkuCi0gZml4IHR5cG8gaW4gZGVidWcgc3ltYm9scyBwYWNrYWdlIHZhcmlhYmxlIG5hbWUgPGNvZGU+ZGVmYXVsdFxfcGRuc1xfcmVjb3Jzb3JcX2RlYnVnXF9zeW1ib2xzXF9wYWNrYWdlXF9uYW1lPC9jb2RlPiB0byA8Y29kZT5kZWZhdWx0XF9wZG5zXF9yZWNcX2RlYnVnXF9zeW1ib2xzXF9wYWNrYWdlXF9uYW1lPC9jb2RlPiBpbiBBcmNobGludXgsIERlYmlhbiwgYW5kIE90aGVyIHZhcnMgZmlsZXMgKFsjJiM4MjAzOzI0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzI0NSkpLgoKIyMjIFtgdjIuMC4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9yZWxlYXNlcy90YWcvdjIuMC4wKTogVmVyc2lvbiAyLjAuMAoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlL2NvbXBhcmUvdjEuOC4xLi4udjIuMC4wKQoKIyMjIyB2Mi4wLjAKCjxhIGlkPSJtYWpvci1jaGFuZ2VzIj48L2E+CgojIyMjIyBNYWpvciBDaGFuZ2VzCgotIGFkZGVkIHN1cHBvcnQgZm9yIFJlY3Vyc29yIDUuMS54LCA1LjIueCwgYW5kIDUuMy54IChbIyYjODIwMzsyMzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Qb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUvcHVsbC8yMzQpKS4KLSBhZGRlZCBzdXBwb3J0IGZvciB0aGUgYXJtNjQgYXJjaGl0ZWN0dXJlIHdoZW4gaW5zdGFsbGluZyB0aGUgUmVjdXJzb3IgdmlhIHRoZSByb2xlIChbIyYjODIwMzsyMzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Qb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUvcHVsbC8yMzQpKS4KLSBhZGRlZCB0ZXN0cyBmb3IgRGViaWFuIFRyaXhpZSBhbmQgRW50ZXJwcmlzZSBMaW51eCAxMCAoWyMmIzgyMDM7MjM0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlL3B1bGwvMjM0KSkuCi0gaW1wcm92ZWQgWUFNTC1iYXNlZCBjb25maWd1cmF0aW9uIGZvciB0aGUgUmVjdXJzb3IgKFsjJiM4MjAzOzIzNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzIzNCkpLgotIG1pZ3JhdGVkIHRoZSByb2xlIHRvIHVzZSBoYW5kbGVycyB0byByZXN0YXJ0IHByb2Nlc3NlcyBhbmQgc2VydmljZXMgb24gY2hhbmdlcyAoWyMmIzgyMDM7MjM0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlL3B1bGwvMjM0KSkuCi0gc3dpdGNoZWQgRGViaWFuLWJhc2VkIHBsYXRmb3JtcyB0byBkZWI4MjItc3R5bGUgQVBUIHJlcG9zaXRvcmllcyAocmVxdWlyZXMgQW5zaWJsZSA+PSAyLjE1KS4gSW5zcGlyZWQgYnkgW0AmIzgyMDM7bDAwZDNyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbDAwZDNyKSBpbiBbIyYjODIwMzsyMTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Qb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUvcHVsbC8yMTMpIGFuZCBbQCYjODIwMztscG1ob3ViZW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9scG1ob3ViZW4pIGluIFsjJiM4MjAzOzIxOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzIxOCkgKFsjJiM4MjAzOzIzNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzIzNCkpLgotIHVwZGF0ZWQgTW9sZWN1bGUgdGVzdCBjb25maWd1cmF0aW9uIGZpbGVzIHRvIFlBTUwgKFsjJiM4MjAzOzIzNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzIzNCkpLgoKPGEgaWQ9Im1pbm9yLWNoYW5nZXMiPjwvYT4KCiMjIyMjIE1pbm9yIENoYW5nZXMKCi0gYWRkZWQgdGhlIGFiaWxpdHkgdG8gbWFzayB0aGUgc2VydmljZS4gVXNlZnVsIGZvciBtdWx0aS1pbnN0YW5jZSBSZWN1cnNvciBkZXBsb3ltZW50cyAoWyMmIzgyMDM7MjM0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlL3B1bGwvMjM0KSkuCgo8YSBpZD0iYnJlYWtpbmctY2hhbmdlcy0tcG9ydGluZy1ndWlkZSI+PC9hPgoKIyMjIyMgQnJlYWtpbmcgQ2hhbmdlcyAvIFBvcnRpbmcgR3VpZGUKCi0gbWluaW11bSBzdXBwb3J0ZWQgQW5zaWJsZSB2ZXJzaW9uIGlzIDIuMTUgKFsjJiM4MjAzOzIzNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzIzNCkpLgotIHRoZSB2YXJpYWJsZSBwZG5zXF9yZWNcX3NlcnZpY2VcX292ZXJyaWRlcyBub3cgYWxsb3dzIG92ZXJyaWRpbmcgYW55IHNlY3Rpb24gaW4gdGhlIHNlcnZpY2UgdW5pdCBkZWZpbml0aW9uIChbIyYjODIwMzsyMzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9Qb3dlckROUy9wZG5zX3JlY3Vyc29yLWFuc2libGUvcHVsbC8yMzQpKS4KCjxhIGlkPSJyZW1vdmVkLWZlYXR1cmVzLXByZXZpb3VzbHktZGVwcmVjYXRlZCI+PC9hPgoKIyMjIyMgUmVtb3ZlZCBGZWF0dXJlcyAocHJldmlvdXNseSBkZXByZWNhdGVkKQoKLSByZW1vdmVkIHZhcmlhYmxlcyBwZG5zXF9yZWNcX2N1c3RvbVxfY29uZmlnLCBwZG5zXF9yZWNcX2NvbmZpZ1xfZnJvbVxfZmlsZXMsIGFuZCBwZG5zXF9yZWNcX2NvbmZpZ1xfZnJvbVxfZmlsZXNcX2RpclxfbW9kZSAoWyMmIzgyMDM7MjM0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vUG93ZXJETlMvcGRuc19yZWN1cnNvci1hbnNpYmxlL3B1bGwvMjM0KSkuCgo8YSBpZD0iYnVnZml4ZXMiPjwvYT4KCiMjIyMjIEJ1Z2ZpeGVzCgotIGZpeGVkIE1vbGVjdWxlIEROUyByZXNvbHV0aW9uIHRlc3RzIGJ5IGVuc3VyaW5nIHRoZSBkbnNweXRob24gbGlicmFyeSBpcyBpbnN0YWxsZWQgb24gaG9zdHMgKFsjJiM4MjAzOzIzNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1Bvd2VyRE5TL3BkbnNfcmVjdXJzb3ItYW5zaWJsZS9wdWxsLzIzNCkpLgoKPC9kZXRhaWxzPgoKLS0tCgojIyMgQ29uZmlndXJhdGlvbgoK8J+ThSAqKlNjaGVkdWxlKio6IChVVEMpCgotIEJyYW5jaCBjcmVhdGlvbgogIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpCi0gQXV0b21lcmdlCiAgLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCkKCvCfmqYgKipBdXRvbWVyZ2UqKjogRGlzYWJsZWQgYnkgY29uZmlnLiBQbGVhc2UgbWVyZ2UgdGhpcyBtYW51YWxseSBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkLgoK4pm7ICoqUmViYXNpbmcqKjogV2hlbmV2ZXIgUFIgYmVjb21lcyBjb25mbGljdGVkLCBvciB5b3UgdGljayB0aGUgcmViYXNlL3JldHJ5IGNoZWNrYm94LgoK8J+UlSAqKklnbm9yZSoqOiBDbG9zZSB0aGlzIFBSIGFuZCB5b3Ugd29uJ3QgYmUgcmVtaW5kZWQgYWJvdXQgdGhpcyB1cGRhdGUgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vcmVsZWFzZSkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSTBNeTR5TVRrdU1DSXNJblZ3WkdGMFpXUkpibFpsY2lJNklqUXpMakl4T1M0d0lpd2lkR0Z5WjJWMFFuSmhibU5vSWpvaWJXRnBiaUlzSW14aFltVnNjeUk2V3lKeVpXNXZkbUYwWlNKZGZRPT0tLT4K
      patchset: 7ee23e34d374d330128c079e8ea2cc0cf25558de
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 3d5c7b5973754999f7005857a00ce9168944f0f1
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 3d5c7b5973754999f7005857a00ce9168944f0f1
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/flake8/run.yaml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_0/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: 1800
      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: 140c7556418770a023ca0ece9bcbe7d89f12a6ba
          name: osism/release
          required: false
          short_name: release
          src_dir: src/github.com/osism/release
      ref: refs/pull/2539/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
