all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe77:62f9
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: ced81f88-ac08-4ae0-b960-6537a16c2b49
        host_id: 0d3d02185f810c959252bd1d303ec55040bf5bb0b401cceef814c3a7
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe77:62f9
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.102
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.84
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe77:62f9
        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 ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/ansible-collection-services/.zuul.yaml@main#498>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: be1d927adec4412290f7f9d4beee7fa7
      build_refs:
      - branch: main
        change: '2114'
        change_message: "squid: add support for network host mode\n\n## Summary\n\nDocker
          bridge networking requires manual outbound SNAT rules in routed\nsetups.
          For squid this means maintaining a SNAT rule for `0.0.0.0/0`\nthat has to
          mirror the source addresses of (potentially complex)\nrouting tables. Running
          squid with Docker **host networking** sidesteps\nthe bridge entirely and
          removes that burden.\n\nThis PR adds an optional `squid_network_mode` variable
          (default\n`bridge`). Setting it to `host` runs the squid container with\n`network_mode:
          host`. The change is purely additive Jinja conditionals\nin one template
          plus one new default and mirrors the existing\n`dnsdist_network_mode` (#2074)
          and `httpd_network_mode` options already\nin this repo.\n\nCloses #2113\n\n##
          Changes (in commit order)\n\n**`squid: add support for network host mode`**\n\n-
          `roles/squid/defaults/main.yml` \u2014 add `squid_network_mode: bridge`\n
          \ (placed next to `squid_network`, matching the dnsdist role layout).\n-
          `roles/squid/templates/docker-compose.yml.j2` \u2014 two surgical\n  conditionals:\n
          \ - In `host` mode emit `network_mode: host`; otherwise keep the\n    existing
          `ports:` mapping (`{{ squid_host }}:{{ squid_port }}:3128`).\n  - Emit the
          `networks:` bridge block only when not in `host` mode.\n  - The `volumes:\\n
          \ squid:` block is retained in **both** modes.\n\n## Verification\n\n- Rendered
          the template with Ansible's Jinja2 (`trim_blocks=True`):\n  - `squid_network_mode:
          bridge` \u2192 **byte-identical** to the current\n    template output, so
          existing deployments are unaffected.\n  - `squid_network_mode: host` \u2192
          emits `network_mode: host`, omits\n    `ports:` and the `networks:` block,
          and keeps `volumes:\\n  squid:`.\n- `yamllint -c .yamllint.yml roles/squid/defaults/main.yml`
          \u2014 passes.\n- The existing `molecule/delegated` scenario\n  (`molecule/delegated/tests/squid.py`)
          continues to exercise the\n  default `bridge` path unchanged; it is the
          regression guard for\n  \"default behavior is untouched\". It runs in Zuul
          CI against a\n  delegated host.\n\n## Security note\n\nIn `bridge` mode
          squid is reachable only at `squid_host:squid_port`\n(default `127.0.0.1:3128`).
          In `host` mode the Docker port mapping no\nlonger applies and squid listens
          on the base image default\n`http_port 3128` on all host interfaces, with
          `http_access allow all`\nfrom the role's `conf.d` drop-in. Host mode is
          therefore an explicit\noperator opt-in (the default stays `bridge` + `127.0.0.1`,
          so\nsecure-by-default is preserved) and operators must firewall the proxy\nat
          the host. The role cannot restrict the bind from a `conf.d` drop-in\nwithout
          templating the base `squid.conf`, which is out of scope for\nthis issue.\n\n##
          Notes\n\n- No documentation changes: `roles/squid/README.md` is empty and\n
          \ `CHANGELOG.md` is curated at release time (the dnsdist #2074 entry is\n
          \ likewise absent), matching the precedent set by #2074.\n- No new automated
          test, matching the dnsdist precedent (`7cafb656`).\n\n---\n\n_Drafted by
          [planwerk-review](https://github.com/planwerk/planwerk-review) e69a237 with
          Claude:claude-opus-4-8_\n"
        change_url: https://github.com/osism/ansible-collection-services/pull/2114
        commit_id: 21e0dbc8892c8b714ad94c99c788726edc224fe2
        patchset: 21e0dbc8892c8b714ad94c99c788726edc224fe2
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      buildset: eb40f3a60648440386510616e472d18a
      buildset_refs:
      - branch: main
        change: '2114'
        change_message: "squid: add support for network host mode\n\n## Summary\n\nDocker
          bridge networking requires manual outbound SNAT rules in routed\nsetups.
          For squid this means maintaining a SNAT rule for `0.0.0.0/0`\nthat has to
          mirror the source addresses of (potentially complex)\nrouting tables. Running
          squid with Docker **host networking** sidesteps\nthe bridge entirely and
          removes that burden.\n\nThis PR adds an optional `squid_network_mode` variable
          (default\n`bridge`). Setting it to `host` runs the squid container with\n`network_mode:
          host`. The change is purely additive Jinja conditionals\nin one template
          plus one new default and mirrors the existing\n`dnsdist_network_mode` (#2074)
          and `httpd_network_mode` options already\nin this repo.\n\nCloses #2113\n\n##
          Changes (in commit order)\n\n**`squid: add support for network host mode`**\n\n-
          `roles/squid/defaults/main.yml` \u2014 add `squid_network_mode: bridge`\n
          \ (placed next to `squid_network`, matching the dnsdist role layout).\n-
          `roles/squid/templates/docker-compose.yml.j2` \u2014 two surgical\n  conditionals:\n
          \ - In `host` mode emit `network_mode: host`; otherwise keep the\n    existing
          `ports:` mapping (`{{ squid_host }}:{{ squid_port }}:3128`).\n  - Emit the
          `networks:` bridge block only when not in `host` mode.\n  - The `volumes:\\n
          \ squid:` block is retained in **both** modes.\n\n## Verification\n\n- Rendered
          the template with Ansible's Jinja2 (`trim_blocks=True`):\n  - `squid_network_mode:
          bridge` \u2192 **byte-identical** to the current\n    template output, so
          existing deployments are unaffected.\n  - `squid_network_mode: host` \u2192
          emits `network_mode: host`, omits\n    `ports:` and the `networks:` block,
          and keeps `volumes:\\n  squid:`.\n- `yamllint -c .yamllint.yml roles/squid/defaults/main.yml`
          \u2014 passes.\n- The existing `molecule/delegated` scenario\n  (`molecule/delegated/tests/squid.py`)
          continues to exercise the\n  default `bridge` path unchanged; it is the
          regression guard for\n  \"default behavior is untouched\". It runs in Zuul
          CI against a\n  delegated host.\n\n## Security note\n\nIn `bridge` mode
          squid is reachable only at `squid_host:squid_port`\n(default `127.0.0.1:3128`).
          In `host` mode the Docker port mapping no\nlonger applies and squid listens
          on the base image default\n`http_port 3128` on all host interfaces, with
          `http_access allow all`\nfrom the role's `conf.d` drop-in. Host mode is
          therefore an explicit\noperator opt-in (the default stays `bridge` + `127.0.0.1`,
          so\nsecure-by-default is preserved) and operators must firewall the proxy\nat
          the host. The role cannot restrict the bind from a `conf.d` drop-in\nwithout
          templating the base `squid.conf`, which is out of scope for\nthis issue.\n\n##
          Notes\n\n- No documentation changes: `roles/squid/README.md` is empty and\n
          \ `CHANGELOG.md` is curated at release time (the dnsdist #2074 entry is\n
          \ likewise absent), matching the precedent set by #2074.\n- No new automated
          test, matching the dnsdist precedent (`7cafb656`).\n\n---\n\n_Drafted by
          [planwerk-review](https://github.com/planwerk/planwerk-review) e69a237 with
          Claude:claude-opus-4-8_\n"
        change_url: https://github.com/osism/ansible-collection-services/pull/2114
        commit_id: 21e0dbc8892c8b714ad94c99c788726edc224fe2
        patchset: 21e0dbc8892c8b714ad94c99c788726edc224fe2
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      change: '2114'
      change_message: "squid: add support for network host mode\n\n## Summary\n\nDocker
        bridge networking requires manual outbound SNAT rules in routed\nsetups. For
        squid this means maintaining a SNAT rule for `0.0.0.0/0`\nthat has to mirror
        the source addresses of (potentially complex)\nrouting tables. Running squid
        with Docker **host networking** sidesteps\nthe bridge entirely and removes
        that burden.\n\nThis PR adds an optional `squid_network_mode` variable (default\n`bridge`).
        Setting it to `host` runs the squid container with\n`network_mode: host`.
        The change is purely additive Jinja conditionals\nin one template plus one
        new default and mirrors the existing\n`dnsdist_network_mode` (#2074) and `httpd_network_mode`
        options already\nin this repo.\n\nCloses #2113\n\n## Changes (in commit order)\n\n**`squid:
        add support for network host mode`**\n\n- `roles/squid/defaults/main.yml`
        \u2014 add `squid_network_mode: bridge`\n  (placed next to `squid_network`,
        matching the dnsdist role layout).\n- `roles/squid/templates/docker-compose.yml.j2`
        \u2014 two surgical\n  conditionals:\n  - In `host` mode emit `network_mode:
        host`; otherwise keep the\n    existing `ports:` mapping (`{{ squid_host }}:{{
        squid_port }}:3128`).\n  - Emit the `networks:` bridge block only when not
        in `host` mode.\n  - The `volumes:\\n  squid:` block is retained in **both**
        modes.\n\n## Verification\n\n- Rendered the template with Ansible's Jinja2
        (`trim_blocks=True`):\n  - `squid_network_mode: bridge` \u2192 **byte-identical**
        to the current\n    template output, so existing deployments are unaffected.\n
        \ - `squid_network_mode: host` \u2192 emits `network_mode: host`, omits\n
        \   `ports:` and the `networks:` block, and keeps `volumes:\\n  squid:`.\n-
        `yamllint -c .yamllint.yml roles/squid/defaults/main.yml` \u2014 passes.\n-
        The existing `molecule/delegated` scenario\n  (`molecule/delegated/tests/squid.py`)
        continues to exercise the\n  default `bridge` path unchanged; it is the regression
        guard for\n  \"default behavior is untouched\". It runs in Zuul CI against
        a\n  delegated host.\n\n## Security note\n\nIn `bridge` mode squid is reachable
        only at `squid_host:squid_port`\n(default `127.0.0.1:3128`). In `host` mode
        the Docker port mapping no\nlonger applies and squid listens on the base image
        default\n`http_port 3128` on all host interfaces, with `http_access allow
        all`\nfrom the role's `conf.d` drop-in. Host mode is therefore an explicit\noperator
        opt-in (the default stays `bridge` + `127.0.0.1`, so\nsecure-by-default is
        preserved) and operators must firewall the proxy\nat the host. The role cannot
        restrict the bind from a `conf.d` drop-in\nwithout templating the base `squid.conf`,
        which is out of scope for\nthis issue.\n\n## Notes\n\n- No documentation changes:
        `roles/squid/README.md` is empty and\n  `CHANGELOG.md` is curated at release
        time (the dnsdist #2074 entry is\n  likewise absent), matching the precedent
        set by #2074.\n- No new automated test, matching the dnsdist precedent (`7cafb656`).\n\n---\n\n_Drafted
        by [planwerk-review](https://github.com/planwerk/planwerk-review) e69a237
        with Claude:claude-opus-4-8_\n"
      change_url: https://github.com/osism/ansible-collection-services/pull/2114
      child_jobs: []
      commit_id: 21e0dbc8892c8b714ad94c99c788726edc224fe2
      event_id: 1537c6c0-6a79-11f1-8f43-1ae05408e0da
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/be1d927adec4412290f7f9d4beee7fa7/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/be1d927adec4412290f7f9d4beee7fa7/work/logs
        result_data_file: /var/lib/zuul/builds/be1d927adec4412290f7f9d4beee7fa7/work/results.json
        src_root: /var/lib/zuul/builds/be1d927adec4412290f7f9d4beee7fa7/work/src
        work_root: /var/lib/zuul/builds/be1d927adec4412290f7f9d4beee7fa7/work
      include_vars: []
      items:
      - branch: main
        change: '2114'
        change_message: "squid: add support for network host mode\n\n## Summary\n\nDocker
          bridge networking requires manual outbound SNAT rules in routed\nsetups.
          For squid this means maintaining a SNAT rule for `0.0.0.0/0`\nthat has to
          mirror the source addresses of (potentially complex)\nrouting tables. Running
          squid with Docker **host networking** sidesteps\nthe bridge entirely and
          removes that burden.\n\nThis PR adds an optional `squid_network_mode` variable
          (default\n`bridge`). Setting it to `host` runs the squid container with\n`network_mode:
          host`. The change is purely additive Jinja conditionals\nin one template
          plus one new default and mirrors the existing\n`dnsdist_network_mode` (#2074)
          and `httpd_network_mode` options already\nin this repo.\n\nCloses #2113\n\n##
          Changes (in commit order)\n\n**`squid: add support for network host mode`**\n\n-
          `roles/squid/defaults/main.yml` \u2014 add `squid_network_mode: bridge`\n
          \ (placed next to `squid_network`, matching the dnsdist role layout).\n-
          `roles/squid/templates/docker-compose.yml.j2` \u2014 two surgical\n  conditionals:\n
          \ - In `host` mode emit `network_mode: host`; otherwise keep the\n    existing
          `ports:` mapping (`{{ squid_host }}:{{ squid_port }}:3128`).\n  - Emit the
          `networks:` bridge block only when not in `host` mode.\n  - The `volumes:\\n
          \ squid:` block is retained in **both** modes.\n\n## Verification\n\n- Rendered
          the template with Ansible's Jinja2 (`trim_blocks=True`):\n  - `squid_network_mode:
          bridge` \u2192 **byte-identical** to the current\n    template output, so
          existing deployments are unaffected.\n  - `squid_network_mode: host` \u2192
          emits `network_mode: host`, omits\n    `ports:` and the `networks:` block,
          and keeps `volumes:\\n  squid:`.\n- `yamllint -c .yamllint.yml roles/squid/defaults/main.yml`
          \u2014 passes.\n- The existing `molecule/delegated` scenario\n  (`molecule/delegated/tests/squid.py`)
          continues to exercise the\n  default `bridge` path unchanged; it is the
          regression guard for\n  \"default behavior is untouched\". It runs in Zuul
          CI against a\n  delegated host.\n\n## Security note\n\nIn `bridge` mode
          squid is reachable only at `squid_host:squid_port`\n(default `127.0.0.1:3128`).
          In `host` mode the Docker port mapping no\nlonger applies and squid listens
          on the base image default\n`http_port 3128` on all host interfaces, with
          `http_access allow all`\nfrom the role's `conf.d` drop-in. Host mode is
          therefore an explicit\noperator opt-in (the default stays `bridge` + `127.0.0.1`,
          so\nsecure-by-default is preserved) and operators must firewall the proxy\nat
          the host. The role cannot restrict the bind from a `conf.d` drop-in\nwithout
          templating the base `squid.conf`, which is out of scope for\nthis issue.\n\n##
          Notes\n\n- No documentation changes: `roles/squid/README.md` is empty and\n
          \ `CHANGELOG.md` is curated at release time (the dnsdist #2074 entry is\n
          \ likewise absent), matching the precedent set by #2074.\n- No new automated
          test, matching the dnsdist precedent (`7cafb656`).\n\n---\n\n_Drafted by
          [planwerk-review](https://github.com/planwerk/planwerk-review) e69a237 with
          Claude:claude-opus-4-8_\n"
        change_url: https://github.com/osism/ansible-collection-services/pull/2114
        commit_id: 21e0dbc8892c8b714ad94c99c788726edc224fe2
        patchset: 21e0dbc8892c8b714ad94c99c788726edc224fe2
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          name: osism/ansible-collection-services
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
        topic: null
      job: ansible-lint
      jobtags: []
      max_attempts: 3
      message: c3F1aWQ6IGFkZCBzdXBwb3J0IGZvciBuZXR3b3JrIGhvc3QgbW9kZQoKIyMgU3VtbWFyeQoKRG9ja2VyIGJyaWRnZSBuZXR3b3JraW5nIHJlcXVpcmVzIG1hbnVhbCBvdXRib3VuZCBTTkFUIHJ1bGVzIGluIHJvdXRlZApzZXR1cHMuIEZvciBzcXVpZCB0aGlzIG1lYW5zIG1haW50YWluaW5nIGEgU05BVCBydWxlIGZvciBgMC4wLjAuMC8wYAp0aGF0IGhhcyB0byBtaXJyb3IgdGhlIHNvdXJjZSBhZGRyZXNzZXMgb2YgKHBvdGVudGlhbGx5IGNvbXBsZXgpCnJvdXRpbmcgdGFibGVzLiBSdW5uaW5nIHNxdWlkIHdpdGggRG9ja2VyICoqaG9zdCBuZXR3b3JraW5nKiogc2lkZXN0ZXBzCnRoZSBicmlkZ2UgZW50aXJlbHkgYW5kIHJlbW92ZXMgdGhhdCBidXJkZW4uCgpUaGlzIFBSIGFkZHMgYW4gb3B0aW9uYWwgYHNxdWlkX25ldHdvcmtfbW9kZWAgdmFyaWFibGUgKGRlZmF1bHQKYGJyaWRnZWApLiBTZXR0aW5nIGl0IHRvIGBob3N0YCBydW5zIHRoZSBzcXVpZCBjb250YWluZXIgd2l0aApgbmV0d29ya19tb2RlOiBob3N0YC4gVGhlIGNoYW5nZSBpcyBwdXJlbHkgYWRkaXRpdmUgSmluamEgY29uZGl0aW9uYWxzCmluIG9uZSB0ZW1wbGF0ZSBwbHVzIG9uZSBuZXcgZGVmYXVsdCBhbmQgbWlycm9ycyB0aGUgZXhpc3RpbmcKYGRuc2Rpc3RfbmV0d29ya19tb2RlYCAoIzIwNzQpIGFuZCBgaHR0cGRfbmV0d29ya19tb2RlYCBvcHRpb25zIGFscmVhZHkKaW4gdGhpcyByZXBvLgoKQ2xvc2VzICMyMTEzCgojIyBDaGFuZ2VzIChpbiBjb21taXQgb3JkZXIpCgoqKmBzcXVpZDogYWRkIHN1cHBvcnQgZm9yIG5ldHdvcmsgaG9zdCBtb2RlYCoqCgotIGByb2xlcy9zcXVpZC9kZWZhdWx0cy9tYWluLnltbGAg4oCUIGFkZCBgc3F1aWRfbmV0d29ya19tb2RlOiBicmlkZ2VgCiAgKHBsYWNlZCBuZXh0IHRvIGBzcXVpZF9uZXR3b3JrYCwgbWF0Y2hpbmcgdGhlIGRuc2Rpc3Qgcm9sZSBsYXlvdXQpLgotIGByb2xlcy9zcXVpZC90ZW1wbGF0ZXMvZG9ja2VyLWNvbXBvc2UueW1sLmoyYCDigJQgdHdvIHN1cmdpY2FsCiAgY29uZGl0aW9uYWxzOgogIC0gSW4gYGhvc3RgIG1vZGUgZW1pdCBgbmV0d29ya19tb2RlOiBob3N0YDsgb3RoZXJ3aXNlIGtlZXAgdGhlCiAgICBleGlzdGluZyBgcG9ydHM6YCBtYXBwaW5nIChge3sgc3F1aWRfaG9zdCB9fTp7eyBzcXVpZF9wb3J0IH19OjMxMjhgKS4KICAtIEVtaXQgdGhlIGBuZXR3b3JrczpgIGJyaWRnZSBibG9jayBvbmx5IHdoZW4gbm90IGluIGBob3N0YCBtb2RlLgogIC0gVGhlIGB2b2x1bWVzOlxuICBzcXVpZDpgIGJsb2NrIGlzIHJldGFpbmVkIGluICoqYm90aCoqIG1vZGVzLgoKIyMgVmVyaWZpY2F0aW9uCgotIFJlbmRlcmVkIHRoZSB0ZW1wbGF0ZSB3aXRoIEFuc2libGUncyBKaW5qYTIgKGB0cmltX2Jsb2Nrcz1UcnVlYCk6CiAgLSBgc3F1aWRfbmV0d29ya19tb2RlOiBicmlkZ2VgIOKGkiAqKmJ5dGUtaWRlbnRpY2FsKiogdG8gdGhlIGN1cnJlbnQKICAgIHRlbXBsYXRlIG91dHB1dCwgc28gZXhpc3RpbmcgZGVwbG95bWVudHMgYXJlIHVuYWZmZWN0ZWQuCiAgLSBgc3F1aWRfbmV0d29ya19tb2RlOiBob3N0YCDihpIgZW1pdHMgYG5ldHdvcmtfbW9kZTogaG9zdGAsIG9taXRzCiAgICBgcG9ydHM6YCBhbmQgdGhlIGBuZXR3b3JrczpgIGJsb2NrLCBhbmQga2VlcHMgYHZvbHVtZXM6XG4gIHNxdWlkOmAuCi0gYHlhbWxsaW50IC1jIC55YW1sbGludC55bWwgcm9sZXMvc3F1aWQvZGVmYXVsdHMvbWFpbi55bWxgIOKAlCBwYXNzZXMuCi0gVGhlIGV4aXN0aW5nIGBtb2xlY3VsZS9kZWxlZ2F0ZWRgIHNjZW5hcmlvCiAgKGBtb2xlY3VsZS9kZWxlZ2F0ZWQvdGVzdHMvc3F1aWQucHlgKSBjb250aW51ZXMgdG8gZXhlcmNpc2UgdGhlCiAgZGVmYXVsdCBgYnJpZGdlYCBwYXRoIHVuY2hhbmdlZDsgaXQgaXMgdGhlIHJlZ3Jlc3Npb24gZ3VhcmQgZm9yCiAgImRlZmF1bHQgYmVoYXZpb3IgaXMgdW50b3VjaGVkIi4gSXQgcnVucyBpbiBadXVsIENJIGFnYWluc3QgYQogIGRlbGVnYXRlZCBob3N0LgoKIyMgU2VjdXJpdHkgbm90ZQoKSW4gYGJyaWRnZWAgbW9kZSBzcXVpZCBpcyByZWFjaGFibGUgb25seSBhdCBgc3F1aWRfaG9zdDpzcXVpZF9wb3J0YAooZGVmYXVsdCBgMTI3LjAuMC4xOjMxMjhgKS4gSW4gYGhvc3RgIG1vZGUgdGhlIERvY2tlciBwb3J0IG1hcHBpbmcgbm8KbG9uZ2VyIGFwcGxpZXMgYW5kIHNxdWlkIGxpc3RlbnMgb24gdGhlIGJhc2UgaW1hZ2UgZGVmYXVsdApgaHR0cF9wb3J0IDMxMjhgIG9uIGFsbCBob3N0IGludGVyZmFjZXMsIHdpdGggYGh0dHBfYWNjZXNzIGFsbG93IGFsbGAKZnJvbSB0aGUgcm9sZSdzIGBjb25mLmRgIGRyb3AtaW4uIEhvc3QgbW9kZSBpcyB0aGVyZWZvcmUgYW4gZXhwbGljaXQKb3BlcmF0b3Igb3B0LWluICh0aGUgZGVmYXVsdCBzdGF5cyBgYnJpZGdlYCArIGAxMjcuMC4wLjFgLCBzbwpzZWN1cmUtYnktZGVmYXVsdCBpcyBwcmVzZXJ2ZWQpIGFuZCBvcGVyYXRvcnMgbXVzdCBmaXJld2FsbCB0aGUgcHJveHkKYXQgdGhlIGhvc3QuIFRoZSByb2xlIGNhbm5vdCByZXN0cmljdCB0aGUgYmluZCBmcm9tIGEgYGNvbmYuZGAgZHJvcC1pbgp3aXRob3V0IHRlbXBsYXRpbmcgdGhlIGJhc2UgYHNxdWlkLmNvbmZgLCB3aGljaCBpcyBvdXQgb2Ygc2NvcGUgZm9yCnRoaXMgaXNzdWUuCgojIyBOb3RlcwoKLSBObyBkb2N1bWVudGF0aW9uIGNoYW5nZXM6IGByb2xlcy9zcXVpZC9SRUFETUUubWRgIGlzIGVtcHR5IGFuZAogIGBDSEFOR0VMT0cubWRgIGlzIGN1cmF0ZWQgYXQgcmVsZWFzZSB0aW1lICh0aGUgZG5zZGlzdCAjMjA3NCBlbnRyeSBpcwogIGxpa2V3aXNlIGFic2VudCksIG1hdGNoaW5nIHRoZSBwcmVjZWRlbnQgc2V0IGJ5ICMyMDc0LgotIE5vIG5ldyBhdXRvbWF0ZWQgdGVzdCwgbWF0Y2hpbmcgdGhlIGRuc2Rpc3QgcHJlY2VkZW50IChgN2NhZmI2NTZgKS4KCi0tLQoKX0RyYWZ0ZWQgYnkgW3BsYW53ZXJrLXJldmlld10oaHR0cHM6Ly9naXRodWIuY29tL3BsYW53ZXJrL3BsYW53ZXJrLXJldmlldykgZTY5YTIzNyB3aXRoIENsYXVkZTpjbGF1ZGUtb3B1cy00LThfCg==
      patchset: 21e0dbc8892c8b714ad94c99c788726edc224fe2
      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/ansible-lint/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/ansible-collection-services
        name: osism/ansible-collection-services
        short_name: ansible-collection-services
        src_dir: src/github.com/osism/ansible-collection-services
      projects:
        github.com/osism/ansible-collection-services:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ansible-collection-services
          checkout: main
          checkout_description: zuul branch
          commit: 38330380a93f2ec937256c8f4f4edc2bc5e8cee3
          name: osism/ansible-collection-services
          required: false
          short_name: ansible-collection-services
          src_dir: src/github.com/osism/ansible-collection-services
      ref: refs/pull/2114/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
