all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe9e:ff3e
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: fb7227ba-b246-45a9-a42c-242f272587e1
        host_id: de4c9765152b8ccf16bcbbf90e33fb083884dc744cc344501046bc88
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe9e:ff3e
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.192
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.226
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe9e:ff3e
        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 hadolint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#37>'
      - '<Job hadolint explicit: None implied: None source: osism/container-image-inventory-reconciler/.zuul.yaml@main#108>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 853d4658af244e54b9427c3e5d4cf38a
      build_refs:
      - branch: main
        change: '539'
        change_message: "Add tier 2 unit tests: filters, device_mapping, parallel_processor\n\n##
          Summary\n\n- Adds 86 new unit tests covering the tier-2 modules (`files/netbox/filters.py`,
          `device_mapping.py`, `parallel_processor.py`), reaching 100% line coverage
          on each.\n- Extends `tests/unit/netbox/conftest.py` with reusable `make_device`
          / `make_tag` factories that produce the `SimpleNamespace` NetBox stubs needed
          by tier 2 (and re-usable by later tiers).\n- Filters tests use a Config-shaped
          `SimpleNamespace` (only the four attributes consulted by `DeviceFilter`);
          device-mapping tests patch `device_mapping.SETTINGS` directly via an autouse
          fixture so SETTINGS state never leaks; the parallel-processor tests exercise
          a real `ThreadPoolExecutor` (5 trivial tasks, `max_workers=2`) rather than
          mocking the executor away.\n\nCloses #538.\n\n## Test plan\n\n- [x] `pytest
          tests/unit -q` \u2014 175 passed\n- [x] `pytest --cov=filters --cov=device_mapping
          --cov=parallel_processor` \u2014 100% on all three\n- [x] `pytest --durations=10`
          \u2014 full suite runs in ~0.13s\n- [x] `flake8 tests/unit/netbox/` clean\n-
          [x] `black --check tests/unit/netbox/` clean\n\n\U0001F916 Generated with
          [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/container-image-inventory-reconciler/pull/539
        commit_id: 26ef3fd52a7ad009df51b63d7812b737496024fd
        patchset: 26ef3fd52a7ad009df51b63d7812b737496024fd
        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: 4099c9b814024bedbc0cabb577f24983
      buildset_refs:
      - branch: main
        change: '539'
        change_message: "Add tier 2 unit tests: filters, device_mapping, parallel_processor\n\n##
          Summary\n\n- Adds 86 new unit tests covering the tier-2 modules (`files/netbox/filters.py`,
          `device_mapping.py`, `parallel_processor.py`), reaching 100% line coverage
          on each.\n- Extends `tests/unit/netbox/conftest.py` with reusable `make_device`
          / `make_tag` factories that produce the `SimpleNamespace` NetBox stubs needed
          by tier 2 (and re-usable by later tiers).\n- Filters tests use a Config-shaped
          `SimpleNamespace` (only the four attributes consulted by `DeviceFilter`);
          device-mapping tests patch `device_mapping.SETTINGS` directly via an autouse
          fixture so SETTINGS state never leaks; the parallel-processor tests exercise
          a real `ThreadPoolExecutor` (5 trivial tasks, `max_workers=2`) rather than
          mocking the executor away.\n\nCloses #538.\n\n## Test plan\n\n- [x] `pytest
          tests/unit -q` \u2014 175 passed\n- [x] `pytest --cov=filters --cov=device_mapping
          --cov=parallel_processor` \u2014 100% on all three\n- [x] `pytest --durations=10`
          \u2014 full suite runs in ~0.13s\n- [x] `flake8 tests/unit/netbox/` clean\n-
          [x] `black --check tests/unit/netbox/` clean\n\n\U0001F916 Generated with
          [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/container-image-inventory-reconciler/pull/539
        commit_id: 26ef3fd52a7ad009df51b63d7812b737496024fd
        patchset: 26ef3fd52a7ad009df51b63d7812b737496024fd
        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: '539'
      change_message: "Add tier 2 unit tests: filters, device_mapping, parallel_processor\n\n##
        Summary\n\n- Adds 86 new unit tests covering the tier-2 modules (`files/netbox/filters.py`,
        `device_mapping.py`, `parallel_processor.py`), reaching 100% line coverage
        on each.\n- Extends `tests/unit/netbox/conftest.py` with reusable `make_device`
        / `make_tag` factories that produce the `SimpleNamespace` NetBox stubs needed
        by tier 2 (and re-usable by later tiers).\n- Filters tests use a Config-shaped
        `SimpleNamespace` (only the four attributes consulted by `DeviceFilter`);
        device-mapping tests patch `device_mapping.SETTINGS` directly via an autouse
        fixture so SETTINGS state never leaks; the parallel-processor tests exercise
        a real `ThreadPoolExecutor` (5 trivial tasks, `max_workers=2`) rather than
        mocking the executor away.\n\nCloses #538.\n\n## Test plan\n\n- [x] `pytest
        tests/unit -q` \u2014 175 passed\n- [x] `pytest --cov=filters --cov=device_mapping
        --cov=parallel_processor` \u2014 100% on all three\n- [x] `pytest --durations=10`
        \u2014 full suite runs in ~0.13s\n- [x] `flake8 tests/unit/netbox/` clean\n-
        [x] `black --check tests/unit/netbox/` clean\n\n\U0001F916 Generated with
        [Claude Code](https://claude.com/claude-code)"
      change_url: https://github.com/osism/container-image-inventory-reconciler/pull/539
      child_jobs: []
      commit_id: 26ef3fd52a7ad009df51b63d7812b737496024fd
      event_id: 94e46e20-59bf-11f1-8d0b-6eeb215f9f95
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/853d4658af244e54b9427c3e5d4cf38a/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/853d4658af244e54b9427c3e5d4cf38a/work/logs
        result_data_file: /var/lib/zuul/builds/853d4658af244e54b9427c3e5d4cf38a/work/results.json
        src_root: /var/lib/zuul/builds/853d4658af244e54b9427c3e5d4cf38a/work/src
        work_root: /var/lib/zuul/builds/853d4658af244e54b9427c3e5d4cf38a/work
      include_vars: []
      items:
      - branch: main
        change: '539'
        change_message: "Add tier 2 unit tests: filters, device_mapping, parallel_processor\n\n##
          Summary\n\n- Adds 86 new unit tests covering the tier-2 modules (`files/netbox/filters.py`,
          `device_mapping.py`, `parallel_processor.py`), reaching 100% line coverage
          on each.\n- Extends `tests/unit/netbox/conftest.py` with reusable `make_device`
          / `make_tag` factories that produce the `SimpleNamespace` NetBox stubs needed
          by tier 2 (and re-usable by later tiers).\n- Filters tests use a Config-shaped
          `SimpleNamespace` (only the four attributes consulted by `DeviceFilter`);
          device-mapping tests patch `device_mapping.SETTINGS` directly via an autouse
          fixture so SETTINGS state never leaks; the parallel-processor tests exercise
          a real `ThreadPoolExecutor` (5 trivial tasks, `max_workers=2`) rather than
          mocking the executor away.\n\nCloses #538.\n\n## Test plan\n\n- [x] `pytest
          tests/unit -q` \u2014 175 passed\n- [x] `pytest --cov=filters --cov=device_mapping
          --cov=parallel_processor` \u2014 100% on all three\n- [x] `pytest --durations=10`
          \u2014 full suite runs in ~0.13s\n- [x] `flake8 tests/unit/netbox/` clean\n-
          [x] `black --check tests/unit/netbox/` clean\n\n\U0001F916 Generated with
          [Claude Code](https://claude.com/claude-code)"
        change_url: https://github.com/osism/container-image-inventory-reconciler/pull/539
        commit_id: 26ef3fd52a7ad009df51b63d7812b737496024fd
        patchset: 26ef3fd52a7ad009df51b63d7812b737496024fd
        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: hadolint
      jobtags: []
      max_attempts: 3
      message: QWRkIHRpZXIgMiB1bml0IHRlc3RzOiBmaWx0ZXJzLCBkZXZpY2VfbWFwcGluZywgcGFyYWxsZWxfcHJvY2Vzc29yCgojIyBTdW1tYXJ5CgotIEFkZHMgODYgbmV3IHVuaXQgdGVzdHMgY292ZXJpbmcgdGhlIHRpZXItMiBtb2R1bGVzIChgZmlsZXMvbmV0Ym94L2ZpbHRlcnMucHlgLCBgZGV2aWNlX21hcHBpbmcucHlgLCBgcGFyYWxsZWxfcHJvY2Vzc29yLnB5YCksIHJlYWNoaW5nIDEwMCUgbGluZSBjb3ZlcmFnZSBvbiBlYWNoLgotIEV4dGVuZHMgYHRlc3RzL3VuaXQvbmV0Ym94L2NvbmZ0ZXN0LnB5YCB3aXRoIHJldXNhYmxlIGBtYWtlX2RldmljZWAgLyBgbWFrZV90YWdgIGZhY3RvcmllcyB0aGF0IHByb2R1Y2UgdGhlIGBTaW1wbGVOYW1lc3BhY2VgIE5ldEJveCBzdHVicyBuZWVkZWQgYnkgdGllciAyIChhbmQgcmUtdXNhYmxlIGJ5IGxhdGVyIHRpZXJzKS4KLSBGaWx0ZXJzIHRlc3RzIHVzZSBhIENvbmZpZy1zaGFwZWQgYFNpbXBsZU5hbWVzcGFjZWAgKG9ubHkgdGhlIGZvdXIgYXR0cmlidXRlcyBjb25zdWx0ZWQgYnkgYERldmljZUZpbHRlcmApOyBkZXZpY2UtbWFwcGluZyB0ZXN0cyBwYXRjaCBgZGV2aWNlX21hcHBpbmcuU0VUVElOR1NgIGRpcmVjdGx5IHZpYSBhbiBhdXRvdXNlIGZpeHR1cmUgc28gU0VUVElOR1Mgc3RhdGUgbmV2ZXIgbGVha3M7IHRoZSBwYXJhbGxlbC1wcm9jZXNzb3IgdGVzdHMgZXhlcmNpc2UgYSByZWFsIGBUaHJlYWRQb29sRXhlY3V0b3JgICg1IHRyaXZpYWwgdGFza3MsIGBtYXhfd29ya2Vycz0yYCkgcmF0aGVyIHRoYW4gbW9ja2luZyB0aGUgZXhlY3V0b3IgYXdheS4KCkNsb3NlcyAjNTM4LgoKIyMgVGVzdCBwbGFuCgotIFt4XSBgcHl0ZXN0IHRlc3RzL3VuaXQgLXFgIOKAlCAxNzUgcGFzc2VkCi0gW3hdIGBweXRlc3QgLS1jb3Y9ZmlsdGVycyAtLWNvdj1kZXZpY2VfbWFwcGluZyAtLWNvdj1wYXJhbGxlbF9wcm9jZXNzb3JgIOKAlCAxMDAlIG9uIGFsbCB0aHJlZQotIFt4XSBgcHl0ZXN0IC0tZHVyYXRpb25zPTEwYCDigJQgZnVsbCBzdWl0ZSBydW5zIGluIH4wLjEzcwotIFt4XSBgZmxha2U4IHRlc3RzL3VuaXQvbmV0Ym94L2AgY2xlYW4KLSBbeF0gYGJsYWNrIC0tY2hlY2sgdGVzdHMvdW5pdC9uZXRib3gvYCBjbGVhbgoK8J+kliBHZW5lcmF0ZWQgd2l0aCBbQ2xhdWRlIENvZGVdKGh0dHBzOi8vY2xhdWRlLmNvbS9jbGF1ZGUtY29kZSk=
      patchset: 26ef3fd52a7ad009df51b63d7812b737496024fd
      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/hadolint/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: 0849db2f73e33d4d68ef3eeac5efda4ee7502368
          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/539/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
