Files
infra-clab-pipeline/containerlab/arista-l5-topology.clab.yml
darnodo 61a792df52 Enhance DC1 and DC2 topology configuration by adding access layer switches and host connections
- Updated comments for clarity on leaf and border leaf layers
- Added access layer switches for both DC1 and DC2 with management IPs
- Established connections between access switches and their respective leaf switches
- Defined host devices for both DC1 and DC2, connected to local access switches
- Removed redundant host connection definitions and streamlined link configurations
2025-11-12 08:06:03 +00:00

312 lines
10 KiB
YAML

name: arista-l5-dual-dc
mgmt:
network: arista-mgmt
ipv4-subnet: 10.255.0.0/24
topology:
kinds:
arista_ceos:
image: ceos:latest
nodes:
# ==========================================
# DC1 - SPINE LAYER
# ==========================================
spine1-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.11
# startup-config: configs/spine1-DC1.cfg
spine2-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.12
# startup-config: configs/spine2-DC1.cfg
spine3-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.13
# startup-config: configs/spine3-DC1.cfg
# ==========================================
# DC1 - LEAF LAYER (Aggregation/Distribution)
# ==========================================
leaf1-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.21
# startup-config: configs/leaf1-DC1.cfg
leaf2-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.22
# startup-config: configs/leaf2-DC1.cfg
leaf3-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.23
# startup-config: configs/leaf3-DC1.cfg
leaf4-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.24
# startup-config: configs/leaf4-DC1.cfg
# ==========================================
# DC1 - BORDER LEAF LAYER (DCI Gateway)
# ==========================================
borderleaf1-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.31
# startup-config: configs/borderleaf1-DC1.cfg
borderleaf2-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.32
# startup-config: configs/borderleaf2-DC1.cfg
# ==========================================
# DC1 - ACCESS LAYER (Rack/Bay Switches)
# Each bay/rack gets 1 access switch
# ==========================================
access1-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.71
# startup-config: configs/access1-DC1.cfg
access2-DC1:
kind: arista_ceos
mgmt-ipv4: 10.255.0.72
# startup-config: configs/access2-DC1.cfg
# ==========================================
# DC2 - SPINE LAYER
# ==========================================
spine1-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.41
# startup-config: configs/spine1-DC2.cfg
spine2-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.42
# startup-config: configs/spine2-DC2.cfg
spine3-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.43
# startup-config: configs/spine3-DC2.cfg
# ==========================================
# DC2 - LEAF LAYER (Aggregation/Distribution)
# ==========================================
leaf1-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.51
# startup-config: configs/leaf1-DC2.cfg
leaf2-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.52
# startup-config: configs/leaf2-DC2.cfg
leaf3-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.53
# startup-config: configs/leaf3-DC2.cfg
leaf4-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.54
# startup-config: configs/leaf4-DC2.cfg
# ==========================================
# DC2 - BORDER LEAF LAYER (DCI Gateway)
# ==========================================
borderleaf1-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.61
# startup-config: configs/borderleaf1-DC2.cfg
borderleaf2-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.62
# startup-config: configs/borderleaf2-DC2.cfg
# ==========================================
# DC2 - ACCESS LAYER (Rack/Bay Switches)
# Each bay/rack gets 1 access switch
# ==========================================
access1-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.81
# startup-config: configs/access1-DC2.cfg
access2-DC2:
kind: arista_ceos
mgmt-ipv4: 10.255.0.82
# startup-config: configs/access2-DC2.cfg
# ==========================================
# DCI SWITCH (Data Center Interconnect)
# ==========================================
DCI:
kind: arista_ceos
mgmt-ipv4: 10.255.0.100
# startup-config: configs/DCI.cfg
# ==========================================
# HOST DEVICES - DC1
# Connected to access switches (1 per rack/bay)
# ==========================================
host1-DC1:
kind: linux
mgmt-ipv4: 10.255.0.201
image: alpine:latest
host2-DC1:
kind: linux
mgmt-ipv4: 10.255.0.202
image: alpine:latest
# ==========================================
# HOST DEVICES - DC2
# Connected to access switches (1 per rack/bay)
# ==========================================
host1-DC2:
kind: linux
mgmt-ipv4: 10.255.0.211
image: alpine:latest
host2-DC2:
kind: linux
mgmt-ipv4: 10.255.0.212
image: alpine:latest
links:
# ==========================================
# DC1 - SPINE to LEAF Connections (Underlay)
# ==========================================
# Spine1-DC1 to leafs
- endpoints: ["spine1-DC1:eth2", "leaf1-DC1:eth3"]
- endpoints: ["spine1-DC1:eth3", "leaf2-DC1:eth3"]
- endpoints: ["spine1-DC1:eth4", "leaf3-DC1:eth3"]
- endpoints: ["spine1-DC1:eth5", "leaf4-DC1:eth3"]
- endpoints: ["spine1-DC1:eth6", "borderleaf1-DC1:eth3"]
- endpoints: ["spine1-DC1:eth7", "borderleaf2-DC1:eth3"]
# Spine2-DC1 to leafs
- endpoints: ["spine2-DC1:eth2", "leaf1-DC1:eth4"]
- endpoints: ["spine2-DC1:eth3", "leaf2-DC1:eth4"]
- endpoints: ["spine2-DC1:eth4", "leaf3-DC1:eth4"]
- endpoints: ["spine2-DC1:eth5", "leaf4-DC1:eth4"]
- endpoints: ["spine2-DC1:eth6", "borderleaf1-DC1:eth4"]
- endpoints: ["spine2-DC1:eth7", "borderleaf2-DC1:eth4"]
# Spine3-DC1 to leafs
- endpoints: ["spine3-DC1:eth2", "leaf1-DC1:eth5"]
- endpoints: ["spine3-DC1:eth3", "leaf2-DC1:eth5"]
- endpoints: ["spine3-DC1:eth4", "leaf3-DC1:eth5"]
- endpoints: ["spine3-DC1:eth5", "leaf4-DC1:eth5"]
- endpoints: ["spine3-DC1:eth6", "borderleaf1-DC1:eth5"]
- endpoints: ["spine3-DC1:eth7", "borderleaf2-DC1:eth5"]
# ==========================================
# DC1 - MLAG Peer Links (Leaf Layer)
# ==========================================
- endpoints: ["leaf1-DC1:eth1", "leaf2-DC1:eth1"]
- endpoints: ["leaf1-DC1:eth2", "leaf2-DC1:eth2"]
- endpoints: ["leaf3-DC1:eth1", "leaf4-DC1:eth1"]
- endpoints: ["leaf3-DC1:eth2", "leaf4-DC1:eth2"]
- endpoints: ["borderleaf1-DC1:eth1", "borderleaf2-DC1:eth1"]
- endpoints: ["borderleaf1-DC1:eth2", "borderleaf2-DC1:eth2"]
# ==========================================
# DC1 - LEAF to ACCESS Connections
# Access switches dual-homed to MLAG leaf pairs
# ==========================================
# access1-DC1 connects to leaf1-DC1 and leaf2-DC1 (MLAG)
- endpoints: ["leaf1-DC1:eth7", "access1-DC1:eth1"]
- endpoints: ["leaf2-DC1:eth7", "access1-DC1:eth2"]
# access2-DC1 connects to leaf3-DC1 and leaf4-DC1 (MLAG)
- endpoints: ["leaf3-DC1:eth7", "access2-DC1:eth1"]
- endpoints: ["leaf4-DC1:eth7", "access2-DC1:eth2"]
# ==========================================
# DC1 - ACCESS to HOST Connections
# Hosts connect to their local access switch
# ==========================================
- endpoints: ["access1-DC1:eth10", "host1-DC1:eth1"]
- endpoints: ["access2-DC1:eth10", "host2-DC1:eth1"]
# ==========================================
# DC2 - SPINE to LEAF Connections (Underlay)
# ==========================================
# Spine1-DC2 to leafs
- endpoints: ["spine1-DC2:eth2", "leaf1-DC2:eth3"]
- endpoints: ["spine1-DC2:eth3", "leaf2-DC2:eth3"]
- endpoints: ["spine1-DC2:eth4", "leaf3-DC2:eth3"]
- endpoints: ["spine1-DC2:eth5", "leaf4-DC2:eth3"]
- endpoints: ["spine1-DC2:eth6", "borderleaf1-DC2:eth3"]
- endpoints: ["spine1-DC2:eth7", "borderleaf2-DC2:eth3"]
# Spine2-DC2 to leafs
- endpoints: ["spine2-DC2:eth2", "leaf1-DC2:eth4"]
- endpoints: ["spine2-DC2:eth3", "leaf2-DC2:eth4"]
- endpoints: ["spine2-DC2:eth4", "leaf3-DC2:eth4"]
- endpoints: ["spine2-DC2:eth5", "leaf4-DC2:eth4"]
- endpoints: ["spine2-DC2:eth6", "borderleaf1-DC2:eth4"]
- endpoints: ["spine2-DC2:eth7", "borderleaf2-DC2:eth4"]
# Spine3-DC2 to leafs
- endpoints: ["spine3-DC2:eth2", "leaf1-DC2:eth5"]
- endpoints: ["spine3-DC2:eth3", "leaf2-DC2:eth5"]
- endpoints: ["spine3-DC2:eth4", "leaf3-DC2:eth5"]
- endpoints: ["spine3-DC2:eth5", "leaf4-DC2:eth5"]
- endpoints: ["spine3-DC2:eth6", "borderleaf1-DC2:eth5"]
- endpoints: ["spine3-DC2:eth7", "borderleaf2-DC2:eth5"]
# ==========================================
# DC2 - MLAG Peer Links (Leaf Layer)
# ==========================================
- endpoints: ["leaf1-DC2:eth1", "leaf2-DC2:eth1"]
- endpoints: ["leaf1-DC2:eth2", "leaf2-DC2:eth2"]
- endpoints: ["leaf3-DC2:eth1", "leaf4-DC2:eth1"]
- endpoints: ["leaf3-DC2:eth2", "leaf4-DC2:eth2"]
- endpoints: ["borderleaf1-DC2:eth1", "borderleaf2-DC2:eth1"]
- endpoints: ["borderleaf1-DC2:eth2", "borderleaf2-DC2:eth2"]
# ==========================================
# DC2 - LEAF to ACCESS Connections
# Access switches dual-homed to MLAG leaf pairs
# ==========================================
# access1-DC2 connects to leaf1-DC2 and leaf2-DC2 (MLAG)
- endpoints: ["leaf1-DC2:eth7", "access1-DC2:eth1"]
- endpoints: ["leaf2-DC2:eth7", "access1-DC2:eth2"]
# access2-DC2 connects to leaf3-DC2 and leaf4-DC2 (MLAG)
- endpoints: ["leaf3-DC2:eth7", "access2-DC2:eth1"]
- endpoints: ["leaf4-DC2:eth7", "access2-DC2:eth2"]
# ==========================================
# DC2 - ACCESS to HOST Connections
# Hosts connect to their local access switch
# ==========================================
- endpoints: ["access1-DC2:eth10", "host1-DC2:eth1"]
- endpoints: ["access2-DC2:eth10", "host2-DC2:eth1"]
# ==========================================
# DCI Links (Border Leaf to DCI)
# ==========================================
- endpoints: ["borderleaf1-DC1:eth12", "DCI:eth1"]
- endpoints: ["borderleaf2-DC1:eth12", "DCI:eth2"]
- endpoints: ["borderleaf1-DC2:eth12", "DCI:eth3"]
- endpoints: ["borderleaf2-DC2:eth12", "DCI:eth4"]