all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    ubuntu-focal:
      ansible_connection: ssh
      ansible_host: 199.204.45.246
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      molecule_scenario: containerd
      nodepool:
        az: nova
        cloud: public
        external_id: d8fbbdbc-d169-494a-8613-4d1544ce6bfb
        host_id: f5d41c99f3f50a7a02e8c9e081443c73166af207792dcb8ee7f694ca
        interface_ip: 199.204.45.246
        label: ubuntu-focal
        node_properties: {}
        private_ipv4: 199.204.45.246
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.246
        public_ipv6: 2604:e100:1:0:f816:3eff:fe48:e37f
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: nova
        cloud: public
        external_id: d8fbbdbc-d169-494a-8613-4d1544ce6bfb
        host_id: f5d41c99f3f50a7a02e8c9e081443c73166af207792dcb8ee7f694ca
        interface_ip: 199.204.45.246
        label: ubuntu-focal
        node_properties: {}
        private_ipv4: 199.204.45.246
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.246
        public_ipv6: 2604:e100:1:0:f816:3eff:fe48:e37f
        region: ca-ymq-1
        slot: null
        uuid: null
  vars:
    molecule_scenario: containerd
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-config/zuul.d/jobs.yaml@main#1>'
      - '<Job molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/zuul-jobs/zuul.d/ansible-jobs.yaml@main#1>'
      - '<Job ansible-collection-containers-molecule explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: vexxhost/ansible-collection-containers/.zuul.yaml@main#1>'
      - '<Job ansible-collection-containers-molecule-containerd explicit: None implied:
        {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/ansible-collection-containers/.zuul.yaml@main#7>'
      - '<Job ansible-collection-containers-molecule-containerd-ubuntu-focal explicit:
        None implied: {MatchAny:{ImpliedBranchMatcher:main}} source: vexxhost/ansible-collection-containers/.zuul.yaml@main#24>'
      - '<Job ansible-collection-containers-molecule-containerd-ubuntu-focal explicit:
        None implied: None source: vexxhost/ansible-collection-containers/.zuul.yaml@main#136>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 3de8db17fa40434cba79eea5d05a265f
      build_refs:
      - branch: main
        change: '123'
        change_message: "fix(containerd): temporarily exclude broken containerd 1.7.31
          on focal\n\n## Problem\n\n`ansible-collection-containers-molecule-containerd-ubuntu-focal`
          has been failing on every PR since #109 merged (2025-04-18), with 62/96
          critest cases failing during container creation:\n\n```\nAppArmor parser
          error for /tmp/cri-containerd.apparmor.dXXX at line 2:\nCould not open 'abi/3.0':
          No such file or directory\n```\n\n## Root cause\n\ncontainerd **1.7.31**
          changed [`contrib/apparmor/template.go`](https://github.com/containerd/containerd/blob/v1.7.31/contrib/apparmor/template.go#L43)
          to **unconditionally** emit `abi <abi/3.0>,` as line 2 of the default container
          AppArmor profile.\n\nPreviously (\u2264 1.7.30) this line was only emitted
          when `macroExists(\"abi/3.0\")` returned true (i.e. when `/etc/apparmor.d/abi/3.0`
          was present).\n\nUbuntu 20.04 (focal) ships AppArmor **2.13.x**, which does
          not understand the `abi <...>,` directive and aborts profile load. Every
          container creation on focal then fails because containerd cannot apply its
          default profile.\n\nPR #109 (`chore(deps): update containerd`) bumped `containerd_latest_v1`
          to 1.7.31, silently breaking focal.\n\n## Fix (temporary)\n\nThis is a **temporary
          workaround**, not a permanent pin. The upstream regression has already been
          fixed and backported to `release/1.7`:\n\n- containerd/containerd#13268
          \u2014 fix on `main`\n- containerd/containerd#13273 \u2014 backport to `release/1.7`
          (will ship in 1.7.32)\n\nSo as soon as 1.7.32 is released and added to `containerd_archive_checksums`,
          focal can go back to using the latest 1.7.x without any further action.\n\nTo
          make that automatic, this PR adds a `containerd_focal_excluded_versions`
          list (currently `[\"1.7.31\"]`) and selects the latest 1.7.x that is **not**
          in it as `containerd_focal_version`. Today that resolves to 1.7.30; once
          1.7.32 lands it will resolve to 1.7.32 with no code change required, and
          the exclusion entry can simply be dropped.\n\nNoble and other distros continue
          to use `containerd_latest` (currently 2.x) and are unaffected.\n\n## Note
          on already-released versions\n\nv1.6.6 of this collection has already been
          cut with the broken default (1.7.31 selected on focal), so we operate under
          the assumption that it has been deployed in places. We deliberately do **not**
          roll anything back; existing focal hosts that landed on 1.7.31 will self-heal
          on their next `containerd` role run once 1.7.32 ships (or sooner, by overriding
          `containerd_focal_excluded_versions` locally).\n\n## Alternatives considered\n\n1.
          **Drop focal from CI** \u2014 focal is still supported by the role; out
          of scope for a CI fix.\n2. **Hard-pin focal to 1.7.30** \u2014 would require
          a manual bump for every future 1.7.x release; reviewers wouldn't notice
          the staleness until something else broke.\n3. **Patch the AppArmor profile
          post-install** \u2014 fragile; containerd regenerates the profile on each
          container start.\n\n## Verification\n\nAfter this PR, `containerd-ubuntu-focal`
          should go green. `containerd-ubuntu-noble` is unaffected (uses `containerd_latest`
          2.x).\n\nRefs: #122 (where this regression was first investigated).\n"
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/123
        commit_id: d1b4d505949a03926d96d5d5a0b6fd742564f1d8
        patchset: d1b4d505949a03926d96d5d5a0b6fd742564f1d8
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          name: vexxhost/ansible-collection-containers
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        src_dir: src/github.com/vexxhost/ansible-collection-containers
        topic: null
      buildset: ab4d708e9f6f4b738d8b2b0961124dcb
      buildset_refs:
      - branch: main
        change: '123'
        change_message: "fix(containerd): temporarily exclude broken containerd 1.7.31
          on focal\n\n## Problem\n\n`ansible-collection-containers-molecule-containerd-ubuntu-focal`
          has been failing on every PR since #109 merged (2025-04-18), with 62/96
          critest cases failing during container creation:\n\n```\nAppArmor parser
          error for /tmp/cri-containerd.apparmor.dXXX at line 2:\nCould not open 'abi/3.0':
          No such file or directory\n```\n\n## Root cause\n\ncontainerd **1.7.31**
          changed [`contrib/apparmor/template.go`](https://github.com/containerd/containerd/blob/v1.7.31/contrib/apparmor/template.go#L43)
          to **unconditionally** emit `abi <abi/3.0>,` as line 2 of the default container
          AppArmor profile.\n\nPreviously (\u2264 1.7.30) this line was only emitted
          when `macroExists(\"abi/3.0\")` returned true (i.e. when `/etc/apparmor.d/abi/3.0`
          was present).\n\nUbuntu 20.04 (focal) ships AppArmor **2.13.x**, which does
          not understand the `abi <...>,` directive and aborts profile load. Every
          container creation on focal then fails because containerd cannot apply its
          default profile.\n\nPR #109 (`chore(deps): update containerd`) bumped `containerd_latest_v1`
          to 1.7.31, silently breaking focal.\n\n## Fix (temporary)\n\nThis is a **temporary
          workaround**, not a permanent pin. The upstream regression has already been
          fixed and backported to `release/1.7`:\n\n- containerd/containerd#13268
          \u2014 fix on `main`\n- containerd/containerd#13273 \u2014 backport to `release/1.7`
          (will ship in 1.7.32)\n\nSo as soon as 1.7.32 is released and added to `containerd_archive_checksums`,
          focal can go back to using the latest 1.7.x without any further action.\n\nTo
          make that automatic, this PR adds a `containerd_focal_excluded_versions`
          list (currently `[\"1.7.31\"]`) and selects the latest 1.7.x that is **not**
          in it as `containerd_focal_version`. Today that resolves to 1.7.30; once
          1.7.32 lands it will resolve to 1.7.32 with no code change required, and
          the exclusion entry can simply be dropped.\n\nNoble and other distros continue
          to use `containerd_latest` (currently 2.x) and are unaffected.\n\n## Note
          on already-released versions\n\nv1.6.6 of this collection has already been
          cut with the broken default (1.7.31 selected on focal), so we operate under
          the assumption that it has been deployed in places. We deliberately do **not**
          roll anything back; existing focal hosts that landed on 1.7.31 will self-heal
          on their next `containerd` role run once 1.7.32 ships (or sooner, by overriding
          `containerd_focal_excluded_versions` locally).\n\n## Alternatives considered\n\n1.
          **Drop focal from CI** \u2014 focal is still supported by the role; out
          of scope for a CI fix.\n2. **Hard-pin focal to 1.7.30** \u2014 would require
          a manual bump for every future 1.7.x release; reviewers wouldn't notice
          the staleness until something else broke.\n3. **Patch the AppArmor profile
          post-install** \u2014 fragile; containerd regenerates the profile on each
          container start.\n\n## Verification\n\nAfter this PR, `containerd-ubuntu-focal`
          should go green. `containerd-ubuntu-noble` is unaffected (uses `containerd_latest`
          2.x).\n\nRefs: #122 (where this regression was first investigated).\n"
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/123
        commit_id: d1b4d505949a03926d96d5d5a0b6fd742564f1d8
        patchset: d1b4d505949a03926d96d5d5a0b6fd742564f1d8
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          name: vexxhost/ansible-collection-containers
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        src_dir: src/github.com/vexxhost/ansible-collection-containers
        topic: null
      change: '123'
      change_message: "fix(containerd): temporarily exclude broken containerd 1.7.31
        on focal\n\n## Problem\n\n`ansible-collection-containers-molecule-containerd-ubuntu-focal`
        has been failing on every PR since #109 merged (2025-04-18), with 62/96 critest
        cases failing during container creation:\n\n```\nAppArmor parser error for
        /tmp/cri-containerd.apparmor.dXXX at line 2:\nCould not open 'abi/3.0': No
        such file or directory\n```\n\n## Root cause\n\ncontainerd **1.7.31** changed
        [`contrib/apparmor/template.go`](https://github.com/containerd/containerd/blob/v1.7.31/contrib/apparmor/template.go#L43)
        to **unconditionally** emit `abi <abi/3.0>,` as line 2 of the default container
        AppArmor profile.\n\nPreviously (\u2264 1.7.30) this line was only emitted
        when `macroExists(\"abi/3.0\")` returned true (i.e. when `/etc/apparmor.d/abi/3.0`
        was present).\n\nUbuntu 20.04 (focal) ships AppArmor **2.13.x**, which does
        not understand the `abi <...>,` directive and aborts profile load. Every container
        creation on focal then fails because containerd cannot apply its default profile.\n\nPR
        #109 (`chore(deps): update containerd`) bumped `containerd_latest_v1` to 1.7.31,
        silently breaking focal.\n\n## Fix (temporary)\n\nThis is a **temporary workaround**,
        not a permanent pin. The upstream regression has already been fixed and backported
        to `release/1.7`:\n\n- containerd/containerd#13268 \u2014 fix on `main`\n-
        containerd/containerd#13273 \u2014 backport to `release/1.7` (will ship in
        1.7.32)\n\nSo as soon as 1.7.32 is released and added to `containerd_archive_checksums`,
        focal can go back to using the latest 1.7.x without any further action.\n\nTo
        make that automatic, this PR adds a `containerd_focal_excluded_versions` list
        (currently `[\"1.7.31\"]`) and selects the latest 1.7.x that is **not** in
        it as `containerd_focal_version`. Today that resolves to 1.7.30; once 1.7.32
        lands it will resolve to 1.7.32 with no code change required, and the exclusion
        entry can simply be dropped.\n\nNoble and other distros continue to use `containerd_latest`
        (currently 2.x) and are unaffected.\n\n## Note on already-released versions\n\nv1.6.6
        of this collection has already been cut with the broken default (1.7.31 selected
        on focal), so we operate under the assumption that it has been deployed in
        places. We deliberately do **not** roll anything back; existing focal hosts
        that landed on 1.7.31 will self-heal on their next `containerd` role run once
        1.7.32 ships (or sooner, by overriding `containerd_focal_excluded_versions`
        locally).\n\n## Alternatives considered\n\n1. **Drop focal from CI** \u2014
        focal is still supported by the role; out of scope for a CI fix.\n2. **Hard-pin
        focal to 1.7.30** \u2014 would require a manual bump for every future 1.7.x
        release; reviewers wouldn't notice the staleness until something else broke.\n3.
        **Patch the AppArmor profile post-install** \u2014 fragile; containerd regenerates
        the profile on each container start.\n\n## Verification\n\nAfter this PR,
        `containerd-ubuntu-focal` should go green. `containerd-ubuntu-noble` is unaffected
        (uses `containerd_latest` 2.x).\n\nRefs: #122 (where this regression was first
        investigated).\n"
      change_url: https://github.com/vexxhost/ansible-collection-containers/pull/123
      child_jobs: []
      commit_id: d1b4d505949a03926d96d5d5a0b6fd742564f1d8
      event_id: c09b9470-42c8-11f1-9317-8010d15d04fa
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/3de8db17fa40434cba79eea5d05a265f/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/3de8db17fa40434cba79eea5d05a265f/work/logs
        result_data_file: /var/lib/zuul/builds/3de8db17fa40434cba79eea5d05a265f/work/results.json
        src_root: /var/lib/zuul/builds/3de8db17fa40434cba79eea5d05a265f/work/src
        work_root: /var/lib/zuul/builds/3de8db17fa40434cba79eea5d05a265f/work
      include_vars: []
      items:
      - branch: main
        change: '123'
        change_message: "fix(containerd): temporarily exclude broken containerd 1.7.31
          on focal\n\n## Problem\n\n`ansible-collection-containers-molecule-containerd-ubuntu-focal`
          has been failing on every PR since #109 merged (2025-04-18), with 62/96
          critest cases failing during container creation:\n\n```\nAppArmor parser
          error for /tmp/cri-containerd.apparmor.dXXX at line 2:\nCould not open 'abi/3.0':
          No such file or directory\n```\n\n## Root cause\n\ncontainerd **1.7.31**
          changed [`contrib/apparmor/template.go`](https://github.com/containerd/containerd/blob/v1.7.31/contrib/apparmor/template.go#L43)
          to **unconditionally** emit `abi <abi/3.0>,` as line 2 of the default container
          AppArmor profile.\n\nPreviously (\u2264 1.7.30) this line was only emitted
          when `macroExists(\"abi/3.0\")` returned true (i.e. when `/etc/apparmor.d/abi/3.0`
          was present).\n\nUbuntu 20.04 (focal) ships AppArmor **2.13.x**, which does
          not understand the `abi <...>,` directive and aborts profile load. Every
          container creation on focal then fails because containerd cannot apply its
          default profile.\n\nPR #109 (`chore(deps): update containerd`) bumped `containerd_latest_v1`
          to 1.7.31, silently breaking focal.\n\n## Fix (temporary)\n\nThis is a **temporary
          workaround**, not a permanent pin. The upstream regression has already been
          fixed and backported to `release/1.7`:\n\n- containerd/containerd#13268
          \u2014 fix on `main`\n- containerd/containerd#13273 \u2014 backport to `release/1.7`
          (will ship in 1.7.32)\n\nSo as soon as 1.7.32 is released and added to `containerd_archive_checksums`,
          focal can go back to using the latest 1.7.x without any further action.\n\nTo
          make that automatic, this PR adds a `containerd_focal_excluded_versions`
          list (currently `[\"1.7.31\"]`) and selects the latest 1.7.x that is **not**
          in it as `containerd_focal_version`. Today that resolves to 1.7.30; once
          1.7.32 lands it will resolve to 1.7.32 with no code change required, and
          the exclusion entry can simply be dropped.\n\nNoble and other distros continue
          to use `containerd_latest` (currently 2.x) and are unaffected.\n\n## Note
          on already-released versions\n\nv1.6.6 of this collection has already been
          cut with the broken default (1.7.31 selected on focal), so we operate under
          the assumption that it has been deployed in places. We deliberately do **not**
          roll anything back; existing focal hosts that landed on 1.7.31 will self-heal
          on their next `containerd` role run once 1.7.32 ships (or sooner, by overriding
          `containerd_focal_excluded_versions` locally).\n\n## Alternatives considered\n\n1.
          **Drop focal from CI** \u2014 focal is still supported by the role; out
          of scope for a CI fix.\n2. **Hard-pin focal to 1.7.30** \u2014 would require
          a manual bump for every future 1.7.x release; reviewers wouldn't notice
          the staleness until something else broke.\n3. **Patch the AppArmor profile
          post-install** \u2014 fragile; containerd regenerates the profile on each
          container start.\n\n## Verification\n\nAfter this PR, `containerd-ubuntu-focal`
          should go green. `containerd-ubuntu-noble` is unaffected (uses `containerd_latest`
          2.x).\n\nRefs: #122 (where this regression was first investigated).\n"
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/123
        commit_id: d1b4d505949a03926d96d5d5a0b6fd742564f1d8
        patchset: d1b4d505949a03926d96d5d5a0b6fd742564f1d8
        project:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          name: vexxhost/ansible-collection-containers
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
        topic: null
      job: ansible-collection-containers-molecule-containerd-ubuntu-focal
      jobtags: []
      max_attempts: 3
      message: Zml4KGNvbnRhaW5lcmQpOiB0ZW1wb3JhcmlseSBleGNsdWRlIGJyb2tlbiBjb250YWluZXJkIDEuNy4zMSBvbiBmb2NhbAoKIyMgUHJvYmxlbQoKYGFuc2libGUtY29sbGVjdGlvbi1jb250YWluZXJzLW1vbGVjdWxlLWNvbnRhaW5lcmQtdWJ1bnR1LWZvY2FsYCBoYXMgYmVlbiBmYWlsaW5nIG9uIGV2ZXJ5IFBSIHNpbmNlICMxMDkgbWVyZ2VkICgyMDI1LTA0LTE4KSwgd2l0aCA2Mi85NiBjcml0ZXN0IGNhc2VzIGZhaWxpbmcgZHVyaW5nIGNvbnRhaW5lciBjcmVhdGlvbjoKCmBgYApBcHBBcm1vciBwYXJzZXIgZXJyb3IgZm9yIC90bXAvY3JpLWNvbnRhaW5lcmQuYXBwYXJtb3IuZFhYWCBhdCBsaW5lIDI6CkNvdWxkIG5vdCBvcGVuICdhYmkvMy4wJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpgYGAKCiMjIFJvb3QgY2F1c2UKCmNvbnRhaW5lcmQgKioxLjcuMzEqKiBjaGFuZ2VkIFtgY29udHJpYi9hcHBhcm1vci90ZW1wbGF0ZS5nb2BdKGh0dHBzOi8vZ2l0aHViLmNvbS9jb250YWluZXJkL2NvbnRhaW5lcmQvYmxvYi92MS43LjMxL2NvbnRyaWIvYXBwYXJtb3IvdGVtcGxhdGUuZ28jTDQzKSB0byAqKnVuY29uZGl0aW9uYWxseSoqIGVtaXQgYGFiaSA8YWJpLzMuMD4sYCBhcyBsaW5lIDIgb2YgdGhlIGRlZmF1bHQgY29udGFpbmVyIEFwcEFybW9yIHByb2ZpbGUuCgpQcmV2aW91c2x5ICjiiaQgMS43LjMwKSB0aGlzIGxpbmUgd2FzIG9ubHkgZW1pdHRlZCB3aGVuIGBtYWNyb0V4aXN0cygiYWJpLzMuMCIpYCByZXR1cm5lZCB0cnVlIChpLmUuIHdoZW4gYC9ldGMvYXBwYXJtb3IuZC9hYmkvMy4wYCB3YXMgcHJlc2VudCkuCgpVYnVudHUgMjAuMDQgKGZvY2FsKSBzaGlwcyBBcHBBcm1vciAqKjIuMTMueCoqLCB3aGljaCBkb2VzIG5vdCB1bmRlcnN0YW5kIHRoZSBgYWJpIDwuLi4+LGAgZGlyZWN0aXZlIGFuZCBhYm9ydHMgcHJvZmlsZSBsb2FkLiBFdmVyeSBjb250YWluZXIgY3JlYXRpb24gb24gZm9jYWwgdGhlbiBmYWlscyBiZWNhdXNlIGNvbnRhaW5lcmQgY2Fubm90IGFwcGx5IGl0cyBkZWZhdWx0IHByb2ZpbGUuCgpQUiAjMTA5IChgY2hvcmUoZGVwcyk6IHVwZGF0ZSBjb250YWluZXJkYCkgYnVtcGVkIGBjb250YWluZXJkX2xhdGVzdF92MWAgdG8gMS43LjMxLCBzaWxlbnRseSBicmVha2luZyBmb2NhbC4KCiMjIEZpeCAodGVtcG9yYXJ5KQoKVGhpcyBpcyBhICoqdGVtcG9yYXJ5IHdvcmthcm91bmQqKiwgbm90IGEgcGVybWFuZW50IHBpbi4gVGhlIHVwc3RyZWFtIHJlZ3Jlc3Npb24gaGFzIGFscmVhZHkgYmVlbiBmaXhlZCBhbmQgYmFja3BvcnRlZCB0byBgcmVsZWFzZS8xLjdgOgoKLSBjb250YWluZXJkL2NvbnRhaW5lcmQjMTMyNjgg4oCUIGZpeCBvbiBgbWFpbmAKLSBjb250YWluZXJkL2NvbnRhaW5lcmQjMTMyNzMg4oCUIGJhY2twb3J0IHRvIGByZWxlYXNlLzEuN2AgKHdpbGwgc2hpcCBpbiAxLjcuMzIpCgpTbyBhcyBzb29uIGFzIDEuNy4zMiBpcyByZWxlYXNlZCBhbmQgYWRkZWQgdG8gYGNvbnRhaW5lcmRfYXJjaGl2ZV9jaGVja3N1bXNgLCBmb2NhbCBjYW4gZ28gYmFjayB0byB1c2luZyB0aGUgbGF0ZXN0IDEuNy54IHdpdGhvdXQgYW55IGZ1cnRoZXIgYWN0aW9uLgoKVG8gbWFrZSB0aGF0IGF1dG9tYXRpYywgdGhpcyBQUiBhZGRzIGEgYGNvbnRhaW5lcmRfZm9jYWxfZXhjbHVkZWRfdmVyc2lvbnNgIGxpc3QgKGN1cnJlbnRseSBgWyIxLjcuMzEiXWApIGFuZCBzZWxlY3RzIHRoZSBsYXRlc3QgMS43LnggdGhhdCBpcyAqKm5vdCoqIGluIGl0IGFzIGBjb250YWluZXJkX2ZvY2FsX3ZlcnNpb25gLiBUb2RheSB0aGF0IHJlc29sdmVzIHRvIDEuNy4zMDsgb25jZSAxLjcuMzIgbGFuZHMgaXQgd2lsbCByZXNvbHZlIHRvIDEuNy4zMiB3aXRoIG5vIGNvZGUgY2hhbmdlIHJlcXVpcmVkLCBhbmQgdGhlIGV4Y2x1c2lvbiBlbnRyeSBjYW4gc2ltcGx5IGJlIGRyb3BwZWQuCgpOb2JsZSBhbmQgb3RoZXIgZGlzdHJvcyBjb250aW51ZSB0byB1c2UgYGNvbnRhaW5lcmRfbGF0ZXN0YCAoY3VycmVudGx5IDIueCkgYW5kIGFyZSB1bmFmZmVjdGVkLgoKIyMgTm90ZSBvbiBhbHJlYWR5LXJlbGVhc2VkIHZlcnNpb25zCgp2MS42LjYgb2YgdGhpcyBjb2xsZWN0aW9uIGhhcyBhbHJlYWR5IGJlZW4gY3V0IHdpdGggdGhlIGJyb2tlbiBkZWZhdWx0ICgxLjcuMzEgc2VsZWN0ZWQgb24gZm9jYWwpLCBzbyB3ZSBvcGVyYXRlIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQgaGFzIGJlZW4gZGVwbG95ZWQgaW4gcGxhY2VzLiBXZSBkZWxpYmVyYXRlbHkgZG8gKipub3QqKiByb2xsIGFueXRoaW5nIGJhY2s7IGV4aXN0aW5nIGZvY2FsIGhvc3RzIHRoYXQgbGFuZGVkIG9uIDEuNy4zMSB3aWxsIHNlbGYtaGVhbCBvbiB0aGVpciBuZXh0IGBjb250YWluZXJkYCByb2xlIHJ1biBvbmNlIDEuNy4zMiBzaGlwcyAob3Igc29vbmVyLCBieSBvdmVycmlkaW5nIGBjb250YWluZXJkX2ZvY2FsX2V4Y2x1ZGVkX3ZlcnNpb25zYCBsb2NhbGx5KS4KCiMjIEFsdGVybmF0aXZlcyBjb25zaWRlcmVkCgoxLiAqKkRyb3AgZm9jYWwgZnJvbSBDSSoqIOKAlCBmb2NhbCBpcyBzdGlsbCBzdXBwb3J0ZWQgYnkgdGhlIHJvbGU7IG91dCBvZiBzY29wZSBmb3IgYSBDSSBmaXguCjIuICoqSGFyZC1waW4gZm9jYWwgdG8gMS43LjMwKiog4oCUIHdvdWxkIHJlcXVpcmUgYSBtYW51YWwgYnVtcCBmb3IgZXZlcnkgZnV0dXJlIDEuNy54IHJlbGVhc2U7IHJldmlld2VycyB3b3VsZG4ndCBub3RpY2UgdGhlIHN0YWxlbmVzcyB1bnRpbCBzb21ldGhpbmcgZWxzZSBicm9rZS4KMy4gKipQYXRjaCB0aGUgQXBwQXJtb3IgcHJvZmlsZSBwb3N0LWluc3RhbGwqKiDigJQgZnJhZ2lsZTsgY29udGFpbmVyZCByZWdlbmVyYXRlcyB0aGUgcHJvZmlsZSBvbiBlYWNoIGNvbnRhaW5lciBzdGFydC4KCiMjIFZlcmlmaWNhdGlvbgoKQWZ0ZXIgdGhpcyBQUiwgYGNvbnRhaW5lcmQtdWJ1bnR1LWZvY2FsYCBzaG91bGQgZ28gZ3JlZW4uIGBjb250YWluZXJkLXVidW50dS1ub2JsZWAgaXMgdW5hZmZlY3RlZCAodXNlcyBgY29udGFpbmVyZF9sYXRlc3RgIDIueCkuCgpSZWZzOiAjMTIyICh3aGVyZSB0aGlzIHJlZ3Jlc3Npb24gd2FzIGZpcnN0IGludmVzdGlnYXRlZCkuCg==
      patchset: d1b4d505949a03926d96d5d5a0b6fd742564f1d8
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 9f5c1d680d573485f0ccdb18d2184d4f1d446419
          trusted/project_2/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_0/github.com/vexxhost/zuul-jobs:
            canonical_name: github.com/vexxhost/zuul-jobs
            checkout: main
            commit: a6e68243e02ef030ce5e75f8b67630880c475f33
          untrusted/project_1/github.com/vexxhost/zuul-config:
            canonical_name: github.com/vexxhost/zuul-config
            checkout: main
            commit: 298983cd1253e6833abdb49d87d912527e0e6597
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 9f5c1d680d573485f0ccdb18d2184d4f1d446419
        playbooks:
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_1/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/vexxhost/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
        post_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_0/role_2/zuul-jobs/roles
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/post_playbook_1/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/post_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/post_playbook_1/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/post_playbook_1/role_2/zuul-jobs/roles
        pre_playbooks:
        - path: trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_0/role_1/zuul-jobs
            link_target: trusted/project_1/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_0/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/pre_playbook_0/role_2/zuul-jobs
            link_target: trusted/project_2/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_0/role_2/zuul-jobs/roles
        - path: untrusted/project_0/github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml
          roles:
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/pre_playbook_1/role_1/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/pre_playbook_1/role_1/zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/pre_playbook_1/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/vexxhost/zuul-jobs
            role_path: ansible/pre_playbook_1/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/vexxhost/ansible-collection-containers
        name: vexxhost/ansible-collection-containers
        short_name: ansible-collection-containers
        src_dir: src/github.com/vexxhost/ansible-collection-containers
      projects:
        github.com/vexxhost/ansible-collection-containers:
          canonical_hostname: github.com
          canonical_name: github.com/vexxhost/ansible-collection-containers
          checkout: main
          checkout_description: zuul branch
          commit: 09d46c687640174bcba37a82242565aa78bc351a
          name: vexxhost/ansible-collection-containers
          required: false
          short_name: ansible-collection-containers
          src_dir: src/github.com/vexxhost/ansible-collection-containers
      ref: refs/pull/123/head
      resources: {}
      tenant: oss
      timeout: 1800
      topic: null
      voting: true
