fix(objects): split Vlan SVIs and IPs for load ordering — refs #52

InfraInterfaceVlan references InfraVLAN objects (06-vlans-vxlan.yml),
so Vlan SVIs must load after VLANs. Similarly, Vlan IP addresses
reference Vlan SVIs.

Changes:
- Extract InfraInterfaceVlan from 04 into 07-interface-vlans.yml
- Extract Vlan SVI IPs from 05 into 08-ipam-vlans.yml
- Rename 07-bgp→09, 08-vrfs→10, 09-mlag→11
- Update .infrahub.yml with new 11-file load order

Load order: foundation → fabric → devices → interfaces (Lo/Lag/Eth)
→ ipam (Lo/Eth) → vlans-vxlan → interface-vlans → ipam-vlans
→ bgp → vrfs → mlag
This commit is contained in:
Damien
2026-02-15 16:04:42 +01:00
parent 50cdb911a4
commit 97720d3d6d
8 changed files with 236 additions and 222 deletions

View File

@@ -10,6 +10,8 @@ objects:
- objects/04-interfaces.yml
- objects/05-ipam.yml
- objects/06-vlans-vxlan.yml
- objects/07-bgp.yml
- objects/08-vrfs.yml
- objects/09-mlag.yml
- objects/07-interface-vlans.yml
- objects/08-ipam-vlans.yml
- objects/09-bgp.yml
- objects/10-vrfs.yml
- objects/11-mlag.yml

View File

@@ -489,144 +489,4 @@ spec:
enabled: true
mtu: 9214
mode: routed
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraInterfaceVlan
data:
# Vlan4090 — MLAG Peer-Link SVI (all leafs)
- device: ["leaf1"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf2"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf3"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf4"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf5"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf6"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf7"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf8"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
# Vlan4091 — MLAG iBGP Peering SVI (all leafs)
- device: ["leaf1"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf2"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf3"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf4"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf5"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf6"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf7"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf8"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
# Vlan34 — VRF gold subnet (leaf3/leaf4)
- device: ["leaf3"]
name: Vlan34
description: VRF gold subnet
enabled: true
virtual_router_address: "10.34.34.1"
vlan: ["34"]
- device: ["leaf4"]
name: Vlan34
description: VRF gold subnet
enabled: true
virtual_router_address: "10.34.34.1"
vlan: ["34"]
# Vlan78 — VRF gold subnet (leaf7/leaf8)
- device: ["leaf7"]
name: Vlan78
description: VRF gold subnet
enabled: true
virtual_router_address: "10.78.78.1"
vlan: ["78"]
- device: ["leaf8"]
name: Vlan78
description: VRF gold subnet
enabled: true
virtual_router_address: "10.78.78.1"
vlan: ["78"]
# Vlan900 — BGP border peering (leaf7/leaf8)
- device: ["leaf7"]
name: Vlan900
description: BGP border peering
enabled: true
vlan: ["900"]
- device: ["leaf8"]
name: Vlan900
description: BGP border peering
enabled: true
vlan: ["900"]

View File

@@ -179,81 +179,4 @@ spec:
- address: "10.0.2.15/31"
description: leaf8 Ethernet12 to spine2
interface: ["leaf8", "Ethernet12"]
# ============================================================
# MLAG Peer-Link SVI (Vlan4090) — /31
# ============================================================
- address: "10.0.199.254/31"
description: leaf1 MLAG peer-link
interface: ["leaf1", "Vlan4090"]
- address: "10.0.199.255/31"
description: leaf2 MLAG peer-link
interface: ["leaf2", "Vlan4090"]
- address: "10.0.199.252/31"
description: leaf3 MLAG peer-link
interface: ["leaf3", "Vlan4090"]
- address: "10.0.199.253/31"
description: leaf4 MLAG peer-link
interface: ["leaf4", "Vlan4090"]
- address: "10.0.199.250/31"
description: leaf5 MLAG peer-link
interface: ["leaf5", "Vlan4090"]
- address: "10.0.199.251/31"
description: leaf6 MLAG peer-link
interface: ["leaf6", "Vlan4090"]
- address: "10.0.199.248/31"
description: leaf7 MLAG peer-link
interface: ["leaf7", "Vlan4090"]
- address: "10.0.199.249/31"
description: leaf8 MLAG peer-link
interface: ["leaf8", "Vlan4090"]
# ============================================================
# MLAG iBGP Peering SVI (Vlan4091) — /31
# ============================================================
- address: "10.0.3.0/31"
description: leaf1 MLAG iBGP peering
interface: ["leaf1", "Vlan4091"]
- address: "10.0.3.1/31"
description: leaf2 MLAG iBGP peering
interface: ["leaf2", "Vlan4091"]
- address: "10.0.3.2/31"
description: leaf3 MLAG iBGP peering
interface: ["leaf3", "Vlan4091"]
- address: "10.0.3.3/31"
description: leaf4 MLAG iBGP peering
interface: ["leaf4", "Vlan4091"]
- address: "10.0.3.4/31"
description: leaf5 MLAG iBGP peering
interface: ["leaf5", "Vlan4091"]
- address: "10.0.3.5/31"
description: leaf6 MLAG iBGP peering
interface: ["leaf6", "Vlan4091"]
- address: "10.0.3.6/31"
description: leaf7 MLAG iBGP peering
interface: ["leaf7", "Vlan4091"]
- address: "10.0.3.7/31"
description: leaf8 MLAG iBGP peering
interface: ["leaf8", "Vlan4091"]
# ============================================================
# VRF gold SVI addresses — /24
# ============================================================
# Vlan34 (leaf3/leaf4)
- address: "10.34.34.2/24"
description: leaf3 Vlan34 VRF gold
interface: ["leaf3", "Vlan34"]
- address: "10.34.34.3/24"
description: leaf4 Vlan34 VRF gold
interface: ["leaf4", "Vlan34"]
# Vlan78 (leaf7/leaf8)
- address: "10.78.78.2/24"
description: leaf7 Vlan78 VRF gold
interface: ["leaf7", "Vlan78"]
- address: "10.78.78.3/24"
description: leaf8 Vlan78 VRF gold
interface: ["leaf8", "Vlan78"]
# Vlan900 — BGP border (leaf7/leaf8)
- address: "10.90.90.2/29"
description: leaf7 Vlan900 BGP border
interface: ["leaf7", "Vlan900"]
- address: "10.90.90.3/29"
description: leaf8 Vlan900 BGP border
interface: ["leaf8", "Vlan900"]

View File

@@ -0,0 +1,143 @@
# VLAN SVI interfaces
# Depends on: 03-devices, 06-vlans-vxlan (VLANs must exist)
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraInterfaceVlan
data:
# Vlan4090 — MLAG Peer-Link SVI (all leafs)
- device: ["leaf1"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf2"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf3"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf4"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf5"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf6"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf7"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
- device: ["leaf8"]
name: Vlan4090
description: MLAG Peer-Link
enabled: true
autostate: false
vlan: ["4090"]
# Vlan4091 — MLAG iBGP Peering SVI (all leafs)
- device: ["leaf1"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf2"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf3"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf4"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf5"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf6"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf7"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
- device: ["leaf8"]
name: Vlan4091
description: MLAG iBGP Peering
enabled: true
mtu: 9214
vlan: ["4091"]
# Vlan34 — VRF gold subnet (leaf3/leaf4)
- device: ["leaf3"]
name: Vlan34
description: VRF gold subnet
enabled: true
virtual_router_address: "10.34.34.1"
vlan: ["34"]
- device: ["leaf4"]
name: Vlan34
description: VRF gold subnet
enabled: true
virtual_router_address: "10.34.34.1"
vlan: ["34"]
# Vlan78 — VRF gold subnet (leaf7/leaf8)
- device: ["leaf7"]
name: Vlan78
description: VRF gold subnet
enabled: true
virtual_router_address: "10.78.78.1"
vlan: ["78"]
- device: ["leaf8"]
name: Vlan78
description: VRF gold subnet
enabled: true
virtual_router_address: "10.78.78.1"
vlan: ["78"]
# Vlan900 — BGP border peering (leaf7/leaf8)
- device: ["leaf7"]
name: Vlan900
description: BGP border peering
enabled: true
vlan: ["900"]
- device: ["leaf8"]
name: Vlan900
description: BGP border peering
enabled: true
vlan: ["900"]

86
objects/08-ipam-vlans.yml Normal file
View File

@@ -0,0 +1,86 @@
# IP Addresses for VLAN SVI interfaces
# Depends on: 07-interface-vlans (Vlan SVIs must exist)
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraIPAddress
data:
# ============================================================
# MLAG Peer-Link SVI (Vlan4090) — /31
# ============================================================
- address: "10.0.199.254/31"
description: leaf1 MLAG peer-link
interface: ["leaf1", "Vlan4090"]
- address: "10.0.199.255/31"
description: leaf2 MLAG peer-link
interface: ["leaf2", "Vlan4090"]
- address: "10.0.199.252/31"
description: leaf3 MLAG peer-link
interface: ["leaf3", "Vlan4090"]
- address: "10.0.199.253/31"
description: leaf4 MLAG peer-link
interface: ["leaf4", "Vlan4090"]
- address: "10.0.199.250/31"
description: leaf5 MLAG peer-link
interface: ["leaf5", "Vlan4090"]
- address: "10.0.199.251/31"
description: leaf6 MLAG peer-link
interface: ["leaf6", "Vlan4090"]
- address: "10.0.199.248/31"
description: leaf7 MLAG peer-link
interface: ["leaf7", "Vlan4090"]
- address: "10.0.199.249/31"
description: leaf8 MLAG peer-link
interface: ["leaf8", "Vlan4090"]
# ============================================================
# MLAG iBGP Peering SVI (Vlan4091) — /31
# ============================================================
- address: "10.0.3.0/31"
description: leaf1 MLAG iBGP peering
interface: ["leaf1", "Vlan4091"]
- address: "10.0.3.1/31"
description: leaf2 MLAG iBGP peering
interface: ["leaf2", "Vlan4091"]
- address: "10.0.3.2/31"
description: leaf3 MLAG iBGP peering
interface: ["leaf3", "Vlan4091"]
- address: "10.0.3.3/31"
description: leaf4 MLAG iBGP peering
interface: ["leaf4", "Vlan4091"]
- address: "10.0.3.4/31"
description: leaf5 MLAG iBGP peering
interface: ["leaf5", "Vlan4091"]
- address: "10.0.3.5/31"
description: leaf6 MLAG iBGP peering
interface: ["leaf6", "Vlan4091"]
- address: "10.0.3.6/31"
description: leaf7 MLAG iBGP peering
interface: ["leaf7", "Vlan4091"]
- address: "10.0.3.7/31"
description: leaf8 MLAG iBGP peering
interface: ["leaf8", "Vlan4091"]
# ============================================================
# VRF gold SVI addresses — /24
# ============================================================
# Vlan34 (leaf3/leaf4)
- address: "10.34.34.2/24"
description: leaf3 Vlan34 VRF gold
interface: ["leaf3", "Vlan34"]
- address: "10.34.34.3/24"
description: leaf4 Vlan34 VRF gold
interface: ["leaf4", "Vlan34"]
# Vlan78 (leaf7/leaf8)
- address: "10.78.78.2/24"
description: leaf7 Vlan78 VRF gold
interface: ["leaf7", "Vlan78"]
- address: "10.78.78.3/24"
description: leaf8 Vlan78 VRF gold
interface: ["leaf8", "Vlan78"]
# Vlan900 — BGP border (leaf7/leaf8)
- address: "10.90.90.2/29"
description: leaf7 Vlan900 BGP border
interface: ["leaf7", "Vlan900"]
- address: "10.90.90.3/29"
description: leaf8 Vlan900 BGP border
interface: ["leaf8", "Vlan900"]