From 2a2e0dfe73fd2ce4cdcfaeb1ca5c1cec7755aa46 Mon Sep 17 00:00:00 2001 From: Damien Date: Sun, 15 Feb 2026 20:25:36 +0100 Subject: [PATCH] =?UTF-8?q?fix(objects):=20split=20BGP=20sessions=20from?= =?UTF-8?q?=20peer=20groups=20for=20load=20ordering=20=E2=80=94=20refs=20#?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit InfraBGPSession references InfraBGPPeerGroup via peer_group HFID, so peer groups must be committed before sessions are created. Split 09-bgp.yml into: - 09-bgp.yml: InfraBGPRouterConfig + InfraBGPPeerGroup - 10-bgp-sessions.yml: InfraBGPSession + InfraBGPAddressFamily Renamed: 10-vrfs→11, 11-mlag→12. Now 12 object files total. --- .infrahub.yml | 5 +- objects/09-bgp.yml | 585 +------------------------- objects/10-bgp-sessions.yml | 586 +++++++++++++++++++++++++++ objects/{10-vrfs.yml => 11-vrfs.yml} | 0 objects/{11-mlag.yml => 12-mlag.yml} | 0 5 files changed, 590 insertions(+), 586 deletions(-) create mode 100644 objects/10-bgp-sessions.yml rename objects/{10-vrfs.yml => 11-vrfs.yml} (100%) rename objects/{11-mlag.yml => 12-mlag.yml} (100%) diff --git a/.infrahub.yml b/.infrahub.yml index 7777ac8..f7f584e 100644 --- a/.infrahub.yml +++ b/.infrahub.yml @@ -13,5 +13,6 @@ objects: - objects/07-interface-vlans.yml - objects/08-ipam-vlans.yml - objects/09-bgp.yml - - objects/10-vrfs.yml - - objects/11-mlag.yml + - objects/10-bgp-sessions.yml + - objects/11-vrfs.yml + - objects/12-mlag.yml diff --git a/objects/09-bgp.yml b/objects/09-bgp.yml index 9e9d215..d6b7b55 100644 --- a/objects/09-bgp.yml +++ b/objects/09-bgp.yml @@ -382,587 +382,4 @@ spec: send_community: extended maximum_routes: 12000 maximum_routes_warning_only: true ---- -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: ["10.0.250.1", "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"] - 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"] - 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"] - 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"] - 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"] - 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"] - 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"] - 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: ["10.0.250.2", "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"] - 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"] - 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"] - 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"] - 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"] - 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"] - 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"] - remote_asn: ["65004"] - peer_device: ["leaf8"] - # ============================================================ - # Leaf1 sessions - # ============================================================ - - bgp_config: ["leaf1"] - peer_address: "10.0.1.0" - description: "underlay to spine1" - peer_group: ["10.0.250.11", "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_device: ["spine2"] - - bgp_config: ["leaf1"] - peer_address: "10.0.3.1" - description: "iBGP to leaf2" - peer_group: ["10.0.250.11", "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_device: ["spine1"] - - bgp_config: ["leaf1"] - peer_address: "10.0.250.2" - description: "EVPN to spine2" - peer_group: ["10.0.250.11", "evpn"] - peer_device: ["spine2"] - # ============================================================ - # Leaf2 sessions - # ============================================================ - - bgp_config: ["leaf2"] - peer_address: "10.0.1.2" - description: "underlay to spine1" - peer_group: ["10.0.250.12", "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_device: ["spine2"] - - bgp_config: ["leaf2"] - peer_address: "10.0.3.0" - description: "iBGP to leaf1" - peer_group: ["10.0.250.12", "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_device: ["spine1"] - - bgp_config: ["leaf2"] - peer_address: "10.0.250.2" - description: "EVPN to spine2" - peer_group: ["10.0.250.12", "evpn"] - peer_device: ["spine2"] - # ============================================================ - # Leaf3 sessions - # ============================================================ - - bgp_config: ["leaf3"] - peer_address: "10.0.1.4" - description: "underlay to spine1" - peer_group: ["10.0.250.13", "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_device: ["spine2"] - - bgp_config: ["leaf3"] - peer_address: "10.0.3.3" - description: "iBGP to leaf4" - peer_group: ["10.0.250.13", "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_device: ["spine1"] - - bgp_config: ["leaf3"] - peer_address: "10.0.250.2" - description: "EVPN to spine2" - peer_group: ["10.0.250.13", "evpn"] - peer_device: ["spine2"] - # ============================================================ - # Leaf4 sessions - # ============================================================ - - bgp_config: ["leaf4"] - peer_address: "10.0.1.6" - description: "underlay to spine1" - peer_group: ["10.0.250.14", "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_device: ["spine2"] - - bgp_config: ["leaf4"] - peer_address: "10.0.3.2" - description: "iBGP to leaf3" - peer_group: ["10.0.250.14", "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_device: ["spine1"] - - bgp_config: ["leaf4"] - peer_address: "10.0.250.2" - description: "EVPN to spine2" - peer_group: ["10.0.250.14", "evpn"] - peer_device: ["spine2"] - # ============================================================ - # Leaf5 sessions - # ============================================================ - - bgp_config: ["leaf5"] - peer_address: "10.0.1.8" - description: "underlay to spine1" - peer_group: ["10.0.250.15", "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_device: ["spine2"] - - bgp_config: ["leaf5"] - peer_address: "10.0.3.5" - description: "iBGP to leaf6" - peer_group: ["10.0.250.15", "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_device: ["spine1"] - - bgp_config: ["leaf5"] - peer_address: "10.0.250.2" - description: "EVPN to spine2" - peer_group: ["10.0.250.15", "evpn"] - peer_device: ["spine2"] - # ============================================================ - # Leaf6 sessions - # ============================================================ - - bgp_config: ["leaf6"] - peer_address: "10.0.1.10" - description: "underlay to spine1" - peer_group: ["10.0.250.16", "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_device: ["spine2"] - - bgp_config: ["leaf6"] - peer_address: "10.0.3.4" - description: "iBGP to leaf5" - peer_group: ["10.0.250.16", "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_device: ["spine1"] - - bgp_config: ["leaf6"] - peer_address: "10.0.250.2" - description: "EVPN to spine2" - peer_group: ["10.0.250.16", "evpn"] - peer_device: ["spine2"] - # ============================================================ - # Leaf7 sessions - # ============================================================ - - bgp_config: ["leaf7"] - peer_address: "10.0.1.12" - description: "underlay to spine1" - peer_group: ["10.0.250.17", "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_device: ["spine2"] - - bgp_config: ["leaf7"] - peer_address: "10.0.3.7" - description: "iBGP to leaf8" - peer_group: ["10.0.250.17", "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_device: ["spine1"] - - bgp_config: ["leaf7"] - peer_address: "10.0.250.2" - description: "EVPN to spine2" - peer_group: ["10.0.250.17", "evpn"] - peer_device: ["spine2"] - # ============================================================ - # Leaf8 sessions - # ============================================================ - - bgp_config: ["leaf8"] - peer_address: "10.0.1.14" - description: "underlay to spine1" - peer_group: ["10.0.250.18", "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_device: ["spine2"] - - bgp_config: ["leaf8"] - peer_address: "10.0.3.6" - description: "iBGP to leaf7" - peer_group: ["10.0.250.18", "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_device: ["spine1"] - - bgp_config: ["leaf8"] - peer_address: "10.0.250.2" - description: "EVPN to spine2" - peer_group: ["10.0.250.18", "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: - - ["10.0.250.1", "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: - - ["10.0.250.2", "evpn"] - # ============================================================ - # Leaf1 address families - # ============================================================ - - bgp_config: ["leaf1"] - afi: ipv4 - safi: unicast - active_peer_groups: - - ["10.0.250.11", "underlay"] - - ["10.0.250.11", "underlay_ibgp"] - networks: - - ["10.0.250.11/32"] - - ["10.0.255.11/32"] - - bgp_config: ["leaf1"] - afi: evpn - safi: unicast - active_peer_groups: - - ["10.0.250.11", "evpn"] - # ============================================================ - # Leaf2 address families - # ============================================================ - - bgp_config: ["leaf2"] - afi: ipv4 - safi: unicast - active_peer_groups: - - ["10.0.250.12", "underlay"] - - ["10.0.250.12", "underlay_ibgp"] - networks: - - ["10.0.250.12/32"] - - ["10.0.255.11/32"] - - bgp_config: ["leaf2"] - afi: evpn - safi: unicast - active_peer_groups: - - ["10.0.250.12", "evpn"] - # ============================================================ - # Leaf3 address families - # ============================================================ - - bgp_config: ["leaf3"] - afi: ipv4 - safi: unicast - active_peer_groups: - - ["10.0.250.13", "underlay"] - - ["10.0.250.13", "underlay_ibgp"] - networks: - - ["10.0.250.13/32"] - - ["10.0.255.12/32"] - - bgp_config: ["leaf3"] - afi: evpn - safi: unicast - active_peer_groups: - - ["10.0.250.13", "evpn"] - # ============================================================ - # Leaf4 address families - # ============================================================ - - bgp_config: ["leaf4"] - afi: ipv4 - safi: unicast - active_peer_groups: - - ["10.0.250.14", "underlay"] - - ["10.0.250.14", "underlay_ibgp"] - networks: - - ["10.0.250.14/32"] - - ["10.0.255.12/32"] - - bgp_config: ["leaf4"] - afi: evpn - safi: unicast - active_peer_groups: - - ["10.0.250.14", "evpn"] - # ============================================================ - # Leaf5 address families - # ============================================================ - - bgp_config: ["leaf5"] - afi: ipv4 - safi: unicast - active_peer_groups: - - ["10.0.250.15", "underlay"] - - ["10.0.250.15", "underlay_ibgp"] - networks: - - ["10.0.250.15/32"] - - ["10.0.255.13/32"] - - bgp_config: ["leaf5"] - afi: evpn - safi: unicast - active_peer_groups: - - ["10.0.250.15", "evpn"] - # ============================================================ - # Leaf6 address families - # ============================================================ - - bgp_config: ["leaf6"] - afi: ipv4 - safi: unicast - active_peer_groups: - - ["10.0.250.16", "underlay"] - - ["10.0.250.16", "underlay_ibgp"] - networks: - - ["10.0.250.16/32"] - - ["10.0.255.13/32"] - - bgp_config: ["leaf6"] - afi: evpn - safi: unicast - active_peer_groups: - - ["10.0.250.16", "evpn"] - # ============================================================ - # Leaf7 address families - # ============================================================ - - bgp_config: ["leaf7"] - afi: ipv4 - safi: unicast - active_peer_groups: - - ["10.0.250.17", "underlay"] - - ["10.0.250.17", "underlay_ibgp"] - networks: - - ["10.0.250.17/32"] - - ["10.0.255.14/32"] - - bgp_config: ["leaf7"] - afi: evpn - safi: unicast - active_peer_groups: - - ["10.0.250.17", "evpn"] - # ============================================================ - # Leaf8 address families - # ============================================================ - - bgp_config: ["leaf8"] - afi: ipv4 - safi: unicast - active_peer_groups: - - ["10.0.250.18", "underlay"] - - ["10.0.250.18", "underlay_ibgp"] - networks: - - ["10.0.250.18/32"] - - ["10.0.255.14/32"] - - bgp_config: ["leaf8"] - afi: evpn - safi: unicast - active_peer_groups: - - ["10.0.250.18", "evpn"] + diff --git a/objects/10-bgp-sessions.yml b/objects/10-bgp-sessions.yml new file mode 100644 index 0000000..7a7769b --- /dev/null +++ b/objects/10-bgp-sessions.yml @@ -0,0 +1,586 @@ +# 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: ["10.0.250.1", "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"] + 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"] + 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"] + 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"] + 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"] + 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"] + 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"] + 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: ["10.0.250.2", "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"] + 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"] + 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"] + 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"] + 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"] + 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"] + 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"] + remote_asn: ["65004"] + peer_device: ["leaf8"] + # ============================================================ + # Leaf1 sessions + # ============================================================ + - bgp_config: ["leaf1"] + peer_address: "10.0.1.0" + description: "underlay to spine1" + peer_group: ["10.0.250.11", "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_device: ["spine2"] + - bgp_config: ["leaf1"] + peer_address: "10.0.3.1" + description: "iBGP to leaf2" + peer_group: ["10.0.250.11", "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_device: ["spine1"] + - bgp_config: ["leaf1"] + peer_address: "10.0.250.2" + description: "EVPN to spine2" + peer_group: ["10.0.250.11", "evpn"] + peer_device: ["spine2"] + # ============================================================ + # Leaf2 sessions + # ============================================================ + - bgp_config: ["leaf2"] + peer_address: "10.0.1.2" + description: "underlay to spine1" + peer_group: ["10.0.250.12", "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_device: ["spine2"] + - bgp_config: ["leaf2"] + peer_address: "10.0.3.0" + description: "iBGP to leaf1" + peer_group: ["10.0.250.12", "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_device: ["spine1"] + - bgp_config: ["leaf2"] + peer_address: "10.0.250.2" + description: "EVPN to spine2" + peer_group: ["10.0.250.12", "evpn"] + peer_device: ["spine2"] + # ============================================================ + # Leaf3 sessions + # ============================================================ + - bgp_config: ["leaf3"] + peer_address: "10.0.1.4" + description: "underlay to spine1" + peer_group: ["10.0.250.13", "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_device: ["spine2"] + - bgp_config: ["leaf3"] + peer_address: "10.0.3.3" + description: "iBGP to leaf4" + peer_group: ["10.0.250.13", "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_device: ["spine1"] + - bgp_config: ["leaf3"] + peer_address: "10.0.250.2" + description: "EVPN to spine2" + peer_group: ["10.0.250.13", "evpn"] + peer_device: ["spine2"] + # ============================================================ + # Leaf4 sessions + # ============================================================ + - bgp_config: ["leaf4"] + peer_address: "10.0.1.6" + description: "underlay to spine1" + peer_group: ["10.0.250.14", "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_device: ["spine2"] + - bgp_config: ["leaf4"] + peer_address: "10.0.3.2" + description: "iBGP to leaf3" + peer_group: ["10.0.250.14", "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_device: ["spine1"] + - bgp_config: ["leaf4"] + peer_address: "10.0.250.2" + description: "EVPN to spine2" + peer_group: ["10.0.250.14", "evpn"] + peer_device: ["spine2"] + # ============================================================ + # Leaf5 sessions + # ============================================================ + - bgp_config: ["leaf5"] + peer_address: "10.0.1.8" + description: "underlay to spine1" + peer_group: ["10.0.250.15", "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_device: ["spine2"] + - bgp_config: ["leaf5"] + peer_address: "10.0.3.5" + description: "iBGP to leaf6" + peer_group: ["10.0.250.15", "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_device: ["spine1"] + - bgp_config: ["leaf5"] + peer_address: "10.0.250.2" + description: "EVPN to spine2" + peer_group: ["10.0.250.15", "evpn"] + peer_device: ["spine2"] + # ============================================================ + # Leaf6 sessions + # ============================================================ + - bgp_config: ["leaf6"] + peer_address: "10.0.1.10" + description: "underlay to spine1" + peer_group: ["10.0.250.16", "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_device: ["spine2"] + - bgp_config: ["leaf6"] + peer_address: "10.0.3.4" + description: "iBGP to leaf5" + peer_group: ["10.0.250.16", "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_device: ["spine1"] + - bgp_config: ["leaf6"] + peer_address: "10.0.250.2" + description: "EVPN to spine2" + peer_group: ["10.0.250.16", "evpn"] + peer_device: ["spine2"] + # ============================================================ + # Leaf7 sessions + # ============================================================ + - bgp_config: ["leaf7"] + peer_address: "10.0.1.12" + description: "underlay to spine1" + peer_group: ["10.0.250.17", "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_device: ["spine2"] + - bgp_config: ["leaf7"] + peer_address: "10.0.3.7" + description: "iBGP to leaf8" + peer_group: ["10.0.250.17", "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_device: ["spine1"] + - bgp_config: ["leaf7"] + peer_address: "10.0.250.2" + description: "EVPN to spine2" + peer_group: ["10.0.250.17", "evpn"] + peer_device: ["spine2"] + # ============================================================ + # Leaf8 sessions + # ============================================================ + - bgp_config: ["leaf8"] + peer_address: "10.0.1.14" + description: "underlay to spine1" + peer_group: ["10.0.250.18", "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_device: ["spine2"] + - bgp_config: ["leaf8"] + peer_address: "10.0.3.6" + description: "iBGP to leaf7" + peer_group: ["10.0.250.18", "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_device: ["spine1"] + - bgp_config: ["leaf8"] + peer_address: "10.0.250.2" + description: "EVPN to spine2" + peer_group: ["10.0.250.18", "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: + - ["10.0.250.1", "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: + - ["10.0.250.2", "evpn"] + # ============================================================ + # Leaf1 address families + # ============================================================ + - bgp_config: ["leaf1"] + afi: ipv4 + safi: unicast + active_peer_groups: + - ["10.0.250.11", "underlay"] + - ["10.0.250.11", "underlay_ibgp"] + networks: + - ["10.0.250.11/32"] + - ["10.0.255.11/32"] + - bgp_config: ["leaf1"] + afi: evpn + safi: unicast + active_peer_groups: + - ["10.0.250.11", "evpn"] + # ============================================================ + # Leaf2 address families + # ============================================================ + - bgp_config: ["leaf2"] + afi: ipv4 + safi: unicast + active_peer_groups: + - ["10.0.250.12", "underlay"] + - ["10.0.250.12", "underlay_ibgp"] + networks: + - ["10.0.250.12/32"] + - ["10.0.255.11/32"] + - bgp_config: ["leaf2"] + afi: evpn + safi: unicast + active_peer_groups: + - ["10.0.250.12", "evpn"] + # ============================================================ + # Leaf3 address families + # ============================================================ + - bgp_config: ["leaf3"] + afi: ipv4 + safi: unicast + active_peer_groups: + - ["10.0.250.13", "underlay"] + - ["10.0.250.13", "underlay_ibgp"] + networks: + - ["10.0.250.13/32"] + - ["10.0.255.12/32"] + - bgp_config: ["leaf3"] + afi: evpn + safi: unicast + active_peer_groups: + - ["10.0.250.13", "evpn"] + # ============================================================ + # Leaf4 address families + # ============================================================ + - bgp_config: ["leaf4"] + afi: ipv4 + safi: unicast + active_peer_groups: + - ["10.0.250.14", "underlay"] + - ["10.0.250.14", "underlay_ibgp"] + networks: + - ["10.0.250.14/32"] + - ["10.0.255.12/32"] + - bgp_config: ["leaf4"] + afi: evpn + safi: unicast + active_peer_groups: + - ["10.0.250.14", "evpn"] + # ============================================================ + # Leaf5 address families + # ============================================================ + - bgp_config: ["leaf5"] + afi: ipv4 + safi: unicast + active_peer_groups: + - ["10.0.250.15", "underlay"] + - ["10.0.250.15", "underlay_ibgp"] + networks: + - ["10.0.250.15/32"] + - ["10.0.255.13/32"] + - bgp_config: ["leaf5"] + afi: evpn + safi: unicast + active_peer_groups: + - ["10.0.250.15", "evpn"] + # ============================================================ + # Leaf6 address families + # ============================================================ + - bgp_config: ["leaf6"] + afi: ipv4 + safi: unicast + active_peer_groups: + - ["10.0.250.16", "underlay"] + - ["10.0.250.16", "underlay_ibgp"] + networks: + - ["10.0.250.16/32"] + - ["10.0.255.13/32"] + - bgp_config: ["leaf6"] + afi: evpn + safi: unicast + active_peer_groups: + - ["10.0.250.16", "evpn"] + # ============================================================ + # Leaf7 address families + # ============================================================ + - bgp_config: ["leaf7"] + afi: ipv4 + safi: unicast + active_peer_groups: + - ["10.0.250.17", "underlay"] + - ["10.0.250.17", "underlay_ibgp"] + networks: + - ["10.0.250.17/32"] + - ["10.0.255.14/32"] + - bgp_config: ["leaf7"] + afi: evpn + safi: unicast + active_peer_groups: + - ["10.0.250.17", "evpn"] + # ============================================================ + # Leaf8 address families + # ============================================================ + - bgp_config: ["leaf8"] + afi: ipv4 + safi: unicast + active_peer_groups: + - ["10.0.250.18", "underlay"] + - ["10.0.250.18", "underlay_ibgp"] + networks: + - ["10.0.250.18/32"] + - ["10.0.255.14/32"] + - bgp_config: ["leaf8"] + afi: evpn + safi: unicast + active_peer_groups: + - ["10.0.250.18", "evpn"] diff --git a/objects/10-vrfs.yml b/objects/11-vrfs.yml similarity index 100% rename from objects/10-vrfs.yml rename to objects/11-vrfs.yml diff --git a/objects/11-mlag.yml b/objects/12-mlag.yml similarity index 100% rename from objects/11-mlag.yml rename to objects/12-mlag.yml