diff --git a/.infrahub.yml b/.infrahub.yml index 7caca65..7777ac8 100644 --- a/.infrahub.yml +++ b/.infrahub.yml @@ -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 diff --git a/objects/04-interfaces.yml b/objects/04-interfaces.yml index 12ae0f7..80ace90 100644 --- a/objects/04-interfaces.yml +++ b/objects/04-interfaces.yml @@ -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"] \ No newline at end of file + diff --git a/objects/05-ipam.yml b/objects/05-ipam.yml index a56a1b3..b8d78bf 100644 --- a/objects/05-ipam.yml +++ b/objects/05-ipam.yml @@ -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"] + diff --git a/objects/07-interface-vlans.yml b/objects/07-interface-vlans.yml new file mode 100644 index 0000000..69ec20e --- /dev/null +++ b/objects/07-interface-vlans.yml @@ -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"] \ No newline at end of file diff --git a/objects/08-ipam-vlans.yml b/objects/08-ipam-vlans.yml new file mode 100644 index 0000000..293f80a --- /dev/null +++ b/objects/08-ipam-vlans.yml @@ -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"] diff --git a/objects/07-bgp.yml b/objects/09-bgp.yml similarity index 100% rename from objects/07-bgp.yml rename to objects/09-bgp.yml diff --git a/objects/08-vrfs.yml b/objects/10-vrfs.yml similarity index 100% rename from objects/08-vrfs.yml rename to objects/10-vrfs.yml diff --git a/objects/09-mlag.yml b/objects/11-mlag.yml similarity index 100% rename from objects/09-mlag.yml rename to objects/11-mlag.yml