From 241655e348e18a076c7d29e2347cce94b742894b Mon Sep 17 00:00:00 2001 From: Damien Date: Sun, 15 Feb 2026 20:44:39 +0100 Subject: [PATCH] =?UTF-8?q?fix(schema,objects):=20use=20device=20name=20in?= =?UTF-8?q?stead=20of=20router=5Fid=20in=20BGP=20HFIDs=20=E2=80=94=20refs?= =?UTF-8?q?=20#52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The SDK cannot resolve deep relation traversals like bgp_config__router_id__value when loading object files. Schema changes in bgp.yml: - InfraBGPPeerGroup HFID: bgp_config__router_id__value → bgp_config__device__name__value - InfraBGPSession HFID: bgp_config__router_id__value → bgp_config__device__name__value Object file changes in 10-bgp-sessions.yml: - peer_group refs: router_id → device_name (e.g. ["10.0.250.1", "evpn"] → ["spine1", "evpn"]) - active_peer_groups refs: same mapping (82 replacements total) --- objects/10-bgp-sessions.yml | 164 ++++++++++++++++++------------------ schemas/bgp.yml | 4 +- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/objects/10-bgp-sessions.yml b/objects/10-bgp-sessions.yml index 7a7769b..f675424 100644 --- a/objects/10-bgp-sessions.yml +++ b/objects/10-bgp-sessions.yml @@ -54,49 +54,49 @@ spec: - bgp_config: ["spine1"] peer_address: "10.0.250.11" description: "EVPN to leaf1" - peer_group: ["10.0.250.1", "evpn"] + peer_group: ["spine1", "evpn"] remote_asn: ["65001"] peer_device: ["leaf1"] - bgp_config: ["spine1"] peer_address: "10.0.250.12" description: "EVPN to leaf2" - peer_group: ["10.0.250.1", "evpn"] + peer_group: ["spine1", "evpn"] remote_asn: ["65001"] peer_device: ["leaf2"] - bgp_config: ["spine1"] peer_address: "10.0.250.13" description: "EVPN to leaf3" - peer_group: ["10.0.250.1", "evpn"] + peer_group: ["spine1", "evpn"] remote_asn: ["65002"] peer_device: ["leaf3"] - bgp_config: ["spine1"] peer_address: "10.0.250.14" description: "EVPN to leaf4" - peer_group: ["10.0.250.1", "evpn"] + peer_group: ["spine1", "evpn"] remote_asn: ["65002"] peer_device: ["leaf4"] - bgp_config: ["spine1"] peer_address: "10.0.250.15" description: "EVPN to leaf5" - peer_group: ["10.0.250.1", "evpn"] + peer_group: ["spine1", "evpn"] remote_asn: ["65003"] peer_device: ["leaf5"] - bgp_config: ["spine1"] peer_address: "10.0.250.16" description: "EVPN to leaf6" - peer_group: ["10.0.250.1", "evpn"] + peer_group: ["spine1", "evpn"] remote_asn: ["65003"] peer_device: ["leaf6"] - bgp_config: ["spine1"] peer_address: "10.0.250.17" description: "EVPN to leaf7" - peer_group: ["10.0.250.1", "evpn"] + peer_group: ["spine1", "evpn"] remote_asn: ["65004"] peer_device: ["leaf7"] - bgp_config: ["spine1"] peer_address: "10.0.250.18" description: "EVPN to leaf8" - peer_group: ["10.0.250.1", "evpn"] + peer_group: ["spine1", "evpn"] remote_asn: ["65004"] peer_device: ["leaf8"] # ============================================================ @@ -147,49 +147,49 @@ spec: - bgp_config: ["spine2"] peer_address: "10.0.250.11" description: "EVPN to leaf1" - peer_group: ["10.0.250.2", "evpn"] + peer_group: ["spine2", "evpn"] remote_asn: ["65001"] peer_device: ["leaf1"] - bgp_config: ["spine2"] peer_address: "10.0.250.12" description: "EVPN to leaf2" - peer_group: ["10.0.250.2", "evpn"] + peer_group: ["spine2", "evpn"] remote_asn: ["65001"] peer_device: ["leaf2"] - bgp_config: ["spine2"] peer_address: "10.0.250.13" description: "EVPN to leaf3" - peer_group: ["10.0.250.2", "evpn"] + peer_group: ["spine2", "evpn"] remote_asn: ["65002"] peer_device: ["leaf3"] - bgp_config: ["spine2"] peer_address: "10.0.250.14" description: "EVPN to leaf4" - peer_group: ["10.0.250.2", "evpn"] + peer_group: ["spine2", "evpn"] remote_asn: ["65002"] peer_device: ["leaf4"] - bgp_config: ["spine2"] peer_address: "10.0.250.15" description: "EVPN to leaf5" - peer_group: ["10.0.250.2", "evpn"] + peer_group: ["spine2", "evpn"] remote_asn: ["65003"] peer_device: ["leaf5"] - bgp_config: ["spine2"] peer_address: "10.0.250.16" description: "EVPN to leaf6" - peer_group: ["10.0.250.2", "evpn"] + peer_group: ["spine2", "evpn"] remote_asn: ["65003"] peer_device: ["leaf6"] - bgp_config: ["spine2"] peer_address: "10.0.250.17" description: "EVPN to leaf7" - peer_group: ["10.0.250.2", "evpn"] + peer_group: ["spine2", "evpn"] remote_asn: ["65004"] peer_device: ["leaf7"] - bgp_config: ["spine2"] peer_address: "10.0.250.18" description: "EVPN to leaf8" - peer_group: ["10.0.250.2", "evpn"] + peer_group: ["spine2", "evpn"] remote_asn: ["65004"] peer_device: ["leaf8"] # ============================================================ @@ -198,27 +198,27 @@ spec: - bgp_config: ["leaf1"] peer_address: "10.0.1.0" description: "underlay to spine1" - peer_group: ["10.0.250.11", "underlay"] + peer_group: ["leaf1", "underlay"] peer_device: ["spine1"] - bgp_config: ["leaf1"] peer_address: "10.0.2.0" description: "underlay to spine2" - peer_group: ["10.0.250.11", "underlay"] + peer_group: ["leaf1", "underlay"] peer_device: ["spine2"] - bgp_config: ["leaf1"] peer_address: "10.0.3.1" description: "iBGP to leaf2" - peer_group: ["10.0.250.11", "underlay_ibgp"] + peer_group: ["leaf1", "underlay_ibgp"] peer_device: ["leaf2"] - bgp_config: ["leaf1"] peer_address: "10.0.250.1" description: "EVPN to spine1" - peer_group: ["10.0.250.11", "evpn"] + peer_group: ["leaf1", "evpn"] peer_device: ["spine1"] - bgp_config: ["leaf1"] peer_address: "10.0.250.2" description: "EVPN to spine2" - peer_group: ["10.0.250.11", "evpn"] + peer_group: ["leaf1", "evpn"] peer_device: ["spine2"] # ============================================================ # Leaf2 sessions @@ -226,27 +226,27 @@ spec: - bgp_config: ["leaf2"] peer_address: "10.0.1.2" description: "underlay to spine1" - peer_group: ["10.0.250.12", "underlay"] + peer_group: ["leaf2", "underlay"] peer_device: ["spine1"] - bgp_config: ["leaf2"] peer_address: "10.0.2.2" description: "underlay to spine2" - peer_group: ["10.0.250.12", "underlay"] + peer_group: ["leaf2", "underlay"] peer_device: ["spine2"] - bgp_config: ["leaf2"] peer_address: "10.0.3.0" description: "iBGP to leaf1" - peer_group: ["10.0.250.12", "underlay_ibgp"] + peer_group: ["leaf2", "underlay_ibgp"] peer_device: ["leaf1"] - bgp_config: ["leaf2"] peer_address: "10.0.250.1" description: "EVPN to spine1" - peer_group: ["10.0.250.12", "evpn"] + peer_group: ["leaf2", "evpn"] peer_device: ["spine1"] - bgp_config: ["leaf2"] peer_address: "10.0.250.2" description: "EVPN to spine2" - peer_group: ["10.0.250.12", "evpn"] + peer_group: ["leaf2", "evpn"] peer_device: ["spine2"] # ============================================================ # Leaf3 sessions @@ -254,27 +254,27 @@ spec: - bgp_config: ["leaf3"] peer_address: "10.0.1.4" description: "underlay to spine1" - peer_group: ["10.0.250.13", "underlay"] + peer_group: ["leaf3", "underlay"] peer_device: ["spine1"] - bgp_config: ["leaf3"] peer_address: "10.0.2.4" description: "underlay to spine2" - peer_group: ["10.0.250.13", "underlay"] + peer_group: ["leaf3", "underlay"] peer_device: ["spine2"] - bgp_config: ["leaf3"] peer_address: "10.0.3.3" description: "iBGP to leaf4" - peer_group: ["10.0.250.13", "underlay_ibgp"] + peer_group: ["leaf3", "underlay_ibgp"] peer_device: ["leaf4"] - bgp_config: ["leaf3"] peer_address: "10.0.250.1" description: "EVPN to spine1" - peer_group: ["10.0.250.13", "evpn"] + peer_group: ["leaf3", "evpn"] peer_device: ["spine1"] - bgp_config: ["leaf3"] peer_address: "10.0.250.2" description: "EVPN to spine2" - peer_group: ["10.0.250.13", "evpn"] + peer_group: ["leaf3", "evpn"] peer_device: ["spine2"] # ============================================================ # Leaf4 sessions @@ -282,27 +282,27 @@ spec: - bgp_config: ["leaf4"] peer_address: "10.0.1.6" description: "underlay to spine1" - peer_group: ["10.0.250.14", "underlay"] + peer_group: ["leaf4", "underlay"] peer_device: ["spine1"] - bgp_config: ["leaf4"] peer_address: "10.0.2.6" description: "underlay to spine2" - peer_group: ["10.0.250.14", "underlay"] + peer_group: ["leaf4", "underlay"] peer_device: ["spine2"] - bgp_config: ["leaf4"] peer_address: "10.0.3.2" description: "iBGP to leaf3" - peer_group: ["10.0.250.14", "underlay_ibgp"] + peer_group: ["leaf4", "underlay_ibgp"] peer_device: ["leaf3"] - bgp_config: ["leaf4"] peer_address: "10.0.250.1" description: "EVPN to spine1" - peer_group: ["10.0.250.14", "evpn"] + peer_group: ["leaf4", "evpn"] peer_device: ["spine1"] - bgp_config: ["leaf4"] peer_address: "10.0.250.2" description: "EVPN to spine2" - peer_group: ["10.0.250.14", "evpn"] + peer_group: ["leaf4", "evpn"] peer_device: ["spine2"] # ============================================================ # Leaf5 sessions @@ -310,27 +310,27 @@ spec: - bgp_config: ["leaf5"] peer_address: "10.0.1.8" description: "underlay to spine1" - peer_group: ["10.0.250.15", "underlay"] + peer_group: ["leaf5", "underlay"] peer_device: ["spine1"] - bgp_config: ["leaf5"] peer_address: "10.0.2.8" description: "underlay to spine2" - peer_group: ["10.0.250.15", "underlay"] + peer_group: ["leaf5", "underlay"] peer_device: ["spine2"] - bgp_config: ["leaf5"] peer_address: "10.0.3.5" description: "iBGP to leaf6" - peer_group: ["10.0.250.15", "underlay_ibgp"] + peer_group: ["leaf5", "underlay_ibgp"] peer_device: ["leaf6"] - bgp_config: ["leaf5"] peer_address: "10.0.250.1" description: "EVPN to spine1" - peer_group: ["10.0.250.15", "evpn"] + peer_group: ["leaf5", "evpn"] peer_device: ["spine1"] - bgp_config: ["leaf5"] peer_address: "10.0.250.2" description: "EVPN to spine2" - peer_group: ["10.0.250.15", "evpn"] + peer_group: ["leaf5", "evpn"] peer_device: ["spine2"] # ============================================================ # Leaf6 sessions @@ -338,27 +338,27 @@ spec: - bgp_config: ["leaf6"] peer_address: "10.0.1.10" description: "underlay to spine1" - peer_group: ["10.0.250.16", "underlay"] + peer_group: ["leaf6", "underlay"] peer_device: ["spine1"] - bgp_config: ["leaf6"] peer_address: "10.0.2.10" description: "underlay to spine2" - peer_group: ["10.0.250.16", "underlay"] + peer_group: ["leaf6", "underlay"] peer_device: ["spine2"] - bgp_config: ["leaf6"] peer_address: "10.0.3.4" description: "iBGP to leaf5" - peer_group: ["10.0.250.16", "underlay_ibgp"] + peer_group: ["leaf6", "underlay_ibgp"] peer_device: ["leaf5"] - bgp_config: ["leaf6"] peer_address: "10.0.250.1" description: "EVPN to spine1" - peer_group: ["10.0.250.16", "evpn"] + peer_group: ["leaf6", "evpn"] peer_device: ["spine1"] - bgp_config: ["leaf6"] peer_address: "10.0.250.2" description: "EVPN to spine2" - peer_group: ["10.0.250.16", "evpn"] + peer_group: ["leaf6", "evpn"] peer_device: ["spine2"] # ============================================================ # Leaf7 sessions @@ -366,27 +366,27 @@ spec: - bgp_config: ["leaf7"] peer_address: "10.0.1.12" description: "underlay to spine1" - peer_group: ["10.0.250.17", "underlay"] + peer_group: ["leaf7", "underlay"] peer_device: ["spine1"] - bgp_config: ["leaf7"] peer_address: "10.0.2.12" description: "underlay to spine2" - peer_group: ["10.0.250.17", "underlay"] + peer_group: ["leaf7", "underlay"] peer_device: ["spine2"] - bgp_config: ["leaf7"] peer_address: "10.0.3.7" description: "iBGP to leaf8" - peer_group: ["10.0.250.17", "underlay_ibgp"] + peer_group: ["leaf7", "underlay_ibgp"] peer_device: ["leaf8"] - bgp_config: ["leaf7"] peer_address: "10.0.250.1" description: "EVPN to spine1" - peer_group: ["10.0.250.17", "evpn"] + peer_group: ["leaf7", "evpn"] peer_device: ["spine1"] - bgp_config: ["leaf7"] peer_address: "10.0.250.2" description: "EVPN to spine2" - peer_group: ["10.0.250.17", "evpn"] + peer_group: ["leaf7", "evpn"] peer_device: ["spine2"] # ============================================================ # Leaf8 sessions @@ -394,27 +394,27 @@ spec: - bgp_config: ["leaf8"] peer_address: "10.0.1.14" description: "underlay to spine1" - peer_group: ["10.0.250.18", "underlay"] + peer_group: ["leaf8", "underlay"] peer_device: ["spine1"] - bgp_config: ["leaf8"] peer_address: "10.0.2.14" description: "underlay to spine2" - peer_group: ["10.0.250.18", "underlay"] + peer_group: ["leaf8", "underlay"] peer_device: ["spine2"] - bgp_config: ["leaf8"] peer_address: "10.0.3.6" description: "iBGP to leaf7" - peer_group: ["10.0.250.18", "underlay_ibgp"] + peer_group: ["leaf8", "underlay_ibgp"] peer_device: ["leaf7"] - bgp_config: ["leaf8"] peer_address: "10.0.250.1" description: "EVPN to spine1" - peer_group: ["10.0.250.18", "evpn"] + peer_group: ["leaf8", "evpn"] peer_device: ["spine1"] - bgp_config: ["leaf8"] peer_address: "10.0.250.2" description: "EVPN to spine2" - peer_group: ["10.0.250.18", "evpn"] + peer_group: ["leaf8", "evpn"] peer_device: ["spine2"] --- apiVersion: infrahub.app/v1 @@ -434,7 +434,7 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.1", "evpn"] + - ["spine1", "evpn"] # ============================================================ # Spine2 address families # ============================================================ @@ -447,7 +447,7 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.2", "evpn"] + - ["spine2", "evpn"] # ============================================================ # Leaf1 address families # ============================================================ @@ -455,8 +455,8 @@ spec: afi: ipv4 safi: unicast active_peer_groups: - - ["10.0.250.11", "underlay"] - - ["10.0.250.11", "underlay_ibgp"] + - ["leaf1", "underlay"] + - ["leaf1", "underlay_ibgp"] networks: - ["10.0.250.11/32"] - ["10.0.255.11/32"] @@ -464,7 +464,7 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.11", "evpn"] + - ["leaf1", "evpn"] # ============================================================ # Leaf2 address families # ============================================================ @@ -472,8 +472,8 @@ spec: afi: ipv4 safi: unicast active_peer_groups: - - ["10.0.250.12", "underlay"] - - ["10.0.250.12", "underlay_ibgp"] + - ["leaf2", "underlay"] + - ["leaf2", "underlay_ibgp"] networks: - ["10.0.250.12/32"] - ["10.0.255.11/32"] @@ -481,7 +481,7 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.12", "evpn"] + - ["leaf2", "evpn"] # ============================================================ # Leaf3 address families # ============================================================ @@ -489,8 +489,8 @@ spec: afi: ipv4 safi: unicast active_peer_groups: - - ["10.0.250.13", "underlay"] - - ["10.0.250.13", "underlay_ibgp"] + - ["leaf3", "underlay"] + - ["leaf3", "underlay_ibgp"] networks: - ["10.0.250.13/32"] - ["10.0.255.12/32"] @@ -498,7 +498,7 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.13", "evpn"] + - ["leaf3", "evpn"] # ============================================================ # Leaf4 address families # ============================================================ @@ -506,8 +506,8 @@ spec: afi: ipv4 safi: unicast active_peer_groups: - - ["10.0.250.14", "underlay"] - - ["10.0.250.14", "underlay_ibgp"] + - ["leaf4", "underlay"] + - ["leaf4", "underlay_ibgp"] networks: - ["10.0.250.14/32"] - ["10.0.255.12/32"] @@ -515,7 +515,7 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.14", "evpn"] + - ["leaf4", "evpn"] # ============================================================ # Leaf5 address families # ============================================================ @@ -523,8 +523,8 @@ spec: afi: ipv4 safi: unicast active_peer_groups: - - ["10.0.250.15", "underlay"] - - ["10.0.250.15", "underlay_ibgp"] + - ["leaf5", "underlay"] + - ["leaf5", "underlay_ibgp"] networks: - ["10.0.250.15/32"] - ["10.0.255.13/32"] @@ -532,7 +532,7 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.15", "evpn"] + - ["leaf5", "evpn"] # ============================================================ # Leaf6 address families # ============================================================ @@ -540,8 +540,8 @@ spec: afi: ipv4 safi: unicast active_peer_groups: - - ["10.0.250.16", "underlay"] - - ["10.0.250.16", "underlay_ibgp"] + - ["leaf6", "underlay"] + - ["leaf6", "underlay_ibgp"] networks: - ["10.0.250.16/32"] - ["10.0.255.13/32"] @@ -549,7 +549,7 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.16", "evpn"] + - ["leaf6", "evpn"] # ============================================================ # Leaf7 address families # ============================================================ @@ -557,8 +557,8 @@ spec: afi: ipv4 safi: unicast active_peer_groups: - - ["10.0.250.17", "underlay"] - - ["10.0.250.17", "underlay_ibgp"] + - ["leaf7", "underlay"] + - ["leaf7", "underlay_ibgp"] networks: - ["10.0.250.17/32"] - ["10.0.255.14/32"] @@ -566,7 +566,7 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.17", "evpn"] + - ["leaf7", "evpn"] # ============================================================ # Leaf8 address families # ============================================================ @@ -574,8 +574,8 @@ spec: afi: ipv4 safi: unicast active_peer_groups: - - ["10.0.250.18", "underlay"] - - ["10.0.250.18", "underlay_ibgp"] + - ["leaf8", "underlay"] + - ["leaf8", "underlay_ibgp"] networks: - ["10.0.250.18/32"] - ["10.0.255.14/32"] @@ -583,4 +583,4 @@ spec: afi: evpn safi: unicast active_peer_groups: - - ["10.0.250.18", "evpn"] + - ["leaf8", "evpn"] diff --git a/schemas/bgp.yml b/schemas/bgp.yml index 2b48d01..214a3d8 100644 --- a/schemas/bgp.yml +++ b/schemas/bgp.yml @@ -108,7 +108,7 @@ nodes: uniqueness_constraints: - ["bgp_config", "name__value"] human_friendly_id: - - bgp_config__router_id__value + - bgp_config__device__name__value - name__value display_label: "{{ name__value }}" attributes: @@ -184,7 +184,7 @@ nodes: uniqueness_constraints: - ["bgp_config", "peer_address__value"] human_friendly_id: - - bgp_config__router_id__value + - bgp_config__device__name__value - peer_address__value display_label: "{{ peer_address__value }}" attributes: