Files
fabric-orchestrator/objects/10-bgp-sessions.yml
Damien 241655e348 fix(schema,objects): use device name instead of router_id in BGP HFIDs — refs #52
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)
2026-02-15 20:44:39 +01:00

587 lines
19 KiB
YAML

# BGP Sessions and Address Families
# Depends on: 09-bgp (RouterConfig and PeerGroups must exist)
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraBGPSession
data:
# ============================================================
# Spine1 sessions
# ============================================================
# Spine1 underlay (direct neighbors, no peer-group — use remote_asn)
- bgp_config: ["spine1"]
peer_address: "10.0.1.1"
description: "underlay to leaf1"
remote_asn: ["65001"]
peer_device: ["leaf1"]
- bgp_config: ["spine1"]
peer_address: "10.0.1.3"
description: "underlay to leaf2"
remote_asn: ["65001"]
peer_device: ["leaf2"]
- bgp_config: ["spine1"]
peer_address: "10.0.1.5"
description: "underlay to leaf3"
remote_asn: ["65002"]
peer_device: ["leaf3"]
- bgp_config: ["spine1"]
peer_address: "10.0.1.7"
description: "underlay to leaf4"
remote_asn: ["65002"]
peer_device: ["leaf4"]
- bgp_config: ["spine1"]
peer_address: "10.0.1.9"
description: "underlay to leaf5"
remote_asn: ["65003"]
peer_device: ["leaf5"]
- bgp_config: ["spine1"]
peer_address: "10.0.1.11"
description: "underlay to leaf6"
remote_asn: ["65003"]
peer_device: ["leaf6"]
- bgp_config: ["spine1"]
peer_address: "10.0.1.13"
description: "underlay to leaf7"
remote_asn: ["65004"]
peer_device: ["leaf7"]
- bgp_config: ["spine1"]
peer_address: "10.0.1.15"
description: "underlay to leaf8"
remote_asn: ["65004"]
peer_device: ["leaf8"]
# Spine1 EVPN (via evpn peer-group)
- bgp_config: ["spine1"]
peer_address: "10.0.250.11"
description: "EVPN to leaf1"
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: ["spine1", "evpn"]
remote_asn: ["65001"]
peer_device: ["leaf2"]
- bgp_config: ["spine1"]
peer_address: "10.0.250.13"
description: "EVPN to leaf3"
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: ["spine1", "evpn"]
remote_asn: ["65002"]
peer_device: ["leaf4"]
- bgp_config: ["spine1"]
peer_address: "10.0.250.15"
description: "EVPN to leaf5"
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: ["spine1", "evpn"]
remote_asn: ["65003"]
peer_device: ["leaf6"]
- bgp_config: ["spine1"]
peer_address: "10.0.250.17"
description: "EVPN to leaf7"
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: ["spine1", "evpn"]
remote_asn: ["65004"]
peer_device: ["leaf8"]
# ============================================================
# Spine2 sessions
# ============================================================
# Spine2 underlay
- bgp_config: ["spine2"]
peer_address: "10.0.2.1"
description: "underlay to leaf1"
remote_asn: ["65001"]
peer_device: ["leaf1"]
- bgp_config: ["spine2"]
peer_address: "10.0.2.3"
description: "underlay to leaf2"
remote_asn: ["65001"]
peer_device: ["leaf2"]
- bgp_config: ["spine2"]
peer_address: "10.0.2.5"
description: "underlay to leaf3"
remote_asn: ["65002"]
peer_device: ["leaf3"]
- bgp_config: ["spine2"]
peer_address: "10.0.2.7"
description: "underlay to leaf4"
remote_asn: ["65002"]
peer_device: ["leaf4"]
- bgp_config: ["spine2"]
peer_address: "10.0.2.9"
description: "underlay to leaf5"
remote_asn: ["65003"]
peer_device: ["leaf5"]
- bgp_config: ["spine2"]
peer_address: "10.0.2.11"
description: "underlay to leaf6"
remote_asn: ["65003"]
peer_device: ["leaf6"]
- bgp_config: ["spine2"]
peer_address: "10.0.2.13"
description: "underlay to leaf7"
remote_asn: ["65004"]
peer_device: ["leaf7"]
- bgp_config: ["spine2"]
peer_address: "10.0.2.15"
description: "underlay to leaf8"
remote_asn: ["65004"]
peer_device: ["leaf8"]
# Spine2 EVPN
- bgp_config: ["spine2"]
peer_address: "10.0.250.11"
description: "EVPN to leaf1"
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: ["spine2", "evpn"]
remote_asn: ["65001"]
peer_device: ["leaf2"]
- bgp_config: ["spine2"]
peer_address: "10.0.250.13"
description: "EVPN to leaf3"
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: ["spine2", "evpn"]
remote_asn: ["65002"]
peer_device: ["leaf4"]
- bgp_config: ["spine2"]
peer_address: "10.0.250.15"
description: "EVPN to leaf5"
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: ["spine2", "evpn"]
remote_asn: ["65003"]
peer_device: ["leaf6"]
- bgp_config: ["spine2"]
peer_address: "10.0.250.17"
description: "EVPN to leaf7"
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: ["spine2", "evpn"]
remote_asn: ["65004"]
peer_device: ["leaf8"]
# ============================================================
# Leaf1 sessions
# ============================================================
- bgp_config: ["leaf1"]
peer_address: "10.0.1.0"
description: "underlay to spine1"
peer_group: ["leaf1", "underlay"]
peer_device: ["spine1"]
- bgp_config: ["leaf1"]
peer_address: "10.0.2.0"
description: "underlay to spine2"
peer_group: ["leaf1", "underlay"]
peer_device: ["spine2"]
- bgp_config: ["leaf1"]
peer_address: "10.0.3.1"
description: "iBGP to leaf2"
peer_group: ["leaf1", "underlay_ibgp"]
peer_device: ["leaf2"]
- bgp_config: ["leaf1"]
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: ["leaf1", "evpn"]
peer_device: ["spine1"]
- bgp_config: ["leaf1"]
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: ["leaf1", "evpn"]
peer_device: ["spine2"]
# ============================================================
# Leaf2 sessions
# ============================================================
- bgp_config: ["leaf2"]
peer_address: "10.0.1.2"
description: "underlay to spine1"
peer_group: ["leaf2", "underlay"]
peer_device: ["spine1"]
- bgp_config: ["leaf2"]
peer_address: "10.0.2.2"
description: "underlay to spine2"
peer_group: ["leaf2", "underlay"]
peer_device: ["spine2"]
- bgp_config: ["leaf2"]
peer_address: "10.0.3.0"
description: "iBGP to leaf1"
peer_group: ["leaf2", "underlay_ibgp"]
peer_device: ["leaf1"]
- bgp_config: ["leaf2"]
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: ["leaf2", "evpn"]
peer_device: ["spine1"]
- bgp_config: ["leaf2"]
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: ["leaf2", "evpn"]
peer_device: ["spine2"]
# ============================================================
# Leaf3 sessions
# ============================================================
- bgp_config: ["leaf3"]
peer_address: "10.0.1.4"
description: "underlay to spine1"
peer_group: ["leaf3", "underlay"]
peer_device: ["spine1"]
- bgp_config: ["leaf3"]
peer_address: "10.0.2.4"
description: "underlay to spine2"
peer_group: ["leaf3", "underlay"]
peer_device: ["spine2"]
- bgp_config: ["leaf3"]
peer_address: "10.0.3.3"
description: "iBGP to leaf4"
peer_group: ["leaf3", "underlay_ibgp"]
peer_device: ["leaf4"]
- bgp_config: ["leaf3"]
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: ["leaf3", "evpn"]
peer_device: ["spine1"]
- bgp_config: ["leaf3"]
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: ["leaf3", "evpn"]
peer_device: ["spine2"]
# ============================================================
# Leaf4 sessions
# ============================================================
- bgp_config: ["leaf4"]
peer_address: "10.0.1.6"
description: "underlay to spine1"
peer_group: ["leaf4", "underlay"]
peer_device: ["spine1"]
- bgp_config: ["leaf4"]
peer_address: "10.0.2.6"
description: "underlay to spine2"
peer_group: ["leaf4", "underlay"]
peer_device: ["spine2"]
- bgp_config: ["leaf4"]
peer_address: "10.0.3.2"
description: "iBGP to leaf3"
peer_group: ["leaf4", "underlay_ibgp"]
peer_device: ["leaf3"]
- bgp_config: ["leaf4"]
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: ["leaf4", "evpn"]
peer_device: ["spine1"]
- bgp_config: ["leaf4"]
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: ["leaf4", "evpn"]
peer_device: ["spine2"]
# ============================================================
# Leaf5 sessions
# ============================================================
- bgp_config: ["leaf5"]
peer_address: "10.0.1.8"
description: "underlay to spine1"
peer_group: ["leaf5", "underlay"]
peer_device: ["spine1"]
- bgp_config: ["leaf5"]
peer_address: "10.0.2.8"
description: "underlay to spine2"
peer_group: ["leaf5", "underlay"]
peer_device: ["spine2"]
- bgp_config: ["leaf5"]
peer_address: "10.0.3.5"
description: "iBGP to leaf6"
peer_group: ["leaf5", "underlay_ibgp"]
peer_device: ["leaf6"]
- bgp_config: ["leaf5"]
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: ["leaf5", "evpn"]
peer_device: ["spine1"]
- bgp_config: ["leaf5"]
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: ["leaf5", "evpn"]
peer_device: ["spine2"]
# ============================================================
# Leaf6 sessions
# ============================================================
- bgp_config: ["leaf6"]
peer_address: "10.0.1.10"
description: "underlay to spine1"
peer_group: ["leaf6", "underlay"]
peer_device: ["spine1"]
- bgp_config: ["leaf6"]
peer_address: "10.0.2.10"
description: "underlay to spine2"
peer_group: ["leaf6", "underlay"]
peer_device: ["spine2"]
- bgp_config: ["leaf6"]
peer_address: "10.0.3.4"
description: "iBGP to leaf5"
peer_group: ["leaf6", "underlay_ibgp"]
peer_device: ["leaf5"]
- bgp_config: ["leaf6"]
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: ["leaf6", "evpn"]
peer_device: ["spine1"]
- bgp_config: ["leaf6"]
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: ["leaf6", "evpn"]
peer_device: ["spine2"]
# ============================================================
# Leaf7 sessions
# ============================================================
- bgp_config: ["leaf7"]
peer_address: "10.0.1.12"
description: "underlay to spine1"
peer_group: ["leaf7", "underlay"]
peer_device: ["spine1"]
- bgp_config: ["leaf7"]
peer_address: "10.0.2.12"
description: "underlay to spine2"
peer_group: ["leaf7", "underlay"]
peer_device: ["spine2"]
- bgp_config: ["leaf7"]
peer_address: "10.0.3.7"
description: "iBGP to leaf8"
peer_group: ["leaf7", "underlay_ibgp"]
peer_device: ["leaf8"]
- bgp_config: ["leaf7"]
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: ["leaf7", "evpn"]
peer_device: ["spine1"]
- bgp_config: ["leaf7"]
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: ["leaf7", "evpn"]
peer_device: ["spine2"]
# ============================================================
# Leaf8 sessions
# ============================================================
- bgp_config: ["leaf8"]
peer_address: "10.0.1.14"
description: "underlay to spine1"
peer_group: ["leaf8", "underlay"]
peer_device: ["spine1"]
- bgp_config: ["leaf8"]
peer_address: "10.0.2.14"
description: "underlay to spine2"
peer_group: ["leaf8", "underlay"]
peer_device: ["spine2"]
- bgp_config: ["leaf8"]
peer_address: "10.0.3.6"
description: "iBGP to leaf7"
peer_group: ["leaf8", "underlay_ibgp"]
peer_device: ["leaf7"]
- bgp_config: ["leaf8"]
peer_address: "10.0.250.1"
description: "EVPN to spine1"
peer_group: ["leaf8", "evpn"]
peer_device: ["spine1"]
- bgp_config: ["leaf8"]
peer_address: "10.0.250.2"
description: "EVPN to spine2"
peer_group: ["leaf8", "evpn"]
peer_device: ["spine2"]
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraBGPAddressFamily
data:
# ============================================================
# Spine1 address families
# ============================================================
- bgp_config: ["spine1"]
afi: ipv4
safi: unicast
networks:
- ["10.0.250.1/32"]
- bgp_config: ["spine1"]
afi: evpn
safi: unicast
active_peer_groups:
- ["spine1", "evpn"]
# ============================================================
# Spine2 address families
# ============================================================
- bgp_config: ["spine2"]
afi: ipv4
safi: unicast
networks:
- ["10.0.250.2/32"]
- bgp_config: ["spine2"]
afi: evpn
safi: unicast
active_peer_groups:
- ["spine2", "evpn"]
# ============================================================
# Leaf1 address families
# ============================================================
- bgp_config: ["leaf1"]
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf1", "underlay"]
- ["leaf1", "underlay_ibgp"]
networks:
- ["10.0.250.11/32"]
- ["10.0.255.11/32"]
- bgp_config: ["leaf1"]
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf1", "evpn"]
# ============================================================
# Leaf2 address families
# ============================================================
- bgp_config: ["leaf2"]
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf2", "underlay"]
- ["leaf2", "underlay_ibgp"]
networks:
- ["10.0.250.12/32"]
- ["10.0.255.11/32"]
- bgp_config: ["leaf2"]
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf2", "evpn"]
# ============================================================
# Leaf3 address families
# ============================================================
- bgp_config: ["leaf3"]
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf3", "underlay"]
- ["leaf3", "underlay_ibgp"]
networks:
- ["10.0.250.13/32"]
- ["10.0.255.12/32"]
- bgp_config: ["leaf3"]
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf3", "evpn"]
# ============================================================
# Leaf4 address families
# ============================================================
- bgp_config: ["leaf4"]
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf4", "underlay"]
- ["leaf4", "underlay_ibgp"]
networks:
- ["10.0.250.14/32"]
- ["10.0.255.12/32"]
- bgp_config: ["leaf4"]
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf4", "evpn"]
# ============================================================
# Leaf5 address families
# ============================================================
- bgp_config: ["leaf5"]
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf5", "underlay"]
- ["leaf5", "underlay_ibgp"]
networks:
- ["10.0.250.15/32"]
- ["10.0.255.13/32"]
- bgp_config: ["leaf5"]
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf5", "evpn"]
# ============================================================
# Leaf6 address families
# ============================================================
- bgp_config: ["leaf6"]
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf6", "underlay"]
- ["leaf6", "underlay_ibgp"]
networks:
- ["10.0.250.16/32"]
- ["10.0.255.13/32"]
- bgp_config: ["leaf6"]
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf6", "evpn"]
# ============================================================
# Leaf7 address families
# ============================================================
- bgp_config: ["leaf7"]
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf7", "underlay"]
- ["leaf7", "underlay_ibgp"]
networks:
- ["10.0.250.17/32"]
- ["10.0.255.14/32"]
- bgp_config: ["leaf7"]
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf7", "evpn"]
# ============================================================
# Leaf8 address families
# ============================================================
- bgp_config: ["leaf8"]
afi: ipv4
safi: unicast
active_peer_groups:
- ["leaf8", "underlay"]
- ["leaf8", "underlay_ibgp"]
networks:
- ["10.0.250.18/32"]
- ["10.0.255.14/32"]
- bgp_config: ["leaf8"]
afi: evpn
safi: unicast
active_peer_groups:
- ["leaf8", "evpn"]