all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:feaa:f766
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 64a5c0b2-dfc1-40eb-8f7b-0f3834f06783
        host_id: 82101243836454d7401d5893feae9e2c5df7cc291646d8a99b33b53b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:feaa:f766
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.63
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.95
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:feaa:f766
        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/container-image-inventory-reconciler/.zuul.yaml@main#108>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 028d2f234e9d486590667626df776e1a
      build_refs:
      - branch: main
        change: '555'
        change_message: "Add tier 6 unit tests for the dnsmasq package\n\nCloses #551\n\nAdds
          tier 6 (dnsmasq) unit tests for the `files/netbox/dnsmasq/` package\nand
          the conftest factories they need. **Test-only change \u2014 no\n`files/netbox/**`
          source is touched.** Tests drive a `MagicMock`-backed\nfake `NetBoxClient`
          (whose `.api` is `make_fake_api(...)`) and write into\npytest's `tmp_path`
          as the inventory root, asserting on the real temp\ntree and on collaborator
          `call_args`.\n\n## Change set, in commit order\n\n1. **Add dnsmasq test
          factories to netbox conftest** \u2014 adds\n   `make_iface_type` / `make_vlan`
          / `make_vlan_group` / `make_prefix` /\n   `make_dnsmasq_config`, extends
          `make_device` (`device_type=`),\n   `make_interface` (`type`/`label`/`name`/`untagged_vlan`/\n
          \  `connected_endpoints`/`enabled`, `mgmt_only` now defaulted) and\n   `make_fake_api`
          (`prefixes=` backing `ipam.prefixes.filter(tag=...)`).\n   Every addition
          is keyword-only and defaulted; tier 1-3 tests pass\n   unchanged.\n2. **dhcp_config**
          \u2014 host-entry formatting, MAC-entry priority chain,\n   `write_dhcp_ranges`
          filesystem output under `tmp_path`.\n3. **base** \u2014 `write_dnsmasq_to_device`
          across the four host_vars glob\n   shapes (existing-dir / existing-file-append
          / new-dir / multi-match).\n4. **interface_handler** \u2014 the static `get_virtual_interfaces_for_dnsmasq`\n
          \  gating.\n5. **manager_mode** \u2014 `process_devices` / `process_devices_readonly`.\n6.
          **manager** \u2014 `write_dnsmasq_config` mode dispatch and\n   `write_dnsmasq_dhcp_ranges`
          pass-through.\n7. **metalbox_mode Part 1** \u2014 pure / single-interface
          helpers.\n8. **metalbox_mode Part 2** \u2014 the collectors plus focused
          bridged /\n   routed / switch-tracking `process_devices` scenarios.\n\n##
          Verification\n\n- `pytest tests/unit` \u2014 377 passed (259 pre-existing
          netbox tests\n  unchanged + 118 new tier-6 tests).\n- `pytest tests/unit/netbox
          --cov=dnsmasq` \u2014 98% package coverage; all\n  six modules covered,
          every branch listed in the issue exercised. The\n  few remaining uncovered
          lines are defensive `except`/guard blocks not\n  enumerated in the issue
          (covering them would require contrived mocks\n  that do not reflect real
          NetBox behaviour).\n- `flake8` and `black --check` green on every touched
          file.\n\n## Deviation from the issue\n\nThe issue declares dependencies
          on #546 (tier 4) and #550 (tier 5), but\nneither is merged to `main` yet
          \u2014 they exist only as unmerged branches.\nTier 6's interface/VLAN tests
          need their factories (`make_vlan`,\n`make_iface_type`, the extended `make_interface`),
          so this PR ports the\nminimal necessary factory shapes into the conftest
          itself (the fallback\nthe planning session anticipated) rather than blocking
          on the dependency\nmerge. All additions are backward compatible. If #546/#550
          land first,\nthe overlapping factory definitions should be reconciled at
          merge time.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n"
        change_url: https://github.com/osism/container-image-inventory-reconciler/pull/555
        commit_id: 0bf22fb17ea7457ea21cd32c05fec0429acc5514
        patchset: 0bf22fb17ea7457ea21cd32c05fec0429acc5514
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-inventory-reconciler
          name: osism/container-image-inventory-reconciler
          short_name: container-image-inventory-reconciler
        src_dir: src/github.com/osism/container-image-inventory-reconciler
        topic: null
      buildset: 6978ff42f7af45b2adb2cc355e7d5f44
      buildset_refs:
      - branch: main
        change: '555'
        change_message: "Add tier 6 unit tests for the dnsmasq package\n\nCloses #551\n\nAdds
          tier 6 (dnsmasq) unit tests for the `files/netbox/dnsmasq/` package\nand
          the conftest factories they need. **Test-only change \u2014 no\n`files/netbox/**`
          source is touched.** Tests drive a `MagicMock`-backed\nfake `NetBoxClient`
          (whose `.api` is `make_fake_api(...)`) and write into\npytest's `tmp_path`
          as the inventory root, asserting on the real temp\ntree and on collaborator
          `call_args`.\n\n## Change set, in commit order\n\n1. **Add dnsmasq test
          factories to netbox conftest** \u2014 adds\n   `make_iface_type` / `make_vlan`
          / `make_vlan_group` / `make_prefix` /\n   `make_dnsmasq_config`, extends
          `make_device` (`device_type=`),\n   `make_interface` (`type`/`label`/`name`/`untagged_vlan`/\n
          \  `connected_endpoints`/`enabled`, `mgmt_only` now defaulted) and\n   `make_fake_api`
          (`prefixes=` backing `ipam.prefixes.filter(tag=...)`).\n   Every addition
          is keyword-only and defaulted; tier 1-3 tests pass\n   unchanged.\n2. **dhcp_config**
          \u2014 host-entry formatting, MAC-entry priority chain,\n   `write_dhcp_ranges`
          filesystem output under `tmp_path`.\n3. **base** \u2014 `write_dnsmasq_to_device`
          across the four host_vars glob\n   shapes (existing-dir / existing-file-append
          / new-dir / multi-match).\n4. **interface_handler** \u2014 the static `get_virtual_interfaces_for_dnsmasq`\n
          \  gating.\n5. **manager_mode** \u2014 `process_devices` / `process_devices_readonly`.\n6.
          **manager** \u2014 `write_dnsmasq_config` mode dispatch and\n   `write_dnsmasq_dhcp_ranges`
          pass-through.\n7. **metalbox_mode Part 1** \u2014 pure / single-interface
          helpers.\n8. **metalbox_mode Part 2** \u2014 the collectors plus focused
          bridged /\n   routed / switch-tracking `process_devices` scenarios.\n\n##
          Verification\n\n- `pytest tests/unit` \u2014 377 passed (259 pre-existing
          netbox tests\n  unchanged + 118 new tier-6 tests).\n- `pytest tests/unit/netbox
          --cov=dnsmasq` \u2014 98% package coverage; all\n  six modules covered,
          every branch listed in the issue exercised. The\n  few remaining uncovered
          lines are defensive `except`/guard blocks not\n  enumerated in the issue
          (covering them would require contrived mocks\n  that do not reflect real
          NetBox behaviour).\n- `flake8` and `black --check` green on every touched
          file.\n\n## Deviation from the issue\n\nThe issue declares dependencies
          on #546 (tier 4) and #550 (tier 5), but\nneither is merged to `main` yet
          \u2014 they exist only as unmerged branches.\nTier 6's interface/VLAN tests
          need their factories (`make_vlan`,\n`make_iface_type`, the extended `make_interface`),
          so this PR ports the\nminimal necessary factory shapes into the conftest
          itself (the fallback\nthe planning session anticipated) rather than blocking
          on the dependency\nmerge. All additions are backward compatible. If #546/#550
          land first,\nthe overlapping factory definitions should be reconciled at
          merge time.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n"
        change_url: https://github.com/osism/container-image-inventory-reconciler/pull/555
        commit_id: 0bf22fb17ea7457ea21cd32c05fec0429acc5514
        patchset: 0bf22fb17ea7457ea21cd32c05fec0429acc5514
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-inventory-reconciler
          name: osism/container-image-inventory-reconciler
          short_name: container-image-inventory-reconciler
        src_dir: src/github.com/osism/container-image-inventory-reconciler
        topic: null
      change: '555'
      change_message: "Add tier 6 unit tests for the dnsmasq package\n\nCloses #551\n\nAdds
        tier 6 (dnsmasq) unit tests for the `files/netbox/dnsmasq/` package\nand the
        conftest factories they need. **Test-only change \u2014 no\n`files/netbox/**`
        source is touched.** Tests drive a `MagicMock`-backed\nfake `NetBoxClient`
        (whose `.api` is `make_fake_api(...)`) and write into\npytest's `tmp_path`
        as the inventory root, asserting on the real temp\ntree and on collaborator
        `call_args`.\n\n## Change set, in commit order\n\n1. **Add dnsmasq test factories
        to netbox conftest** \u2014 adds\n   `make_iface_type` / `make_vlan` / `make_vlan_group`
        / `make_prefix` /\n   `make_dnsmasq_config`, extends `make_device` (`device_type=`),\n
        \  `make_interface` (`type`/`label`/`name`/`untagged_vlan`/\n   `connected_endpoints`/`enabled`,
        `mgmt_only` now defaulted) and\n   `make_fake_api` (`prefixes=` backing `ipam.prefixes.filter(tag=...)`).\n
        \  Every addition is keyword-only and defaulted; tier 1-3 tests pass\n   unchanged.\n2.
        **dhcp_config** \u2014 host-entry formatting, MAC-entry priority chain,\n
        \  `write_dhcp_ranges` filesystem output under `tmp_path`.\n3. **base** \u2014
        `write_dnsmasq_to_device` across the four host_vars glob\n   shapes (existing-dir
        / existing-file-append / new-dir / multi-match).\n4. **interface_handler**
        \u2014 the static `get_virtual_interfaces_for_dnsmasq`\n   gating.\n5. **manager_mode**
        \u2014 `process_devices` / `process_devices_readonly`.\n6. **manager** \u2014
        `write_dnsmasq_config` mode dispatch and\n   `write_dnsmasq_dhcp_ranges` pass-through.\n7.
        **metalbox_mode Part 1** \u2014 pure / single-interface helpers.\n8. **metalbox_mode
        Part 2** \u2014 the collectors plus focused bridged /\n   routed / switch-tracking
        `process_devices` scenarios.\n\n## Verification\n\n- `pytest tests/unit` \u2014
        377 passed (259 pre-existing netbox tests\n  unchanged + 118 new tier-6 tests).\n-
        `pytest tests/unit/netbox --cov=dnsmasq` \u2014 98% package coverage; all\n
        \ six modules covered, every branch listed in the issue exercised. The\n  few
        remaining uncovered lines are defensive `except`/guard blocks not\n  enumerated
        in the issue (covering them would require contrived mocks\n  that do not reflect
        real NetBox behaviour).\n- `flake8` and `black --check` green on every touched
        file.\n\n## Deviation from the issue\n\nThe issue declares dependencies on
        #546 (tier 4) and #550 (tier 5), but\nneither is merged to `main` yet \u2014
        they exist only as unmerged branches.\nTier 6's interface/VLAN tests need
        their factories (`make_vlan`,\n`make_iface_type`, the extended `make_interface`),
        so this PR ports the\nminimal necessary factory shapes into the conftest itself
        (the fallback\nthe planning session anticipated) rather than blocking on the
        dependency\nmerge. All additions are backward compatible. If #546/#550 land
        first,\nthe overlapping factory definitions should be reconciled at merge
        time.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n"
      change_url: https://github.com/osism/container-image-inventory-reconciler/pull/555
      child_jobs: []
      commit_id: 0bf22fb17ea7457ea21cd32c05fec0429acc5514
      event_id: e2225130-6715-11f1-9ba9-5a9bd82b1a37
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/028d2f234e9d486590667626df776e1a/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/028d2f234e9d486590667626df776e1a/work/logs
        result_data_file: /var/lib/zuul/builds/028d2f234e9d486590667626df776e1a/work/results.json
        src_root: /var/lib/zuul/builds/028d2f234e9d486590667626df776e1a/work/src
        work_root: /var/lib/zuul/builds/028d2f234e9d486590667626df776e1a/work
      include_vars: []
      items:
      - branch: main
        change: '555'
        change_message: "Add tier 6 unit tests for the dnsmasq package\n\nCloses #551\n\nAdds
          tier 6 (dnsmasq) unit tests for the `files/netbox/dnsmasq/` package\nand
          the conftest factories they need. **Test-only change \u2014 no\n`files/netbox/**`
          source is touched.** Tests drive a `MagicMock`-backed\nfake `NetBoxClient`
          (whose `.api` is `make_fake_api(...)`) and write into\npytest's `tmp_path`
          as the inventory root, asserting on the real temp\ntree and on collaborator
          `call_args`.\n\n## Change set, in commit order\n\n1. **Add dnsmasq test
          factories to netbox conftest** \u2014 adds\n   `make_iface_type` / `make_vlan`
          / `make_vlan_group` / `make_prefix` /\n   `make_dnsmasq_config`, extends
          `make_device` (`device_type=`),\n   `make_interface` (`type`/`label`/`name`/`untagged_vlan`/\n
          \  `connected_endpoints`/`enabled`, `mgmt_only` now defaulted) and\n   `make_fake_api`
          (`prefixes=` backing `ipam.prefixes.filter(tag=...)`).\n   Every addition
          is keyword-only and defaulted; tier 1-3 tests pass\n   unchanged.\n2. **dhcp_config**
          \u2014 host-entry formatting, MAC-entry priority chain,\n   `write_dhcp_ranges`
          filesystem output under `tmp_path`.\n3. **base** \u2014 `write_dnsmasq_to_device`
          across the four host_vars glob\n   shapes (existing-dir / existing-file-append
          / new-dir / multi-match).\n4. **interface_handler** \u2014 the static `get_virtual_interfaces_for_dnsmasq`\n
          \  gating.\n5. **manager_mode** \u2014 `process_devices` / `process_devices_readonly`.\n6.
          **manager** \u2014 `write_dnsmasq_config` mode dispatch and\n   `write_dnsmasq_dhcp_ranges`
          pass-through.\n7. **metalbox_mode Part 1** \u2014 pure / single-interface
          helpers.\n8. **metalbox_mode Part 2** \u2014 the collectors plus focused
          bridged /\n   routed / switch-tracking `process_devices` scenarios.\n\n##
          Verification\n\n- `pytest tests/unit` \u2014 377 passed (259 pre-existing
          netbox tests\n  unchanged + 118 new tier-6 tests).\n- `pytest tests/unit/netbox
          --cov=dnsmasq` \u2014 98% package coverage; all\n  six modules covered,
          every branch listed in the issue exercised. The\n  few remaining uncovered
          lines are defensive `except`/guard blocks not\n  enumerated in the issue
          (covering them would require contrived mocks\n  that do not reflect real
          NetBox behaviour).\n- `flake8` and `black --check` green on every touched
          file.\n\n## Deviation from the issue\n\nThe issue declares dependencies
          on #546 (tier 4) and #550 (tier 5), but\nneither is merged to `main` yet
          \u2014 they exist only as unmerged branches.\nTier 6's interface/VLAN tests
          need their factories (`make_vlan`,\n`make_iface_type`, the extended `make_interface`),
          so this PR ports the\nminimal necessary factory shapes into the conftest
          itself (the fallback\nthe planning session anticipated) rather than blocking
          on the dependency\nmerge. All additions are backward compatible. If #546/#550
          land first,\nthe overlapping factory definitions should be reconciled at
          merge time.\n\n\U0001F916 Generated with [Claude Code](https://claude.com/claude-code)\n"
        change_url: https://github.com/osism/container-image-inventory-reconciler/pull/555
        commit_id: 0bf22fb17ea7457ea21cd32c05fec0429acc5514
        patchset: 0bf22fb17ea7457ea21cd32c05fec0429acc5514
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-inventory-reconciler
          name: osism/container-image-inventory-reconciler
          short_name: container-image-inventory-reconciler
          src_dir: src/github.com/osism/container-image-inventory-reconciler
        topic: null
      job: ansible-lint
      jobtags: []
      max_attempts: 3
      message: QWRkIHRpZXIgNiB1bml0IHRlc3RzIGZvciB0aGUgZG5zbWFzcSBwYWNrYWdlCgpDbG9zZXMgIzU1MQoKQWRkcyB0aWVyIDYgKGRuc21hc3EpIHVuaXQgdGVzdHMgZm9yIHRoZSBgZmlsZXMvbmV0Ym94L2Ruc21hc3EvYCBwYWNrYWdlCmFuZCB0aGUgY29uZnRlc3QgZmFjdG9yaWVzIHRoZXkgbmVlZC4gKipUZXN0LW9ubHkgY2hhbmdlIOKAlCBubwpgZmlsZXMvbmV0Ym94LyoqYCBzb3VyY2UgaXMgdG91Y2hlZC4qKiBUZXN0cyBkcml2ZSBhIGBNYWdpY01vY2tgLWJhY2tlZApmYWtlIGBOZXRCb3hDbGllbnRgICh3aG9zZSBgLmFwaWAgaXMgYG1ha2VfZmFrZV9hcGkoLi4uKWApIGFuZCB3cml0ZSBpbnRvCnB5dGVzdCdzIGB0bXBfcGF0aGAgYXMgdGhlIGludmVudG9yeSByb290LCBhc3NlcnRpbmcgb24gdGhlIHJlYWwgdGVtcAp0cmVlIGFuZCBvbiBjb2xsYWJvcmF0b3IgYGNhbGxfYXJnc2AuCgojIyBDaGFuZ2Ugc2V0LCBpbiBjb21taXQgb3JkZXIKCjEuICoqQWRkIGRuc21hc3EgdGVzdCBmYWN0b3JpZXMgdG8gbmV0Ym94IGNvbmZ0ZXN0Kiog4oCUIGFkZHMKICAgYG1ha2VfaWZhY2VfdHlwZWAgLyBgbWFrZV92bGFuYCAvIGBtYWtlX3ZsYW5fZ3JvdXBgIC8gYG1ha2VfcHJlZml4YCAvCiAgIGBtYWtlX2Ruc21hc3FfY29uZmlnYCwgZXh0ZW5kcyBgbWFrZV9kZXZpY2VgIChgZGV2aWNlX3R5cGU9YCksCiAgIGBtYWtlX2ludGVyZmFjZWAgKGB0eXBlYC9gbGFiZWxgL2BuYW1lYC9gdW50YWdnZWRfdmxhbmAvCiAgIGBjb25uZWN0ZWRfZW5kcG9pbnRzYC9gZW5hYmxlZGAsIGBtZ210X29ubHlgIG5vdyBkZWZhdWx0ZWQpIGFuZAogICBgbWFrZV9mYWtlX2FwaWAgKGBwcmVmaXhlcz1gIGJhY2tpbmcgYGlwYW0ucHJlZml4ZXMuZmlsdGVyKHRhZz0uLi4pYCkuCiAgIEV2ZXJ5IGFkZGl0aW9uIGlzIGtleXdvcmQtb25seSBhbmQgZGVmYXVsdGVkOyB0aWVyIDEtMyB0ZXN0cyBwYXNzCiAgIHVuY2hhbmdlZC4KMi4gKipkaGNwX2NvbmZpZyoqIOKAlCBob3N0LWVudHJ5IGZvcm1hdHRpbmcsIE1BQy1lbnRyeSBwcmlvcml0eSBjaGFpbiwKICAgYHdyaXRlX2RoY3BfcmFuZ2VzYCBmaWxlc3lzdGVtIG91dHB1dCB1bmRlciBgdG1wX3BhdGhgLgozLiAqKmJhc2UqKiDigJQgYHdyaXRlX2Ruc21hc3FfdG9fZGV2aWNlYCBhY3Jvc3MgdGhlIGZvdXIgaG9zdF92YXJzIGdsb2IKICAgc2hhcGVzIChleGlzdGluZy1kaXIgLyBleGlzdGluZy1maWxlLWFwcGVuZCAvIG5ldy1kaXIgLyBtdWx0aS1tYXRjaCkuCjQuICoqaW50ZXJmYWNlX2hhbmRsZXIqKiDigJQgdGhlIHN0YXRpYyBgZ2V0X3ZpcnR1YWxfaW50ZXJmYWNlc19mb3JfZG5zbWFzcWAKICAgZ2F0aW5nLgo1LiAqKm1hbmFnZXJfbW9kZSoqIOKAlCBgcHJvY2Vzc19kZXZpY2VzYCAvIGBwcm9jZXNzX2RldmljZXNfcmVhZG9ubHlgLgo2LiAqKm1hbmFnZXIqKiDigJQgYHdyaXRlX2Ruc21hc3FfY29uZmlnYCBtb2RlIGRpc3BhdGNoIGFuZAogICBgd3JpdGVfZG5zbWFzcV9kaGNwX3Jhbmdlc2AgcGFzcy10aHJvdWdoLgo3LiAqKm1ldGFsYm94X21vZGUgUGFydCAxKiog4oCUIHB1cmUgLyBzaW5nbGUtaW50ZXJmYWNlIGhlbHBlcnMuCjguICoqbWV0YWxib3hfbW9kZSBQYXJ0IDIqKiDigJQgdGhlIGNvbGxlY3RvcnMgcGx1cyBmb2N1c2VkIGJyaWRnZWQgLwogICByb3V0ZWQgLyBzd2l0Y2gtdHJhY2tpbmcgYHByb2Nlc3NfZGV2aWNlc2Agc2NlbmFyaW9zLgoKIyMgVmVyaWZpY2F0aW9uCgotIGBweXRlc3QgdGVzdHMvdW5pdGAg4oCUIDM3NyBwYXNzZWQgKDI1OSBwcmUtZXhpc3RpbmcgbmV0Ym94IHRlc3RzCiAgdW5jaGFuZ2VkICsgMTE4IG5ldyB0aWVyLTYgdGVzdHMpLgotIGBweXRlc3QgdGVzdHMvdW5pdC9uZXRib3ggLS1jb3Y9ZG5zbWFzcWAg4oCUIDk4JSBwYWNrYWdlIGNvdmVyYWdlOyBhbGwKICBzaXggbW9kdWxlcyBjb3ZlcmVkLCBldmVyeSBicmFuY2ggbGlzdGVkIGluIHRoZSBpc3N1ZSBleGVyY2lzZWQuIFRoZQogIGZldyByZW1haW5pbmcgdW5jb3ZlcmVkIGxpbmVzIGFyZSBkZWZlbnNpdmUgYGV4Y2VwdGAvZ3VhcmQgYmxvY2tzIG5vdAogIGVudW1lcmF0ZWQgaW4gdGhlIGlzc3VlIChjb3ZlcmluZyB0aGVtIHdvdWxkIHJlcXVpcmUgY29udHJpdmVkIG1vY2tzCiAgdGhhdCBkbyBub3QgcmVmbGVjdCByZWFsIE5ldEJveCBiZWhhdmlvdXIpLgotIGBmbGFrZThgIGFuZCBgYmxhY2sgLS1jaGVja2AgZ3JlZW4gb24gZXZlcnkgdG91Y2hlZCBmaWxlLgoKIyMgRGV2aWF0aW9uIGZyb20gdGhlIGlzc3VlCgpUaGUgaXNzdWUgZGVjbGFyZXMgZGVwZW5kZW5jaWVzIG9uICM1NDYgKHRpZXIgNCkgYW5kICM1NTAgKHRpZXIgNSksIGJ1dApuZWl0aGVyIGlzIG1lcmdlZCB0byBgbWFpbmAgeWV0IOKAlCB0aGV5IGV4aXN0IG9ubHkgYXMgdW5tZXJnZWQgYnJhbmNoZXMuClRpZXIgNidzIGludGVyZmFjZS9WTEFOIHRlc3RzIG5lZWQgdGhlaXIgZmFjdG9yaWVzIChgbWFrZV92bGFuYCwKYG1ha2VfaWZhY2VfdHlwZWAsIHRoZSBleHRlbmRlZCBgbWFrZV9pbnRlcmZhY2VgKSwgc28gdGhpcyBQUiBwb3J0cyB0aGUKbWluaW1hbCBuZWNlc3NhcnkgZmFjdG9yeSBzaGFwZXMgaW50byB0aGUgY29uZnRlc3QgaXRzZWxmICh0aGUgZmFsbGJhY2sKdGhlIHBsYW5uaW5nIHNlc3Npb24gYW50aWNpcGF0ZWQpIHJhdGhlciB0aGFuIGJsb2NraW5nIG9uIHRoZSBkZXBlbmRlbmN5Cm1lcmdlLiBBbGwgYWRkaXRpb25zIGFyZSBiYWNrd2FyZCBjb21wYXRpYmxlLiBJZiAjNTQ2LyM1NTAgbGFuZCBmaXJzdCwKdGhlIG92ZXJsYXBwaW5nIGZhY3RvcnkgZGVmaW5pdGlvbnMgc2hvdWxkIGJlIHJlY29uY2lsZWQgYXQgbWVyZ2UgdGltZS4KCvCfpJYgR2VuZXJhdGVkIHdpdGggW0NsYXVkZSBDb2RlXShodHRwczovL2NsYXVkZS5jb20vY2xhdWRlLWNvZGUpCg==
      patchset: 0bf22fb17ea7457ea21cd32c05fec0429acc5514
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 688445d15ac2c497396b682f69c57ccd484f5f25
          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: 688445d15ac2c497396b682f69c57ccd484f5f25
          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: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/container-image-inventory-reconciler
        name: osism/container-image-inventory-reconciler
        short_name: container-image-inventory-reconciler
        src_dir: src/github.com/osism/container-image-inventory-reconciler
      projects:
        github.com/osism/container-image-inventory-reconciler:
          canonical_hostname: github.com
          canonical_name: github.com/osism/container-image-inventory-reconciler
          checkout: main
          checkout_description: zuul branch
          commit: 8db4d9ce0ac4ce1d9600f7adc374342aec424293
          name: osism/container-image-inventory-reconciler
          required: false
          short_name: container-image-inventory-reconciler
          src_dir: src/github.com/osism/container-image-inventory-reconciler
      ref: refs/pull/555/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
