all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fed3:9733
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: b86c984a-0137-4b2f-ad26-e18763a19b20
        host_id: 82101243836454d7401d5893feae9e2c5df7cc291646d8a99b33b53b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fed3:9733
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.174
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.32
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fed3:9733
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job python-black explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#54>'
      - '<Job python-black explicit: None implied: None source: osism/container-image-osism-ansible/.zuul.yaml@main#106>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 3683b4ef9bd447f2a385dcf48a126bc4
      build_refs:
      - branch: main
        change: '733'
        change_message: "Correct stale private_key_file path in image cfg\n\n## Summary\n\n-
          Update `private_key_file` in the image-baked `/etc/ansible/ansible.cfg`
          from `/ansible/secrets/id_rsa` to `/ansible/secrets/id_rsa.operator`, matching
          the 2.5-year-old OSISM convention across `osism/defaults/ansible.cfg`, testbed
          / wt-testbed `environments/ansible.cfg`, the `playbooks/manager/keypair.yml`
          generator in this repo, and the `ansible-collection-commons` sshconfig role
          default.\n- Hygiene cleanup of a 2019-era mispointer. On a correctly configured
          deploy this change is a no-op: the rendered `/ansible/inventory/ansible/ansible.cfg`
          and the bind-mounted `/opt/configuration/environments/ansible.cfg` both
          set `id_rsa.operator` and take precedence via `ANSIBLE_CONFIG`; the image
          default is not consulted.\n\n## Why\n\nAnsible's `find_ini_config_file()`
          silently falls through to the next config file when `ANSIBLE_CONFIG` is
          unreadable. Historically this has happened via a reconciler-side `rsync
          --delete` race window (now closed at its source by https://github.com/osism/container-image-inventory-reconciler/pull/521),
          but other causes are possible \u2014 permissions flip on the mounted config,
          disk full during rendering, container volume unmount glitch, ladder misconfig.
          On any such fall-through the image default `/etc/ansible/ansible.cfg` is
          what Ansible reads. Its `private_key_file` value should at least be correct
          rather than pointing at a path no OSISM deploy has ever written.\n\n## Scope\n\nThe
          identical wrong line exists in three sibling repos at `files/ansible.cfg`:\n\n-
          `osism/container-image-kolla-ansible`\n- `osism/container-image-ceph-ansible`\n-
          `osism/osism-kubernetes`\n\nNo failures of this class have been observed
          via those containers; every observed incident ran through `osism-ansible`
          specifically (`osism apply gather-facts` dispatches into this container).
          Whether to replicate this correction across the other three repos \u2014
          or the stronger option of stripping/deleting the baked-in `ansible.cfg`
          entirely, which are mostly duplicates of `/defaults/ansible.cfg` plus stale
          divergent values \u2014 is a separate decision, not in this PR's scope.\n\n##
          Test plan\n\n- [ ] Rebuild `container-image-osism-ansible` from this branch.\n-
          [ ] On a correctly configured deploy, confirm no behavioural change: `ANSIBLE_CONFIG`
          resolves to the rendered or bind-mounted config as before, and the image
          default is never consulted.\n- [ ] Force a fall-through (e.g. `ANSIBLE_CONFIG=/nonexistent
          ansible-playbook \u2026`) and confirm ssh is attempted against `/ansible/secrets/id_rsa.operator`
          rather than the stale `/ansible/secrets/id_rsa`."
        change_url: https://github.com/osism/container-image-osism-ansible/pull/733
        commit_id: a7963e26bae4e423284187b52c1e3d2b8fb15fb9
        patchset: a7963e26bae4e423284187b52c1e3d2b8fb15fb9
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-osism-ansible
          name: osism/container-image-osism-ansible
          short_name: container-image-osism-ansible
        src_dir: src/github.com/osism/container-image-osism-ansible
        topic: null
      buildset: d5218c8337f24dbf8adfe271db252887
      buildset_refs:
      - branch: main
        change: '733'
        change_message: "Correct stale private_key_file path in image cfg\n\n## Summary\n\n-
          Update `private_key_file` in the image-baked `/etc/ansible/ansible.cfg`
          from `/ansible/secrets/id_rsa` to `/ansible/secrets/id_rsa.operator`, matching
          the 2.5-year-old OSISM convention across `osism/defaults/ansible.cfg`, testbed
          / wt-testbed `environments/ansible.cfg`, the `playbooks/manager/keypair.yml`
          generator in this repo, and the `ansible-collection-commons` sshconfig role
          default.\n- Hygiene cleanup of a 2019-era mispointer. On a correctly configured
          deploy this change is a no-op: the rendered `/ansible/inventory/ansible/ansible.cfg`
          and the bind-mounted `/opt/configuration/environments/ansible.cfg` both
          set `id_rsa.operator` and take precedence via `ANSIBLE_CONFIG`; the image
          default is not consulted.\n\n## Why\n\nAnsible's `find_ini_config_file()`
          silently falls through to the next config file when `ANSIBLE_CONFIG` is
          unreadable. Historically this has happened via a reconciler-side `rsync
          --delete` race window (now closed at its source by https://github.com/osism/container-image-inventory-reconciler/pull/521),
          but other causes are possible \u2014 permissions flip on the mounted config,
          disk full during rendering, container volume unmount glitch, ladder misconfig.
          On any such fall-through the image default `/etc/ansible/ansible.cfg` is
          what Ansible reads. Its `private_key_file` value should at least be correct
          rather than pointing at a path no OSISM deploy has ever written.\n\n## Scope\n\nThe
          identical wrong line exists in three sibling repos at `files/ansible.cfg`:\n\n-
          `osism/container-image-kolla-ansible`\n- `osism/container-image-ceph-ansible`\n-
          `osism/osism-kubernetes`\n\nNo failures of this class have been observed
          via those containers; every observed incident ran through `osism-ansible`
          specifically (`osism apply gather-facts` dispatches into this container).
          Whether to replicate this correction across the other three repos \u2014
          or the stronger option of stripping/deleting the baked-in `ansible.cfg`
          entirely, which are mostly duplicates of `/defaults/ansible.cfg` plus stale
          divergent values \u2014 is a separate decision, not in this PR's scope.\n\n##
          Test plan\n\n- [ ] Rebuild `container-image-osism-ansible` from this branch.\n-
          [ ] On a correctly configured deploy, confirm no behavioural change: `ANSIBLE_CONFIG`
          resolves to the rendered or bind-mounted config as before, and the image
          default is never consulted.\n- [ ] Force a fall-through (e.g. `ANSIBLE_CONFIG=/nonexistent
          ansible-playbook \u2026`) and confirm ssh is attempted against `/ansible/secrets/id_rsa.operator`
          rather than the stale `/ansible/secrets/id_rsa`."
        change_url: https://github.com/osism/container-image-osism-ansible/pull/733
        commit_id: a7963e26bae4e423284187b52c1e3d2b8fb15fb9
        patchset: a7963e26bae4e423284187b52c1e3d2b8fb15fb9
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-osism-ansible
          name: osism/container-image-osism-ansible
          short_name: container-image-osism-ansible
        src_dir: src/github.com/osism/container-image-osism-ansible
        topic: null
      change: '733'
      change_message: "Correct stale private_key_file path in image cfg\n\n## Summary\n\n-
        Update `private_key_file` in the image-baked `/etc/ansible/ansible.cfg` from
        `/ansible/secrets/id_rsa` to `/ansible/secrets/id_rsa.operator`, matching
        the 2.5-year-old OSISM convention across `osism/defaults/ansible.cfg`, testbed
        / wt-testbed `environments/ansible.cfg`, the `playbooks/manager/keypair.yml`
        generator in this repo, and the `ansible-collection-commons` sshconfig role
        default.\n- Hygiene cleanup of a 2019-era mispointer. On a correctly configured
        deploy this change is a no-op: the rendered `/ansible/inventory/ansible/ansible.cfg`
        and the bind-mounted `/opt/configuration/environments/ansible.cfg` both set
        `id_rsa.operator` and take precedence via `ANSIBLE_CONFIG`; the image default
        is not consulted.\n\n## Why\n\nAnsible's `find_ini_config_file()` silently
        falls through to the next config file when `ANSIBLE_CONFIG` is unreadable.
        Historically this has happened via a reconciler-side `rsync --delete` race
        window (now closed at its source by https://github.com/osism/container-image-inventory-reconciler/pull/521),
        but other causes are possible \u2014 permissions flip on the mounted config,
        disk full during rendering, container volume unmount glitch, ladder misconfig.
        On any such fall-through the image default `/etc/ansible/ansible.cfg` is what
        Ansible reads. Its `private_key_file` value should at least be correct rather
        than pointing at a path no OSISM deploy has ever written.\n\n## Scope\n\nThe
        identical wrong line exists in three sibling repos at `files/ansible.cfg`:\n\n-
        `osism/container-image-kolla-ansible`\n- `osism/container-image-ceph-ansible`\n-
        `osism/osism-kubernetes`\n\nNo failures of this class have been observed via
        those containers; every observed incident ran through `osism-ansible` specifically
        (`osism apply gather-facts` dispatches into this container). Whether to replicate
        this correction across the other three repos \u2014 or the stronger option
        of stripping/deleting the baked-in `ansible.cfg` entirely, which are mostly
        duplicates of `/defaults/ansible.cfg` plus stale divergent values \u2014 is
        a separate decision, not in this PR's scope.\n\n## Test plan\n\n- [ ] Rebuild
        `container-image-osism-ansible` from this branch.\n- [ ] On a correctly configured
        deploy, confirm no behavioural change: `ANSIBLE_CONFIG` resolves to the rendered
        or bind-mounted config as before, and the image default is never consulted.\n-
        [ ] Force a fall-through (e.g. `ANSIBLE_CONFIG=/nonexistent ansible-playbook
        \u2026`) and confirm ssh is attempted against `/ansible/secrets/id_rsa.operator`
        rather than the stale `/ansible/secrets/id_rsa`."
      change_url: https://github.com/osism/container-image-osism-ansible/pull/733
      child_jobs: []
      commit_id: a7963e26bae4e423284187b52c1e3d2b8fb15fb9
      event_id: efec0100-59da-11f1-9b89-8b9db38b20f4
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/3683b4ef9bd447f2a385dcf48a126bc4/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/3683b4ef9bd447f2a385dcf48a126bc4/work/logs
        result_data_file: /var/lib/zuul/builds/3683b4ef9bd447f2a385dcf48a126bc4/work/results.json
        src_root: /var/lib/zuul/builds/3683b4ef9bd447f2a385dcf48a126bc4/work/src
        work_root: /var/lib/zuul/builds/3683b4ef9bd447f2a385dcf48a126bc4/work
      include_vars: []
      items:
      - branch: main
        change: '733'
        change_message: "Correct stale private_key_file path in image cfg\n\n## Summary\n\n-
          Update `private_key_file` in the image-baked `/etc/ansible/ansible.cfg`
          from `/ansible/secrets/id_rsa` to `/ansible/secrets/id_rsa.operator`, matching
          the 2.5-year-old OSISM convention across `osism/defaults/ansible.cfg`, testbed
          / wt-testbed `environments/ansible.cfg`, the `playbooks/manager/keypair.yml`
          generator in this repo, and the `ansible-collection-commons` sshconfig role
          default.\n- Hygiene cleanup of a 2019-era mispointer. On a correctly configured
          deploy this change is a no-op: the rendered `/ansible/inventory/ansible/ansible.cfg`
          and the bind-mounted `/opt/configuration/environments/ansible.cfg` both
          set `id_rsa.operator` and take precedence via `ANSIBLE_CONFIG`; the image
          default is not consulted.\n\n## Why\n\nAnsible's `find_ini_config_file()`
          silently falls through to the next config file when `ANSIBLE_CONFIG` is
          unreadable. Historically this has happened via a reconciler-side `rsync
          --delete` race window (now closed at its source by https://github.com/osism/container-image-inventory-reconciler/pull/521),
          but other causes are possible \u2014 permissions flip on the mounted config,
          disk full during rendering, container volume unmount glitch, ladder misconfig.
          On any such fall-through the image default `/etc/ansible/ansible.cfg` is
          what Ansible reads. Its `private_key_file` value should at least be correct
          rather than pointing at a path no OSISM deploy has ever written.\n\n## Scope\n\nThe
          identical wrong line exists in three sibling repos at `files/ansible.cfg`:\n\n-
          `osism/container-image-kolla-ansible`\n- `osism/container-image-ceph-ansible`\n-
          `osism/osism-kubernetes`\n\nNo failures of this class have been observed
          via those containers; every observed incident ran through `osism-ansible`
          specifically (`osism apply gather-facts` dispatches into this container).
          Whether to replicate this correction across the other three repos \u2014
          or the stronger option of stripping/deleting the baked-in `ansible.cfg`
          entirely, which are mostly duplicates of `/defaults/ansible.cfg` plus stale
          divergent values \u2014 is a separate decision, not in this PR's scope.\n\n##
          Test plan\n\n- [ ] Rebuild `container-image-osism-ansible` from this branch.\n-
          [ ] On a correctly configured deploy, confirm no behavioural change: `ANSIBLE_CONFIG`
          resolves to the rendered or bind-mounted config as before, and the image
          default is never consulted.\n- [ ] Force a fall-through (e.g. `ANSIBLE_CONFIG=/nonexistent
          ansible-playbook \u2026`) and confirm ssh is attempted against `/ansible/secrets/id_rsa.operator`
          rather than the stale `/ansible/secrets/id_rsa`."
        change_url: https://github.com/osism/container-image-osism-ansible/pull/733
        commit_id: a7963e26bae4e423284187b52c1e3d2b8fb15fb9
        patchset: a7963e26bae4e423284187b52c1e3d2b8fb15fb9
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-osism-ansible
          name: osism/container-image-osism-ansible
          short_name: container-image-osism-ansible
          src_dir: src/github.com/osism/container-image-osism-ansible
        topic: null
      job: python-black
      jobtags: []
      max_attempts: 3
      message: Q29ycmVjdCBzdGFsZSBwcml2YXRlX2tleV9maWxlIHBhdGggaW4gaW1hZ2UgY2ZnCgojIyBTdW1tYXJ5CgotIFVwZGF0ZSBgcHJpdmF0ZV9rZXlfZmlsZWAgaW4gdGhlIGltYWdlLWJha2VkIGAvZXRjL2Fuc2libGUvYW5zaWJsZS5jZmdgIGZyb20gYC9hbnNpYmxlL3NlY3JldHMvaWRfcnNhYCB0byBgL2Fuc2libGUvc2VjcmV0cy9pZF9yc2Eub3BlcmF0b3JgLCBtYXRjaGluZyB0aGUgMi41LXllYXItb2xkIE9TSVNNIGNvbnZlbnRpb24gYWNyb3NzIGBvc2lzbS9kZWZhdWx0cy9hbnNpYmxlLmNmZ2AsIHRlc3RiZWQgLyB3dC10ZXN0YmVkIGBlbnZpcm9ubWVudHMvYW5zaWJsZS5jZmdgLCB0aGUgYHBsYXlib29rcy9tYW5hZ2VyL2tleXBhaXIueW1sYCBnZW5lcmF0b3IgaW4gdGhpcyByZXBvLCBhbmQgdGhlIGBhbnNpYmxlLWNvbGxlY3Rpb24tY29tbW9uc2Agc3NoY29uZmlnIHJvbGUgZGVmYXVsdC4KLSBIeWdpZW5lIGNsZWFudXAgb2YgYSAyMDE5LWVyYSBtaXNwb2ludGVyLiBPbiBhIGNvcnJlY3RseSBjb25maWd1cmVkIGRlcGxveSB0aGlzIGNoYW5nZSBpcyBhIG5vLW9wOiB0aGUgcmVuZGVyZWQgYC9hbnNpYmxlL2ludmVudG9yeS9hbnNpYmxlL2Fuc2libGUuY2ZnYCBhbmQgdGhlIGJpbmQtbW91bnRlZCBgL29wdC9jb25maWd1cmF0aW9uL2Vudmlyb25tZW50cy9hbnNpYmxlLmNmZ2AgYm90aCBzZXQgYGlkX3JzYS5vcGVyYXRvcmAgYW5kIHRha2UgcHJlY2VkZW5jZSB2aWEgYEFOU0lCTEVfQ09ORklHYDsgdGhlIGltYWdlIGRlZmF1bHQgaXMgbm90IGNvbnN1bHRlZC4KCiMjIFdoeQoKQW5zaWJsZSdzIGBmaW5kX2luaV9jb25maWdfZmlsZSgpYCBzaWxlbnRseSBmYWxscyB0aHJvdWdoIHRvIHRoZSBuZXh0IGNvbmZpZyBmaWxlIHdoZW4gYEFOU0lCTEVfQ09ORklHYCBpcyB1bnJlYWRhYmxlLiBIaXN0b3JpY2FsbHkgdGhpcyBoYXMgaGFwcGVuZWQgdmlhIGEgcmVjb25jaWxlci1zaWRlIGByc3luYyAtLWRlbGV0ZWAgcmFjZSB3aW5kb3cgKG5vdyBjbG9zZWQgYXQgaXRzIHNvdXJjZSBieSBodHRwczovL2dpdGh1Yi5jb20vb3Npc20vY29udGFpbmVyLWltYWdlLWludmVudG9yeS1yZWNvbmNpbGVyL3B1bGwvNTIxKSwgYnV0IG90aGVyIGNhdXNlcyBhcmUgcG9zc2libGUg4oCUIHBlcm1pc3Npb25zIGZsaXAgb24gdGhlIG1vdW50ZWQgY29uZmlnLCBkaXNrIGZ1bGwgZHVyaW5nIHJlbmRlcmluZywgY29udGFpbmVyIHZvbHVtZSB1bm1vdW50IGdsaXRjaCwgbGFkZGVyIG1pc2NvbmZpZy4gT24gYW55IHN1Y2ggZmFsbC10aHJvdWdoIHRoZSBpbWFnZSBkZWZhdWx0IGAvZXRjL2Fuc2libGUvYW5zaWJsZS5jZmdgIGlzIHdoYXQgQW5zaWJsZSByZWFkcy4gSXRzIGBwcml2YXRlX2tleV9maWxlYCB2YWx1ZSBzaG91bGQgYXQgbGVhc3QgYmUgY29ycmVjdCByYXRoZXIgdGhhbiBwb2ludGluZyBhdCBhIHBhdGggbm8gT1NJU00gZGVwbG95IGhhcyBldmVyIHdyaXR0ZW4uCgojIyBTY29wZQoKVGhlIGlkZW50aWNhbCB3cm9uZyBsaW5lIGV4aXN0cyBpbiB0aHJlZSBzaWJsaW5nIHJlcG9zIGF0IGBmaWxlcy9hbnNpYmxlLmNmZ2A6CgotIGBvc2lzbS9jb250YWluZXItaW1hZ2Uta29sbGEtYW5zaWJsZWAKLSBgb3Npc20vY29udGFpbmVyLWltYWdlLWNlcGgtYW5zaWJsZWAKLSBgb3Npc20vb3Npc20ta3ViZXJuZXRlc2AKCk5vIGZhaWx1cmVzIG9mIHRoaXMgY2xhc3MgaGF2ZSBiZWVuIG9ic2VydmVkIHZpYSB0aG9zZSBjb250YWluZXJzOyBldmVyeSBvYnNlcnZlZCBpbmNpZGVudCByYW4gdGhyb3VnaCBgb3Npc20tYW5zaWJsZWAgc3BlY2lmaWNhbGx5IChgb3Npc20gYXBwbHkgZ2F0aGVyLWZhY3RzYCBkaXNwYXRjaGVzIGludG8gdGhpcyBjb250YWluZXIpLiBXaGV0aGVyIHRvIHJlcGxpY2F0ZSB0aGlzIGNvcnJlY3Rpb24gYWNyb3NzIHRoZSBvdGhlciB0aHJlZSByZXBvcyDigJQgb3IgdGhlIHN0cm9uZ2VyIG9wdGlvbiBvZiBzdHJpcHBpbmcvZGVsZXRpbmcgdGhlIGJha2VkLWluIGBhbnNpYmxlLmNmZ2AgZW50aXJlbHksIHdoaWNoIGFyZSBtb3N0bHkgZHVwbGljYXRlcyBvZiBgL2RlZmF1bHRzL2Fuc2libGUuY2ZnYCBwbHVzIHN0YWxlIGRpdmVyZ2VudCB2YWx1ZXMg4oCUIGlzIGEgc2VwYXJhdGUgZGVjaXNpb24sIG5vdCBpbiB0aGlzIFBSJ3Mgc2NvcGUuCgojIyBUZXN0IHBsYW4KCi0gWyBdIFJlYnVpbGQgYGNvbnRhaW5lci1pbWFnZS1vc2lzbS1hbnNpYmxlYCBmcm9tIHRoaXMgYnJhbmNoLgotIFsgXSBPbiBhIGNvcnJlY3RseSBjb25maWd1cmVkIGRlcGxveSwgY29uZmlybSBubyBiZWhhdmlvdXJhbCBjaGFuZ2U6IGBBTlNJQkxFX0NPTkZJR2AgcmVzb2x2ZXMgdG8gdGhlIHJlbmRlcmVkIG9yIGJpbmQtbW91bnRlZCBjb25maWcgYXMgYmVmb3JlLCBhbmQgdGhlIGltYWdlIGRlZmF1bHQgaXMgbmV2ZXIgY29uc3VsdGVkLgotIFsgXSBGb3JjZSBhIGZhbGwtdGhyb3VnaCAoZS5nLiBgQU5TSUJMRV9DT05GSUc9L25vbmV4aXN0ZW50IGFuc2libGUtcGxheWJvb2sg4oCmYCkgYW5kIGNvbmZpcm0gc3NoIGlzIGF0dGVtcHRlZCBhZ2FpbnN0IGAvYW5zaWJsZS9zZWNyZXRzL2lkX3JzYS5vcGVyYXRvcmAgcmF0aGVyIHRoYW4gdGhlIHN0YWxlIGAvYW5zaWJsZS9zZWNyZXRzL2lkX3JzYWAu
      patchset: a7963e26bae4e423284187b52c1e3d2b8fb15fb9
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          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: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          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/python-black/run.yml
          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: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/container-image-osism-ansible
        name: osism/container-image-osism-ansible
        short_name: container-image-osism-ansible
        src_dir: src/github.com/osism/container-image-osism-ansible
      projects:
        github.com/osism/container-image-osism-ansible:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-osism-ansible
          checkout: main
          checkout_description: zuul branch
          commit: e0817dc591edf2ddcdf3ce1e77024666743e2ef5
          name: osism/container-image-osism-ansible
          required: false
          short_name: container-image-osism-ansible
          src_dir: src/github.com/osism/container-image-osism-ansible
      ref: refs/pull/733/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
