all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe42:fa0a
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 265ee754-f3ba-4a55-a53e-27bf27ab8f0a
        host_id: 7f2607eceb24f4583c6f9496c53c64b51afe50de5eacda4379b21c42
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe42:fa0a
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.235
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.197
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe42:fa0a
        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 yamllint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#59>'
      - '<Job yamllint explicit: None implied: None source: osism/metalbox/.zuul.yaml@main#157>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 70a770025a5f43bca1b53af10c290501
      build_refs:
      - branch: main
        change: '304'
        change_message: "Add VRF bridge setup script for cross-VRF connectivity\n\nOn
          metalbox devices, Ironic runs in the default VRF while IPA agents run on
          bare-metal nodes in a separate VRF. This script (contrib/vrf-bridge-setup.sh)
          creates a veth pair between both VRFs and sets up the necessary routes,
          SNAT/DNAT rules, and ip rules so that:\r\n\r\n- Ironic (default VRF) can
          reach IPA agents on port 9999 (outbound)\r\n- IPA agents (VRF) can reach
          httpd (port 80) and the Ironic API (port 6385) on the metalbox (inbound)\r\n\r\nSNAT
          rewrites the source to the loopback1 IP (announced via BGP) so replies are
          routable through the fabric. DNAT forwards inbound traffic to the metalbox
          IP in the default VRF. The script auto-detects IPs from interfaces and supports
          an external configuration file.\r\n\r\nAI-assisted: Claude Code"
        change_url: https://github.com/osism/metalbox/pull/304
        commit_id: ce8f80b3400bb49817877bfb3c9e84cafbc23b76
        patchset: ce8f80b3400bb49817877bfb3c9e84cafbc23b76
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/metalbox
          name: osism/metalbox
          short_name: metalbox
        src_dir: src/github.com/osism/metalbox
        topic: null
      buildset: d3f54d66f3044be9a54b61238ad2b584
      buildset_refs:
      - branch: main
        change: '304'
        change_message: "Add VRF bridge setup script for cross-VRF connectivity\n\nOn
          metalbox devices, Ironic runs in the default VRF while IPA agents run on
          bare-metal nodes in a separate VRF. This script (contrib/vrf-bridge-setup.sh)
          creates a veth pair between both VRFs and sets up the necessary routes,
          SNAT/DNAT rules, and ip rules so that:\r\n\r\n- Ironic (default VRF) can
          reach IPA agents on port 9999 (outbound)\r\n- IPA agents (VRF) can reach
          httpd (port 80) and the Ironic API (port 6385) on the metalbox (inbound)\r\n\r\nSNAT
          rewrites the source to the loopback1 IP (announced via BGP) so replies are
          routable through the fabric. DNAT forwards inbound traffic to the metalbox
          IP in the default VRF. The script auto-detects IPs from interfaces and supports
          an external configuration file.\r\n\r\nAI-assisted: Claude Code"
        change_url: https://github.com/osism/metalbox/pull/304
        commit_id: ce8f80b3400bb49817877bfb3c9e84cafbc23b76
        patchset: ce8f80b3400bb49817877bfb3c9e84cafbc23b76
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/metalbox
          name: osism/metalbox
          short_name: metalbox
        src_dir: src/github.com/osism/metalbox
        topic: null
      change: '304'
      change_message: "Add VRF bridge setup script for cross-VRF connectivity\n\nOn
        metalbox devices, Ironic runs in the default VRF while IPA agents run on bare-metal
        nodes in a separate VRF. This script (contrib/vrf-bridge-setup.sh) creates
        a veth pair between both VRFs and sets up the necessary routes, SNAT/DNAT
        rules, and ip rules so that:\r\n\r\n- Ironic (default VRF) can reach IPA agents
        on port 9999 (outbound)\r\n- IPA agents (VRF) can reach httpd (port 80) and
        the Ironic API (port 6385) on the metalbox (inbound)\r\n\r\nSNAT rewrites
        the source to the loopback1 IP (announced via BGP) so replies are routable
        through the fabric. DNAT forwards inbound traffic to the metalbox IP in the
        default VRF. The script auto-detects IPs from interfaces and supports an external
        configuration file.\r\n\r\nAI-assisted: Claude Code"
      change_url: https://github.com/osism/metalbox/pull/304
      child_jobs: []
      commit_id: ce8f80b3400bb49817877bfb3c9e84cafbc23b76
      event_id: d5509810-1ace-11f1-815e-261344e2cb56
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/70a770025a5f43bca1b53af10c290501/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/70a770025a5f43bca1b53af10c290501/work/logs
        result_data_file: /var/lib/zuul/builds/70a770025a5f43bca1b53af10c290501/work/results.json
        src_root: /var/lib/zuul/builds/70a770025a5f43bca1b53af10c290501/work/src
        work_root: /var/lib/zuul/builds/70a770025a5f43bca1b53af10c290501/work
      include_vars: []
      items:
      - branch: main
        change: '304'
        change_message: "Add VRF bridge setup script for cross-VRF connectivity\n\nOn
          metalbox devices, Ironic runs in the default VRF while IPA agents run on
          bare-metal nodes in a separate VRF. This script (contrib/vrf-bridge-setup.sh)
          creates a veth pair between both VRFs and sets up the necessary routes,
          SNAT/DNAT rules, and ip rules so that:\r\n\r\n- Ironic (default VRF) can
          reach IPA agents on port 9999 (outbound)\r\n- IPA agents (VRF) can reach
          httpd (port 80) and the Ironic API (port 6385) on the metalbox (inbound)\r\n\r\nSNAT
          rewrites the source to the loopback1 IP (announced via BGP) so replies are
          routable through the fabric. DNAT forwards inbound traffic to the metalbox
          IP in the default VRF. The script auto-detects IPs from interfaces and supports
          an external configuration file.\r\n\r\nAI-assisted: Claude Code"
        change_url: https://github.com/osism/metalbox/pull/304
        commit_id: ce8f80b3400bb49817877bfb3c9e84cafbc23b76
        patchset: ce8f80b3400bb49817877bfb3c9e84cafbc23b76
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/metalbox
          name: osism/metalbox
          short_name: metalbox
          src_dir: src/github.com/osism/metalbox
        topic: null
      job: yamllint
      jobtags: []
      max_attempts: 3
      message: QWRkIFZSRiBicmlkZ2Ugc2V0dXAgc2NyaXB0IGZvciBjcm9zcy1WUkYgY29ubmVjdGl2aXR5CgpPbiBtZXRhbGJveCBkZXZpY2VzLCBJcm9uaWMgcnVucyBpbiB0aGUgZGVmYXVsdCBWUkYgd2hpbGUgSVBBIGFnZW50cyBydW4gb24gYmFyZS1tZXRhbCBub2RlcyBpbiBhIHNlcGFyYXRlIFZSRi4gVGhpcyBzY3JpcHQgKGNvbnRyaWIvdnJmLWJyaWRnZS1zZXR1cC5zaCkgY3JlYXRlcyBhIHZldGggcGFpciBiZXR3ZWVuIGJvdGggVlJGcyBhbmQgc2V0cyB1cCB0aGUgbmVjZXNzYXJ5IHJvdXRlcywgU05BVC9ETkFUIHJ1bGVzLCBhbmQgaXAgcnVsZXMgc28gdGhhdDoNCg0KLSBJcm9uaWMgKGRlZmF1bHQgVlJGKSBjYW4gcmVhY2ggSVBBIGFnZW50cyBvbiBwb3J0IDk5OTkgKG91dGJvdW5kKQ0KLSBJUEEgYWdlbnRzIChWUkYpIGNhbiByZWFjaCBodHRwZCAocG9ydCA4MCkgYW5kIHRoZSBJcm9uaWMgQVBJIChwb3J0IDYzODUpIG9uIHRoZSBtZXRhbGJveCAoaW5ib3VuZCkNCg0KU05BVCByZXdyaXRlcyB0aGUgc291cmNlIHRvIHRoZSBsb29wYmFjazEgSVAgKGFubm91bmNlZCB2aWEgQkdQKSBzbyByZXBsaWVzIGFyZSByb3V0YWJsZSB0aHJvdWdoIHRoZSBmYWJyaWMuIEROQVQgZm9yd2FyZHMgaW5ib3VuZCB0cmFmZmljIHRvIHRoZSBtZXRhbGJveCBJUCBpbiB0aGUgZGVmYXVsdCBWUkYuIFRoZSBzY3JpcHQgYXV0by1kZXRlY3RzIElQcyBmcm9tIGludGVyZmFjZXMgYW5kIHN1cHBvcnRzIGFuIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24gZmlsZS4NCg0KQUktYXNzaXN0ZWQ6IENsYXVkZSBDb2Rl
      patchset: ce8f80b3400bb49817877bfb3c9e84cafbc23b76
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 4f450aa36c28b035ce97359a888edbd7599eaf31
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: a01eed06dffe368c1d01819193bfadccb137414d
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 4f450aa36c28b035ce97359a888edbd7599eaf31
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/yamllint/run.yaml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/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
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/metalbox
        name: osism/metalbox
        short_name: metalbox
        src_dir: src/github.com/osism/metalbox
      projects:
        github.com/osism/metalbox:
          canonical_hostname: github.com
          canonical_name: github.com/osism/metalbox
          checkout: main
          checkout_description: zuul branch
          commit: 9e68425227913167c171440b98d25c9b28eacc49
          name: osism/metalbox
          required: false
          short_name: metalbox
          src_dir: src/github.com/osism/metalbox
      ref: refs/pull/304/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
