all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fed2:707f
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      docker_namespace: osism
      docker_registry: osism.harbor.regio.digital
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 65d6edc8-ab8d-402d-8794-b0da9a55b22c
        host_id: df70f2a3f3d0c26428f22685cfc722ebc48099d99e7332c39e017195
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fed2:707f
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.132
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.118
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fed2:707f
        region: null
        slot: null
      version_openstack: '2025.1'
  vars:
    docker_namespace: osism
    docker_registry: osism.harbor.regio.digital
    version_openstack: '2025.1'
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job container-image-kolla-ansible-build explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/container-image-kolla-ansible/.zuul.yaml@main#83>'
      - '<Job container-image-kolla-ansible-build-2025.1 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/container-image-kolla-ansible/.zuul.yaml@main#98>'
      - '<Job container-image-kolla-ansible-build-2025.1 explicit: None implied: None
        source: osism/container-image-kolla-ansible/.zuul.yaml@main#163>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 3d4790afe30b4f1c82f00d59230827ea
      build_refs:
      - branch: main
        change: '926'
        change_message: "ironic: bound IPA image download with timeout\n\n## Problem\n\nThe
          `Download ironic ipa images` play fetches the IPA initramfs and kernel from
          `tarballs.opendev.org` with `ansible.builtin.get_url`, but neither task
          set a `timeout`. `get_url`'s default `timeout` (10s) bounds only the initial
          connect, never the transfer \u2014 so a connection that opens and then stalls
          mid-transfer hangs indefinitely. With `retries: 3` a slow night compounds
          into a multi-hour stall.\n\nOn 2026-07-02 (build [`70b8e4aa`](https://zuul.services.osism.tech/t/osism/build/70b8e4aa0fa144d887e150affa594cb3),
          `testbed-deploy-next-in-a-nutshell-with-tempest-ubuntu-24.04`) the initramfs
          download stalled for **10790s (~3h)**. The deploy was otherwise healthy
          and resumed once the download finally completed, but the wasted time pushed
          the job past its ~4h30m Zuul timeout (`TIMED_OUT`) before tempest could
          run. The idle `osism apply` celery chain also tripped the informational
          `kolla-collection-celery-task-stuck` signature, masking the real cause.\n\n##
          Change\n\nSet `timeout: 120` on both `get_url` tasks. A stalled host now
          fails fast (~8 min worst case across the retries) with a clear, attributable
          error instead of hanging for hours.\n\n## Why 120s will not break a working-but-slow
          download\n\n`get_url`'s `timeout` is a **socket-level read timeout, not
          a cap on total transfer time** \u2014 it fires only when the connection
          delivers zero bytes for 120 continuous seconds. A slow-but-live transfer
          keeps `recv()` returning partial data far more often than that, so it never
          trips regardless of file size or total duration.\n\nThe initramfs is the
          only sizeable artifact (~490 MiB for 2025.1; the kernel is ~15 MiB). Even
          on a 1 Mbit/s line it streams to completion in ~69 min without a single
          120s gap:\n\n| Sustained rate | Full initramfs (~490 MiB) | Trips `timeout:
          120`? |\n|---|---|---|\n| 1 Mbit/s | ~69 min | No |\n| 5 Mbit/s | ~14 min
          | No |\n| 20 Mbit/s | ~3.4 min | No |\n\nOnly a genuinely dead connection
          \u2014 the failure we are targeting \u2014 stays silent for 120s. The margin
          also covers the multi-second stalls a lossy line can incur during TCP retransmission.\n\nThis
          bounds the blast radius; it does **not** remove the external dependency
          on `tarballs.opendev.org` (a local mirror / using the testbed's already-synced
          image would \u2014 tracked separately).\n\n\U0001F916 Generated with [Claude
          Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/container-image-kolla-ansible/pull/926
        commit_id: 303136e8224357d99b6d10bfb29ff7bffad2517b
        patchset: 303136e8224357d99b6d10bfb29ff7bffad2517b
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-kolla-ansible
          name: osism/container-image-kolla-ansible
          short_name: container-image-kolla-ansible
        src_dir: src/github.com/osism/container-image-kolla-ansible
        topic: null
      buildset: cc288bca75b24374ab61fa49a0537fd1
      buildset_refs:
      - branch: main
        change: '926'
        change_message: "ironic: bound IPA image download with timeout\n\n## Problem\n\nThe
          `Download ironic ipa images` play fetches the IPA initramfs and kernel from
          `tarballs.opendev.org` with `ansible.builtin.get_url`, but neither task
          set a `timeout`. `get_url`'s default `timeout` (10s) bounds only the initial
          connect, never the transfer \u2014 so a connection that opens and then stalls
          mid-transfer hangs indefinitely. With `retries: 3` a slow night compounds
          into a multi-hour stall.\n\nOn 2026-07-02 (build [`70b8e4aa`](https://zuul.services.osism.tech/t/osism/build/70b8e4aa0fa144d887e150affa594cb3),
          `testbed-deploy-next-in-a-nutshell-with-tempest-ubuntu-24.04`) the initramfs
          download stalled for **10790s (~3h)**. The deploy was otherwise healthy
          and resumed once the download finally completed, but the wasted time pushed
          the job past its ~4h30m Zuul timeout (`TIMED_OUT`) before tempest could
          run. The idle `osism apply` celery chain also tripped the informational
          `kolla-collection-celery-task-stuck` signature, masking the real cause.\n\n##
          Change\n\nSet `timeout: 120` on both `get_url` tasks. A stalled host now
          fails fast (~8 min worst case across the retries) with a clear, attributable
          error instead of hanging for hours.\n\n## Why 120s will not break a working-but-slow
          download\n\n`get_url`'s `timeout` is a **socket-level read timeout, not
          a cap on total transfer time** \u2014 it fires only when the connection
          delivers zero bytes for 120 continuous seconds. A slow-but-live transfer
          keeps `recv()` returning partial data far more often than that, so it never
          trips regardless of file size or total duration.\n\nThe initramfs is the
          only sizeable artifact (~490 MiB for 2025.1; the kernel is ~15 MiB). Even
          on a 1 Mbit/s line it streams to completion in ~69 min without a single
          120s gap:\n\n| Sustained rate | Full initramfs (~490 MiB) | Trips `timeout:
          120`? |\n|---|---|---|\n| 1 Mbit/s | ~69 min | No |\n| 5 Mbit/s | ~14 min
          | No |\n| 20 Mbit/s | ~3.4 min | No |\n\nOnly a genuinely dead connection
          \u2014 the failure we are targeting \u2014 stays silent for 120s. The margin
          also covers the multi-second stalls a lossy line can incur during TCP retransmission.\n\nThis
          bounds the blast radius; it does **not** remove the external dependency
          on `tarballs.opendev.org` (a local mirror / using the testbed's already-synced
          image would \u2014 tracked separately).\n\n\U0001F916 Generated with [Claude
          Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/container-image-kolla-ansible/pull/926
        commit_id: 303136e8224357d99b6d10bfb29ff7bffad2517b
        patchset: 303136e8224357d99b6d10bfb29ff7bffad2517b
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-kolla-ansible
          name: osism/container-image-kolla-ansible
          short_name: container-image-kolla-ansible
        src_dir: src/github.com/osism/container-image-kolla-ansible
        topic: null
      change: '926'
      change_message: "ironic: bound IPA image download with timeout\n\n## Problem\n\nThe
        `Download ironic ipa images` play fetches the IPA initramfs and kernel from
        `tarballs.opendev.org` with `ansible.builtin.get_url`, but neither task set
        a `timeout`. `get_url`'s default `timeout` (10s) bounds only the initial connect,
        never the transfer \u2014 so a connection that opens and then stalls mid-transfer
        hangs indefinitely. With `retries: 3` a slow night compounds into a multi-hour
        stall.\n\nOn 2026-07-02 (build [`70b8e4aa`](https://zuul.services.osism.tech/t/osism/build/70b8e4aa0fa144d887e150affa594cb3),
        `testbed-deploy-next-in-a-nutshell-with-tempest-ubuntu-24.04`) the initramfs
        download stalled for **10790s (~3h)**. The deploy was otherwise healthy and
        resumed once the download finally completed, but the wasted time pushed the
        job past its ~4h30m Zuul timeout (`TIMED_OUT`) before tempest could run. The
        idle `osism apply` celery chain also tripped the informational `kolla-collection-celery-task-stuck`
        signature, masking the real cause.\n\n## Change\n\nSet `timeout: 120` on both
        `get_url` tasks. A stalled host now fails fast (~8 min worst case across the
        retries) with a clear, attributable error instead of hanging for hours.\n\n##
        Why 120s will not break a working-but-slow download\n\n`get_url`'s `timeout`
        is a **socket-level read timeout, not a cap on total transfer time** \u2014
        it fires only when the connection delivers zero bytes for 120 continuous seconds.
        A slow-but-live transfer keeps `recv()` returning partial data far more often
        than that, so it never trips regardless of file size or total duration.\n\nThe
        initramfs is the only sizeable artifact (~490 MiB for 2025.1; the kernel is
        ~15 MiB). Even on a 1 Mbit/s line it streams to completion in ~69 min without
        a single 120s gap:\n\n| Sustained rate | Full initramfs (~490 MiB) | Trips
        `timeout: 120`? |\n|---|---|---|\n| 1 Mbit/s | ~69 min | No |\n| 5 Mbit/s
        | ~14 min | No |\n| 20 Mbit/s | ~3.4 min | No |\n\nOnly a genuinely dead connection
        \u2014 the failure we are targeting \u2014 stays silent for 120s. The margin
        also covers the multi-second stalls a lossy line can incur during TCP retransmission.\n\nThis
        bounds the blast radius; it does **not** remove the external dependency on
        `tarballs.opendev.org` (a local mirror / using the testbed's already-synced
        image would \u2014 tracked separately).\n\n\U0001F916 Generated with [Claude
        Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/container-image-kolla-ansible/pull/926
      child_jobs: []
      commit_id: 303136e8224357d99b6d10bfb29ff7bffad2517b
      event_id: a2c38bd0-7633-11f1-843e-94d086743c35
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/3d4790afe30b4f1c82f00d59230827ea/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/3d4790afe30b4f1c82f00d59230827ea/work/logs
        result_data_file: /var/lib/zuul/builds/3d4790afe30b4f1c82f00d59230827ea/work/results.json
        src_root: /var/lib/zuul/builds/3d4790afe30b4f1c82f00d59230827ea/work/src
        work_root: /var/lib/zuul/builds/3d4790afe30b4f1c82f00d59230827ea/work
      include_vars: []
      items:
      - branch: main
        change: '926'
        change_message: "ironic: bound IPA image download with timeout\n\n## Problem\n\nThe
          `Download ironic ipa images` play fetches the IPA initramfs and kernel from
          `tarballs.opendev.org` with `ansible.builtin.get_url`, but neither task
          set a `timeout`. `get_url`'s default `timeout` (10s) bounds only the initial
          connect, never the transfer \u2014 so a connection that opens and then stalls
          mid-transfer hangs indefinitely. With `retries: 3` a slow night compounds
          into a multi-hour stall.\n\nOn 2026-07-02 (build [`70b8e4aa`](https://zuul.services.osism.tech/t/osism/build/70b8e4aa0fa144d887e150affa594cb3),
          `testbed-deploy-next-in-a-nutshell-with-tempest-ubuntu-24.04`) the initramfs
          download stalled for **10790s (~3h)**. The deploy was otherwise healthy
          and resumed once the download finally completed, but the wasted time pushed
          the job past its ~4h30m Zuul timeout (`TIMED_OUT`) before tempest could
          run. The idle `osism apply` celery chain also tripped the informational
          `kolla-collection-celery-task-stuck` signature, masking the real cause.\n\n##
          Change\n\nSet `timeout: 120` on both `get_url` tasks. A stalled host now
          fails fast (~8 min worst case across the retries) with a clear, attributable
          error instead of hanging for hours.\n\n## Why 120s will not break a working-but-slow
          download\n\n`get_url`'s `timeout` is a **socket-level read timeout, not
          a cap on total transfer time** \u2014 it fires only when the connection
          delivers zero bytes for 120 continuous seconds. A slow-but-live transfer
          keeps `recv()` returning partial data far more often than that, so it never
          trips regardless of file size or total duration.\n\nThe initramfs is the
          only sizeable artifact (~490 MiB for 2025.1; the kernel is ~15 MiB). Even
          on a 1 Mbit/s line it streams to completion in ~69 min without a single
          120s gap:\n\n| Sustained rate | Full initramfs (~490 MiB) | Trips `timeout:
          120`? |\n|---|---|---|\n| 1 Mbit/s | ~69 min | No |\n| 5 Mbit/s | ~14 min
          | No |\n| 20 Mbit/s | ~3.4 min | No |\n\nOnly a genuinely dead connection
          \u2014 the failure we are targeting \u2014 stays silent for 120s. The margin
          also covers the multi-second stalls a lossy line can incur during TCP retransmission.\n\nThis
          bounds the blast radius; it does **not** remove the external dependency
          on `tarballs.opendev.org` (a local mirror / using the testbed's already-synced
          image would \u2014 tracked separately).\n\n\U0001F916 Generated with [Claude
          Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/container-image-kolla-ansible/pull/926
        commit_id: 303136e8224357d99b6d10bfb29ff7bffad2517b
        patchset: 303136e8224357d99b6d10bfb29ff7bffad2517b
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-kolla-ansible
          name: osism/container-image-kolla-ansible
          short_name: container-image-kolla-ansible
          src_dir: src/github.com/osism/container-image-kolla-ansible
        topic: null
      job: container-image-kolla-ansible-build-2025.1
      jobtags: []
      max_attempts: 3
      message: aXJvbmljOiBib3VuZCBJUEEgaW1hZ2UgZG93bmxvYWQgd2l0aCB0aW1lb3V0CgojIyBQcm9ibGVtCgpUaGUgYERvd25sb2FkIGlyb25pYyBpcGEgaW1hZ2VzYCBwbGF5IGZldGNoZXMgdGhlIElQQSBpbml0cmFtZnMgYW5kIGtlcm5lbCBmcm9tIGB0YXJiYWxscy5vcGVuZGV2Lm9yZ2Agd2l0aCBgYW5zaWJsZS5idWlsdGluLmdldF91cmxgLCBidXQgbmVpdGhlciB0YXNrIHNldCBhIGB0aW1lb3V0YC4gYGdldF91cmxgJ3MgZGVmYXVsdCBgdGltZW91dGAgKDEwcykgYm91bmRzIG9ubHkgdGhlIGluaXRpYWwgY29ubmVjdCwgbmV2ZXIgdGhlIHRyYW5zZmVyIOKAlCBzbyBhIGNvbm5lY3Rpb24gdGhhdCBvcGVucyBhbmQgdGhlbiBzdGFsbHMgbWlkLXRyYW5zZmVyIGhhbmdzIGluZGVmaW5pdGVseS4gV2l0aCBgcmV0cmllczogM2AgYSBzbG93IG5pZ2h0IGNvbXBvdW5kcyBpbnRvIGEgbXVsdGktaG91ciBzdGFsbC4KCk9uIDIwMjYtMDctMDIgKGJ1aWxkIFtgNzBiOGU0YWFgXShodHRwczovL3p1dWwuc2VydmljZXMub3Npc20udGVjaC90L29zaXNtL2J1aWxkLzcwYjhlNGFhMGZhMTQ0ZDg4N2UxNTBhZmZhNTk0Y2IzKSwgYHRlc3RiZWQtZGVwbG95LW5leHQtaW4tYS1udXRzaGVsbC13aXRoLXRlbXBlc3QtdWJ1bnR1LTI0LjA0YCkgdGhlIGluaXRyYW1mcyBkb3dubG9hZCBzdGFsbGVkIGZvciAqKjEwNzkwcyAofjNoKSoqLiBUaGUgZGVwbG95IHdhcyBvdGhlcndpc2UgaGVhbHRoeSBhbmQgcmVzdW1lZCBvbmNlIHRoZSBkb3dubG9hZCBmaW5hbGx5IGNvbXBsZXRlZCwgYnV0IHRoZSB3YXN0ZWQgdGltZSBwdXNoZWQgdGhlIGpvYiBwYXN0IGl0cyB+NGgzMG0gWnV1bCB0aW1lb3V0IChgVElNRURfT1VUYCkgYmVmb3JlIHRlbXBlc3QgY291bGQgcnVuLiBUaGUgaWRsZSBgb3Npc20gYXBwbHlgIGNlbGVyeSBjaGFpbiBhbHNvIHRyaXBwZWQgdGhlIGluZm9ybWF0aW9uYWwgYGtvbGxhLWNvbGxlY3Rpb24tY2VsZXJ5LXRhc2stc3R1Y2tgIHNpZ25hdHVyZSwgbWFza2luZyB0aGUgcmVhbCBjYXVzZS4KCiMjIENoYW5nZQoKU2V0IGB0aW1lb3V0OiAxMjBgIG9uIGJvdGggYGdldF91cmxgIHRhc2tzLiBBIHN0YWxsZWQgaG9zdCBub3cgZmFpbHMgZmFzdCAofjggbWluIHdvcnN0IGNhc2UgYWNyb3NzIHRoZSByZXRyaWVzKSB3aXRoIGEgY2xlYXIsIGF0dHJpYnV0YWJsZSBlcnJvciBpbnN0ZWFkIG9mIGhhbmdpbmcgZm9yIGhvdXJzLgoKIyMgV2h5IDEyMHMgd2lsbCBub3QgYnJlYWsgYSB3b3JraW5nLWJ1dC1zbG93IGRvd25sb2FkCgpgZ2V0X3VybGAncyBgdGltZW91dGAgaXMgYSAqKnNvY2tldC1sZXZlbCByZWFkIHRpbWVvdXQsIG5vdCBhIGNhcCBvbiB0b3RhbCB0cmFuc2ZlciB0aW1lKiog4oCUIGl0IGZpcmVzIG9ubHkgd2hlbiB0aGUgY29ubmVjdGlvbiBkZWxpdmVycyB6ZXJvIGJ5dGVzIGZvciAxMjAgY29udGludW91cyBzZWNvbmRzLiBBIHNsb3ctYnV0LWxpdmUgdHJhbnNmZXIga2VlcHMgYHJlY3YoKWAgcmV0dXJuaW5nIHBhcnRpYWwgZGF0YSBmYXIgbW9yZSBvZnRlbiB0aGFuIHRoYXQsIHNvIGl0IG5ldmVyIHRyaXBzIHJlZ2FyZGxlc3Mgb2YgZmlsZSBzaXplIG9yIHRvdGFsIGR1cmF0aW9uLgoKVGhlIGluaXRyYW1mcyBpcyB0aGUgb25seSBzaXplYWJsZSBhcnRpZmFjdCAofjQ5MCBNaUIgZm9yIDIwMjUuMTsgdGhlIGtlcm5lbCBpcyB+MTUgTWlCKS4gRXZlbiBvbiBhIDEgTWJpdC9zIGxpbmUgaXQgc3RyZWFtcyB0byBjb21wbGV0aW9uIGluIH42OSBtaW4gd2l0aG91dCBhIHNpbmdsZSAxMjBzIGdhcDoKCnwgU3VzdGFpbmVkIHJhdGUgfCBGdWxsIGluaXRyYW1mcyAofjQ5MCBNaUIpIHwgVHJpcHMgYHRpbWVvdXQ6IDEyMGA/IHwKfC0tLXwtLS18LS0tfAp8IDEgTWJpdC9zIHwgfjY5IG1pbiB8IE5vIHwKfCA1IE1iaXQvcyB8IH4xNCBtaW4gfCBObyB8CnwgMjAgTWJpdC9zIHwgfjMuNCBtaW4gfCBObyB8CgpPbmx5IGEgZ2VudWluZWx5IGRlYWQgY29ubmVjdGlvbiDigJQgdGhlIGZhaWx1cmUgd2UgYXJlIHRhcmdldGluZyDigJQgc3RheXMgc2lsZW50IGZvciAxMjBzLiBUaGUgbWFyZ2luIGFsc28gY292ZXJzIHRoZSBtdWx0aS1zZWNvbmQgc3RhbGxzIGEgbG9zc3kgbGluZSBjYW4gaW5jdXIgZHVyaW5nIFRDUCByZXRyYW5zbWlzc2lvbi4KClRoaXMgYm91bmRzIHRoZSBibGFzdCByYWRpdXM7IGl0IGRvZXMgKipub3QqKiByZW1vdmUgdGhlIGV4dGVybmFsIGRlcGVuZGVuY3kgb24gYHRhcmJhbGxzLm9wZW5kZXYub3JnYCAoYSBsb2NhbCBtaXJyb3IgLyB1c2luZyB0aGUgdGVzdGJlZCdzIGFscmVhZHktc3luY2VkIGltYWdlIHdvdWxkIOKAlCB0cmFja2VkIHNlcGFyYXRlbHkpLgoK8J+kliBHZW5lcmF0ZWQgd2l0aCBbQ2xhdWRlIENvZGVdKGh0dHBzOi8vY2xhdWRlLmNvbS9jbGF1ZGUtY29kZSk=
      patchset: 303136e8224357d99b6d10bfb29ff7bffad2517b
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 1d71e58c93442038e695a5d883d57a603182c7ae
          untrusted/project_0/github.com/osism/container-image-kolla-ansible:
            canonical_name: github.com/osism/container-image-kolla-ansible
            checkout: main
            commit: d5c3ef590b0e3d69273b9b445a8193e09b27d7cf
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 71b711c422c10c242a8f785dc6d41ed9d12e9cd3
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 242732586e2cba04d04867d3e302888c766bc231
          untrusted/project_3/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 1d71e58c93442038e695a5d883d57a603182c7ae
        playbooks:
        - path: untrusted/project_0/github.com/osism/container-image-kolla-ansible/playbooks/build.yml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_3/zuul-jobs
            link_target: untrusted/project_3/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_3/zuul-jobs/roles
      post_review: false
      post_timeout: 1800
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/container-image-kolla-ansible
        name: osism/container-image-kolla-ansible
        short_name: container-image-kolla-ansible
        src_dir: src/github.com/osism/container-image-kolla-ansible
      projects:
        github.com/osism/container-image-kolla-ansible:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-kolla-ansible
          checkout: main
          checkout_description: zuul branch
          commit: d5c3ef590b0e3d69273b9b445a8193e09b27d7cf
          name: osism/container-image-kolla-ansible
          required: false
          short_name: container-image-kolla-ansible
          src_dir: src/github.com/osism/container-image-kolla-ansible
      ref: refs/pull/926/head
      resources: {}
      tenant: osism
      timeout: 2700
      topic: null
      voting: true
