all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:febb:3939
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 7c6d2599-fdf7-4b9c-9451-063be29fef48
        host_id: 7b3f0b92197487d4577819108acea9423a4ebbe6107eeb02f4a72cb2
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:febb:3939
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.110
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.129
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:febb:3939
        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 flake8 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#32>'
      - '<Job flake8 explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#71>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: d637aafb4395446ebcda87426eb9818d
      build_refs:
      - branch: main
        change: '1444'
        change_message: "Use Loopback0 IP addresses from connected devices for BGP
          neighbors\n\nThis commit modifies the BGP_NEIGHBOR configuration to use
          the Loopback0 IP addresses from connected devices instead of interface names
          as BGP neighbor identifiers.\r\n\r\n- Replaced interface-based BGP neighbor
          keys with IP address-based keys\r\n- Added logic to discover connected devices
          through cable connections\r\n- Implemented support for both modern and legacy
          NetBox cable API structures\r\n- Added Loopback0 interface discovery on
          connected devices\r\n- Extract IP addresses from connected device Loopback0
          interfaces\r\n- Removed v6only configuration in favor of IP-specific neighbor
          entries\r\n\r\nThe implementation:\r\n- Iterates through all device interfaces
          with cable connections\r\n- Uses cable terminations to find the connected
          device on the other end\r\n- Discovers Loopback0 interfaces on connected
          devices\r\n- Extracts IP addresses (both IPv4 and IPv6) without network
          prefixes\r\n- Creates BGP neighbor entries using format \"default|{ip_address}\"\r\n\r\nThis
          provides more accurate BGP neighbor configuration by using the actual loopback
          addresses that will be used for BGP peering sessions, rather than the physical
          interface names.\r\n\r\nAI-assisted: Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1444
        commit_id: 7558d11176f9e3df557be6834262b00054017d89
        patchset: 7558d11176f9e3df557be6834262b00054017d89
        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: d58777e4724b4687a3a26862108a90b7
      buildset_refs:
      - branch: main
        change: '1444'
        change_message: "Use Loopback0 IP addresses from connected devices for BGP
          neighbors\n\nThis commit modifies the BGP_NEIGHBOR configuration to use
          the Loopback0 IP addresses from connected devices instead of interface names
          as BGP neighbor identifiers.\r\n\r\n- Replaced interface-based BGP neighbor
          keys with IP address-based keys\r\n- Added logic to discover connected devices
          through cable connections\r\n- Implemented support for both modern and legacy
          NetBox cable API structures\r\n- Added Loopback0 interface discovery on
          connected devices\r\n- Extract IP addresses from connected device Loopback0
          interfaces\r\n- Removed v6only configuration in favor of IP-specific neighbor
          entries\r\n\r\nThe implementation:\r\n- Iterates through all device interfaces
          with cable connections\r\n- Uses cable terminations to find the connected
          device on the other end\r\n- Discovers Loopback0 interfaces on connected
          devices\r\n- Extracts IP addresses (both IPv4 and IPv6) without network
          prefixes\r\n- Creates BGP neighbor entries using format \"default|{ip_address}\"\r\n\r\nThis
          provides more accurate BGP neighbor configuration by using the actual loopback
          addresses that will be used for BGP peering sessions, rather than the physical
          interface names.\r\n\r\nAI-assisted: Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1444
        commit_id: 7558d11176f9e3df557be6834262b00054017d89
        patchset: 7558d11176f9e3df557be6834262b00054017d89
        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: '1444'
      change_message: "Use Loopback0 IP addresses from connected devices for BGP neighbors\n\nThis
        commit modifies the BGP_NEIGHBOR configuration to use the Loopback0 IP addresses
        from connected devices instead of interface names as BGP neighbor identifiers.\r\n\r\n-
        Replaced interface-based BGP neighbor keys with IP address-based keys\r\n-
        Added logic to discover connected devices through cable connections\r\n- Implemented
        support for both modern and legacy NetBox cable API structures\r\n- Added
        Loopback0 interface discovery on connected devices\r\n- Extract IP addresses
        from connected device Loopback0 interfaces\r\n- Removed v6only configuration
        in favor of IP-specific neighbor entries\r\n\r\nThe implementation:\r\n- Iterates
        through all device interfaces with cable connections\r\n- Uses cable terminations
        to find the connected device on the other end\r\n- Discovers Loopback0 interfaces
        on connected devices\r\n- Extracts IP addresses (both IPv4 and IPv6) without
        network prefixes\r\n- Creates BGP neighbor entries using format \"default|{ip_address}\"\r\n\r\nThis
        provides more accurate BGP neighbor configuration by using the actual loopback
        addresses that will be used for BGP peering sessions, rather than the physical
        interface names.\r\n\r\nAI-assisted: Claude Code"
      change_url: https://github.com/osism/python-osism/pull/1444
      child_jobs: []
      commit_id: 7558d11176f9e3df557be6834262b00054017d89
      event_id: 8abbefb0-4aaf-11f0-86a2-9a484a3badef
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/d637aafb4395446ebcda87426eb9818d/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/d637aafb4395446ebcda87426eb9818d/work/logs
        result_data_file: /var/lib/zuul/builds/d637aafb4395446ebcda87426eb9818d/work/results.json
        src_root: /var/lib/zuul/builds/d637aafb4395446ebcda87426eb9818d/work/src
        work_root: /var/lib/zuul/builds/d637aafb4395446ebcda87426eb9818d/work
      include_vars: []
      items:
      - branch: main
        change: '1444'
        change_message: "Use Loopback0 IP addresses from connected devices for BGP
          neighbors\n\nThis commit modifies the BGP_NEIGHBOR configuration to use
          the Loopback0 IP addresses from connected devices instead of interface names
          as BGP neighbor identifiers.\r\n\r\n- Replaced interface-based BGP neighbor
          keys with IP address-based keys\r\n- Added logic to discover connected devices
          through cable connections\r\n- Implemented support for both modern and legacy
          NetBox cable API structures\r\n- Added Loopback0 interface discovery on
          connected devices\r\n- Extract IP addresses from connected device Loopback0
          interfaces\r\n- Removed v6only configuration in favor of IP-specific neighbor
          entries\r\n\r\nThe implementation:\r\n- Iterates through all device interfaces
          with cable connections\r\n- Uses cable terminations to find the connected
          device on the other end\r\n- Discovers Loopback0 interfaces on connected
          devices\r\n- Extracts IP addresses (both IPv4 and IPv6) without network
          prefixes\r\n- Creates BGP neighbor entries using format \"default|{ip_address}\"\r\n\r\nThis
          provides more accurate BGP neighbor configuration by using the actual loopback
          addresses that will be used for BGP peering sessions, rather than the physical
          interface names.\r\n\r\nAI-assisted: Claude Code"
        change_url: https://github.com/osism/python-osism/pull/1444
        commit_id: 7558d11176f9e3df557be6834262b00054017d89
        patchset: 7558d11176f9e3df557be6834262b00054017d89
        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: flake8
      jobtags: []
      max_attempts: 3
      message: VXNlIExvb3BiYWNrMCBJUCBhZGRyZXNzZXMgZnJvbSBjb25uZWN0ZWQgZGV2aWNlcyBmb3IgQkdQIG5laWdoYm9ycwoKVGhpcyBjb21taXQgbW9kaWZpZXMgdGhlIEJHUF9ORUlHSEJPUiBjb25maWd1cmF0aW9uIHRvIHVzZSB0aGUgTG9vcGJhY2swIElQIGFkZHJlc3NlcyBmcm9tIGNvbm5lY3RlZCBkZXZpY2VzIGluc3RlYWQgb2YgaW50ZXJmYWNlIG5hbWVzIGFzIEJHUCBuZWlnaGJvciBpZGVudGlmaWVycy4NCg0KLSBSZXBsYWNlZCBpbnRlcmZhY2UtYmFzZWQgQkdQIG5laWdoYm9yIGtleXMgd2l0aCBJUCBhZGRyZXNzLWJhc2VkIGtleXMNCi0gQWRkZWQgbG9naWMgdG8gZGlzY292ZXIgY29ubmVjdGVkIGRldmljZXMgdGhyb3VnaCBjYWJsZSBjb25uZWN0aW9ucw0KLSBJbXBsZW1lbnRlZCBzdXBwb3J0IGZvciBib3RoIG1vZGVybiBhbmQgbGVnYWN5IE5ldEJveCBjYWJsZSBBUEkgc3RydWN0dXJlcw0KLSBBZGRlZCBMb29wYmFjazAgaW50ZXJmYWNlIGRpc2NvdmVyeSBvbiBjb25uZWN0ZWQgZGV2aWNlcw0KLSBFeHRyYWN0IElQIGFkZHJlc3NlcyBmcm9tIGNvbm5lY3RlZCBkZXZpY2UgTG9vcGJhY2swIGludGVyZmFjZXMNCi0gUmVtb3ZlZCB2Nm9ubHkgY29uZmlndXJhdGlvbiBpbiBmYXZvciBvZiBJUC1zcGVjaWZpYyBuZWlnaGJvciBlbnRyaWVzDQoNClRoZSBpbXBsZW1lbnRhdGlvbjoNCi0gSXRlcmF0ZXMgdGhyb3VnaCBhbGwgZGV2aWNlIGludGVyZmFjZXMgd2l0aCBjYWJsZSBjb25uZWN0aW9ucw0KLSBVc2VzIGNhYmxlIHRlcm1pbmF0aW9ucyB0byBmaW5kIHRoZSBjb25uZWN0ZWQgZGV2aWNlIG9uIHRoZSBvdGhlciBlbmQNCi0gRGlzY292ZXJzIExvb3BiYWNrMCBpbnRlcmZhY2VzIG9uIGNvbm5lY3RlZCBkZXZpY2VzDQotIEV4dHJhY3RzIElQIGFkZHJlc3NlcyAoYm90aCBJUHY0IGFuZCBJUHY2KSB3aXRob3V0IG5ldHdvcmsgcHJlZml4ZXMNCi0gQ3JlYXRlcyBCR1AgbmVpZ2hib3IgZW50cmllcyB1c2luZyBmb3JtYXQgImRlZmF1bHR8e2lwX2FkZHJlc3N9Ig0KDQpUaGlzIHByb3ZpZGVzIG1vcmUgYWNjdXJhdGUgQkdQIG5laWdoYm9yIGNvbmZpZ3VyYXRpb24gYnkgdXNpbmcgdGhlIGFjdHVhbCBsb29wYmFjayBhZGRyZXNzZXMgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIEJHUCBwZWVyaW5nIHNlc3Npb25zLCByYXRoZXIgdGhhbiB0aGUgcGh5c2ljYWwgaW50ZXJmYWNlIG5hbWVzLg0KDQpBSS1hc3Npc3RlZDogQ2xhdWRlIENvZGU=
      patchset: 7558d11176f9e3df557be6834262b00054017d89
      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: ba4995f1ef532a76883f76d00b5a298d7e1c09d3
          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/flake8/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: f24ee49ed3077e50e2306cbe61986f6f61e95a24
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/1444/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
