all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fef2:157b
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: c7f072cb-9c0a-4b0a-9268-2dc70befd973
        host_id: 25afcdcd4b24cc9d1766f11f81549380a3029030a455889bb61ec093
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fef2:157b
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.249
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.47
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fef2:157b
        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/python-osism/.zuul.yaml@main#103>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 6b71aaf8568642a581932155cc57bd3f
      build_refs:
      - branch: main
        change: '1622'
        change_message: "Improve storage network identification for BGP announcements\n\nEnhance
          storage network detection logic to ensure only networks with the explicit
          'storage' role are added to BGP_GLOBALS_AF_NETWORK:\r\n\r\n- Fix race condition
          in _get_storage_role_ipv4_addresses() where the function would break after
          the first IPv4 found, regardless of role\r\n- Add double-verification in
          _add_bgp_configurations() to re-check that each IP really belongs to a storage
          role prefix before adding to BGP\r\n- Improve logging with detailed prefix
          information for better debugging\r\n- Apply same robust logic to _get_transfer_role_ipv4_addresses()
          for consistency\r\n\r\nThis ensures that only genuine storage networks (with
          role='storage') are announced via BGP, preventing incorrect network announcements
          when IPs from other role prefixes are used on storage interfaces.\r\n\r\nAI-assisted:
          Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1622
        commit_id: bb69e357d9ff7f5c3a0fb3dfb21ca38379048d7e
        patchset: bb69e357d9ff7f5c3a0fb3dfb21ca38379048d7e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      buildset: 7ce2c762fb3e41b3b4b9a77c322527f8
      buildset_refs:
      - branch: main
        change: '1622'
        change_message: "Improve storage network identification for BGP announcements\n\nEnhance
          storage network detection logic to ensure only networks with the explicit
          'storage' role are added to BGP_GLOBALS_AF_NETWORK:\r\n\r\n- Fix race condition
          in _get_storage_role_ipv4_addresses() where the function would break after
          the first IPv4 found, regardless of role\r\n- Add double-verification in
          _add_bgp_configurations() to re-check that each IP really belongs to a storage
          role prefix before adding to BGP\r\n- Improve logging with detailed prefix
          information for better debugging\r\n- Apply same robust logic to _get_transfer_role_ipv4_addresses()
          for consistency\r\n\r\nThis ensures that only genuine storage networks (with
          role='storage') are announced via BGP, preventing incorrect network announcements
          when IPs from other role prefixes are used on storage interfaces.\r\n\r\nAI-assisted:
          Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1622
        commit_id: bb69e357d9ff7f5c3a0fb3dfb21ca38379048d7e
        patchset: bb69e357d9ff7f5c3a0fb3dfb21ca38379048d7e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      change: '1622'
      change_message: "Improve storage network identification for BGP announcements\n\nEnhance
        storage network detection logic to ensure only networks with the explicit
        'storage' role are added to BGP_GLOBALS_AF_NETWORK:\r\n\r\n- Fix race condition
        in _get_storage_role_ipv4_addresses() where the function would break after
        the first IPv4 found, regardless of role\r\n- Add double-verification in _add_bgp_configurations()
        to re-check that each IP really belongs to a storage role prefix before adding
        to BGP\r\n- Improve logging with detailed prefix information for better debugging\r\n-
        Apply same robust logic to _get_transfer_role_ipv4_addresses() for consistency\r\n\r\nThis
        ensures that only genuine storage networks (with role='storage') are announced
        via BGP, preventing incorrect network announcements when IPs from other role
        prefixes are used on storage interfaces.\r\n\r\nAI-assisted: Claude Code"
      change_url: https://github.com/osism/python-osism/pull/1622
      child_jobs: []
      commit_id: bb69e357d9ff7f5c3a0fb3dfb21ca38379048d7e
      event_id: 12d988e0-738b-11f0-8c48-2cb0d1e6cefb
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/6b71aaf8568642a581932155cc57bd3f/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/6b71aaf8568642a581932155cc57bd3f/work/logs
        result_data_file: /var/lib/zuul/builds/6b71aaf8568642a581932155cc57bd3f/work/results.json
        src_root: /var/lib/zuul/builds/6b71aaf8568642a581932155cc57bd3f/work/src
        work_root: /var/lib/zuul/builds/6b71aaf8568642a581932155cc57bd3f/work
      include_vars: []
      items:
      - branch: main
        change: '1622'
        change_message: "Improve storage network identification for BGP announcements\n\nEnhance
          storage network detection logic to ensure only networks with the explicit
          'storage' role are added to BGP_GLOBALS_AF_NETWORK:\r\n\r\n- Fix race condition
          in _get_storage_role_ipv4_addresses() where the function would break after
          the first IPv4 found, regardless of role\r\n- Add double-verification in
          _add_bgp_configurations() to re-check that each IP really belongs to a storage
          role prefix before adding to BGP\r\n- Improve logging with detailed prefix
          information for better debugging\r\n- Apply same robust logic to _get_transfer_role_ipv4_addresses()
          for consistency\r\n\r\nThis ensures that only genuine storage networks (with
          role='storage') are announced via BGP, preventing incorrect network announcements
          when IPs from other role prefixes are used on storage interfaces.\r\n\r\nAI-assisted:
          Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1622
        commit_id: bb69e357d9ff7f5c3a0fb3dfb21ca38379048d7e
        patchset: bb69e357d9ff7f5c3a0fb3dfb21ca38379048d7e
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
        topic: null
      job: hadolint
      jobtags: []
      max_attempts: 3
      message: SW1wcm92ZSBzdG9yYWdlIG5ldHdvcmsgaWRlbnRpZmljYXRpb24gZm9yIEJHUCBhbm5vdW5jZW1lbnRzCgpFbmhhbmNlIHN0b3JhZ2UgbmV0d29yayBkZXRlY3Rpb24gbG9naWMgdG8gZW5zdXJlIG9ubHkgbmV0d29ya3Mgd2l0aCB0aGUgZXhwbGljaXQgJ3N0b3JhZ2UnIHJvbGUgYXJlIGFkZGVkIHRvIEJHUF9HTE9CQUxTX0FGX05FVFdPUks6DQoNCi0gRml4IHJhY2UgY29uZGl0aW9uIGluIF9nZXRfc3RvcmFnZV9yb2xlX2lwdjRfYWRkcmVzc2VzKCkgd2hlcmUgdGhlIGZ1bmN0aW9uIHdvdWxkIGJyZWFrIGFmdGVyIHRoZSBmaXJzdCBJUHY0IGZvdW5kLCByZWdhcmRsZXNzIG9mIHJvbGUNCi0gQWRkIGRvdWJsZS12ZXJpZmljYXRpb24gaW4gX2FkZF9iZ3BfY29uZmlndXJhdGlvbnMoKSB0byByZS1jaGVjayB0aGF0IGVhY2ggSVAgcmVhbGx5IGJlbG9uZ3MgdG8gYSBzdG9yYWdlIHJvbGUgcHJlZml4IGJlZm9yZSBhZGRpbmcgdG8gQkdQDQotIEltcHJvdmUgbG9nZ2luZyB3aXRoIGRldGFpbGVkIHByZWZpeCBpbmZvcm1hdGlvbiBmb3IgYmV0dGVyIGRlYnVnZ2luZw0KLSBBcHBseSBzYW1lIHJvYnVzdCBsb2dpYyB0byBfZ2V0X3RyYW5zZmVyX3JvbGVfaXB2NF9hZGRyZXNzZXMoKSBmb3IgY29uc2lzdGVuY3kNCg0KVGhpcyBlbnN1cmVzIHRoYXQgb25seSBnZW51aW5lIHN0b3JhZ2UgbmV0d29ya3MgKHdpdGggcm9sZT0nc3RvcmFnZScpIGFyZSBhbm5vdW5jZWQgdmlhIEJHUCwgcHJldmVudGluZyBpbmNvcnJlY3QgbmV0d29yayBhbm5vdW5jZW1lbnRzIHdoZW4gSVBzIGZyb20gb3RoZXIgcm9sZSBwcmVmaXhlcyBhcmUgdXNlZCBvbiBzdG9yYWdlIGludGVyZmFjZXMuDQoNCkFJLWFzc2lzdGVkOiBDbGF1ZGUgQ29kZQ==
      patchset: bb69e357d9ff7f5c3a0fb3dfb21ca38379048d7e
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          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: 9b966b7c4a2bfb253652691d791f76f825145a9c
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          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/hadolint/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/python-osism
        name: osism/python-osism
        short_name: python-osism
        src_dir: src/github.com/osism/python-osism
      projects:
        github.com/osism/python-osism:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          checkout: main
          checkout_description: zuul branch
          commit: 9d7e52ccb496e56180a7097c8bf9ede4664fe678
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/1622/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
