all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    ubuntu-focal:
      ansible_connection: ssh
      ansible_host: 199.204.45.116
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      molecule_scenario: containerd
      nodepool:
        az: nova
        cloud: public
        external_id: a48dfb36-e89b-4326-bbbd-a755fc0494c7
        host_id: 6782d36b49969b8e83d63aec7c00c7f3fbf4fe3934e38116e588005f
        interface_ip: 199.204.45.116
        label: ubuntu-focal
        node_properties: {}
        private_ipv4: 199.204.45.116
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.116
        public_ipv6: 2604:e100:1:0:f816:3eff:fee7:1557
        region: ca-ymq-1
        slot: null
      zuul_node:
        az: nova
        cloud: public
        external_id: a48dfb36-e89b-4326-bbbd-a755fc0494c7
        host_id: 6782d36b49969b8e83d63aec7c00c7f3fbf4fe3934e38116e588005f
        interface_ip: 199.204.45.116
        label: ubuntu-focal
        node_properties: {}
        private_ipv4: 199.204.45.116
        private_ipv6: null
        provider: yul1
        public_ipv4: 199.204.45.116
        public_ipv6: 2604:e100:1:0:f816:3eff:fee7:1557
        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: 73dfb542c7394a4ca0b872399e5c2501
      build_refs:
      - branch: main
        change: '123'
        change_message: "fix(containerd): pin focal to containerd 1.7.30 to avoid
          AppArmor abi/3.0 break\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\n\nPin focal to the highest
          1.7.x release that does not include this directive (`1.7.30`) via a new
          `containerd_focal_max_version` default. Noble and other distros continue
          to use `containerd_latest` (currently 2.x).\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. **Patch the AppArmor profile post-install** \u2014
          fragile; containerd regenerates the profile on each container start.\n3.
          **Filter the version list dynamically (`< 1.7.31`)** \u2014 more brittle;
          future 1.7.x bumps would silently re-break unless the cap is also updated.
          An explicit pin is more visible to reviewers.\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)."
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/123
        commit_id: 67881aa34cebad9f3f8e0bbc577982805fe229bd
        patchset: 67881aa34cebad9f3f8e0bbc577982805fe229bd
        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: 42ee705d38534c75a61e2a5dd106013c
      buildset_refs:
      - branch: main
        change: '123'
        change_message: "fix(containerd): pin focal to containerd 1.7.30 to avoid
          AppArmor abi/3.0 break\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\n\nPin focal to the highest
          1.7.x release that does not include this directive (`1.7.30`) via a new
          `containerd_focal_max_version` default. Noble and other distros continue
          to use `containerd_latest` (currently 2.x).\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. **Patch the AppArmor profile post-install** \u2014
          fragile; containerd regenerates the profile on each container start.\n3.
          **Filter the version list dynamically (`< 1.7.31`)** \u2014 more brittle;
          future 1.7.x bumps would silently re-break unless the cap is also updated.
          An explicit pin is more visible to reviewers.\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)."
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/123
        commit_id: 67881aa34cebad9f3f8e0bbc577982805fe229bd
        patchset: 67881aa34cebad9f3f8e0bbc577982805fe229bd
        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): pin focal to containerd 1.7.30 to avoid AppArmor
        abi/3.0 break\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\n\nPin focal to the highest 1.7.x release
        that does not include this directive (`1.7.30`) via a new `containerd_focal_max_version`
        default. Noble and other distros continue to use `containerd_latest` (currently
        2.x).\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. **Patch the
        AppArmor profile post-install** \u2014 fragile; containerd regenerates the
        profile on each container start.\n3. **Filter the version list dynamically
        (`< 1.7.31`)** \u2014 more brittle; future 1.7.x bumps would silently re-break
        unless the cap is also updated. An explicit pin is more visible to reviewers.\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)."
      change_url: https://github.com/vexxhost/ansible-collection-containers/pull/123
      child_jobs: []
      commit_id: 67881aa34cebad9f3f8e0bbc577982805fe229bd
      event_id: b6724230-4234-11f1-96cd-837a86eff685
      executor:
        hostname: 0a8996d2b663
        inventory_file: /var/lib/zuul/builds/73dfb542c7394a4ca0b872399e5c2501/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/73dfb542c7394a4ca0b872399e5c2501/work/logs
        result_data_file: /var/lib/zuul/builds/73dfb542c7394a4ca0b872399e5c2501/work/results.json
        src_root: /var/lib/zuul/builds/73dfb542c7394a4ca0b872399e5c2501/work/src
        work_root: /var/lib/zuul/builds/73dfb542c7394a4ca0b872399e5c2501/work
      include_vars: []
      items:
      - branch: main
        change: '123'
        change_message: "fix(containerd): pin focal to containerd 1.7.30 to avoid
          AppArmor abi/3.0 break\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\n\nPin focal to the highest
          1.7.x release that does not include this directive (`1.7.30`) via a new
          `containerd_focal_max_version` default. Noble and other distros continue
          to use `containerd_latest` (currently 2.x).\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. **Patch the AppArmor profile post-install** \u2014
          fragile; containerd regenerates the profile on each container start.\n3.
          **Filter the version list dynamically (`< 1.7.31`)** \u2014 more brittle;
          future 1.7.x bumps would silently re-break unless the cap is also updated.
          An explicit pin is more visible to reviewers.\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)."
        change_url: https://github.com/vexxhost/ansible-collection-containers/pull/123
        commit_id: 67881aa34cebad9f3f8e0bbc577982805fe229bd
        patchset: 67881aa34cebad9f3f8e0bbc577982805fe229bd
        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: Zml4KGNvbnRhaW5lcmQpOiBwaW4gZm9jYWwgdG8gY29udGFpbmVyZCAxLjcuMzAgdG8gYXZvaWQgQXBwQXJtb3IgYWJpLzMuMCBicmVhawoKIyMgUHJvYmxlbQoKYGFuc2libGUtY29sbGVjdGlvbi1jb250YWluZXJzLW1vbGVjdWxlLWNvbnRhaW5lcmQtdWJ1bnR1LWZvY2FsYCBoYXMgYmVlbiBmYWlsaW5nIG9uIGV2ZXJ5IFBSIHNpbmNlICMxMDkgbWVyZ2VkICgyMDI1LTA0LTE4KSwgd2l0aCA2Mi85NiBjcml0ZXN0IGNhc2VzIGZhaWxpbmcgZHVyaW5nIGNvbnRhaW5lciBjcmVhdGlvbjoKCmBgYApBcHBBcm1vciBwYXJzZXIgZXJyb3IgZm9yIC90bXAvY3JpLWNvbnRhaW5lcmQuYXBwYXJtb3IuZFhYWCBhdCBsaW5lIDI6CkNvdWxkIG5vdCBvcGVuICdhYmkvMy4wJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpgYGAKCiMjIFJvb3QgY2F1c2UKCmNvbnRhaW5lcmQgKioxLjcuMzEqKiBjaGFuZ2VkIFtgY29udHJpYi9hcHBhcm1vci90ZW1wbGF0ZS5nb2BdKGh0dHBzOi8vZ2l0aHViLmNvbS9jb250YWluZXJkL2NvbnRhaW5lcmQvYmxvYi92MS43LjMxL2NvbnRyaWIvYXBwYXJtb3IvdGVtcGxhdGUuZ28jTDQzKSB0byAqKnVuY29uZGl0aW9uYWxseSoqIGVtaXQgYGFiaSA8YWJpLzMuMD4sYCBhcyBsaW5lIDIgb2YgdGhlIGRlZmF1bHQgY29udGFpbmVyIEFwcEFybW9yIHByb2ZpbGUuCgpQcmV2aW91c2x5ICjiiaQgMS43LjMwKSB0aGlzIGxpbmUgd2FzIG9ubHkgZW1pdHRlZCB3aGVuIGBtYWNyb0V4aXN0cygiYWJpLzMuMCIpYCByZXR1cm5lZCB0cnVlIChpLmUuIHdoZW4gYC9ldGMvYXBwYXJtb3IuZC9hYmkvMy4wYCB3YXMgcHJlc2VudCkuCgpVYnVudHUgMjAuMDQgKGZvY2FsKSBzaGlwcyBBcHBBcm1vciAqKjIuMTMueCoqLCB3aGljaCBkb2VzIG5vdCB1bmRlcnN0YW5kIHRoZSBgYWJpIDwuLi4+LGAgZGlyZWN0aXZlIGFuZCBhYm9ydHMgcHJvZmlsZSBsb2FkLiBFdmVyeSBjb250YWluZXIgY3JlYXRpb24gb24gZm9jYWwgdGhlbiBmYWlscyBiZWNhdXNlIGNvbnRhaW5lcmQgY2Fubm90IGFwcGx5IGl0cyBkZWZhdWx0IHByb2ZpbGUuCgpQUiAjMTA5IChgY2hvcmUoZGVwcyk6IHVwZGF0ZSBjb250YWluZXJkYCkgYnVtcGVkIGBjb250YWluZXJkX2xhdGVzdF92MWAgdG8gMS43LjMxLCBzaWxlbnRseSBicmVha2luZyBmb2NhbC4KCiMjIEZpeAoKUGluIGZvY2FsIHRvIHRoZSBoaWdoZXN0IDEuNy54IHJlbGVhc2UgdGhhdCBkb2VzIG5vdCBpbmNsdWRlIHRoaXMgZGlyZWN0aXZlIChgMS43LjMwYCkgdmlhIGEgbmV3IGBjb250YWluZXJkX2ZvY2FsX21heF92ZXJzaW9uYCBkZWZhdWx0LiBOb2JsZSBhbmQgb3RoZXIgZGlzdHJvcyBjb250aW51ZSB0byB1c2UgYGNvbnRhaW5lcmRfbGF0ZXN0YCAoY3VycmVudGx5IDIueCkuCgojIyBBbHRlcm5hdGl2ZXMgY29uc2lkZXJlZAoKMS4gKipEcm9wIGZvY2FsIGZyb20gQ0kqKiDigJQgZm9jYWwgaXMgc3RpbGwgc3VwcG9ydGVkIGJ5IHRoZSByb2xlOyBvdXQgb2Ygc2NvcGUgZm9yIGEgQ0kgZml4LgoyLiAqKlBhdGNoIHRoZSBBcHBBcm1vciBwcm9maWxlIHBvc3QtaW5zdGFsbCoqIOKAlCBmcmFnaWxlOyBjb250YWluZXJkIHJlZ2VuZXJhdGVzIHRoZSBwcm9maWxlIG9uIGVhY2ggY29udGFpbmVyIHN0YXJ0LgozLiAqKkZpbHRlciB0aGUgdmVyc2lvbiBsaXN0IGR5bmFtaWNhbGx5IChgPCAxLjcuMzFgKSoqIOKAlCBtb3JlIGJyaXR0bGU7IGZ1dHVyZSAxLjcueCBidW1wcyB3b3VsZCBzaWxlbnRseSByZS1icmVhayB1bmxlc3MgdGhlIGNhcCBpcyBhbHNvIHVwZGF0ZWQuIEFuIGV4cGxpY2l0IHBpbiBpcyBtb3JlIHZpc2libGUgdG8gcmV2aWV3ZXJzLgoKIyMgVmVyaWZpY2F0aW9uCgpBZnRlciB0aGlzIFBSLCBgY29udGFpbmVyZC11YnVudHUtZm9jYWxgIHNob3VsZCBnbyBncmVlbi4gYGNvbnRhaW5lcmQtdWJ1bnR1LW5vYmxlYCBpcyB1bmFmZmVjdGVkICh1c2VzIGBjb250YWluZXJkX2xhdGVzdGAgMi54KS4KClJlZnM6ICMxMjIgKHdoZXJlIHRoaXMgcmVncmVzc2lvbiB3YXMgZmlyc3QgaW52ZXN0aWdhdGVkKS4=
      patchset: 67881aa34cebad9f3f8e0bbc577982805fe229bd
      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: c5048780fe8335b3b91757243139d815c7bcb1e0
          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
