diff --git a/.gitignore b/.gitignore index f308f4d1..4b57c6b8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ # ignore secrets **.tok** + +# clab auto-created directories and files +**clab-* +*.yml.bak diff --git a/tech-library/campus/evpnvxlan/zbackend-infra/clab/clab-campus-evpnvxlan-dg.yml b/tech-library/campus/evpnvxlan/zbackend-infra/clab/clab-campus-evpnvxlan-dg.yml index eaa48050..2462f37e 100644 --- a/tech-library/campus/evpnvxlan/zbackend-infra/clab/clab-campus-evpnvxlan-dg.yml +++ b/tech-library/campus/evpnvxlan/zbackend-infra/clab/clab-campus-evpnvxlan-dg.yml @@ -1,3 +1,405 @@ --- -# Placeholder +# -------------------------------------------------------------- +# Arista Campus EVPN/VXLAN Deployment Guide Topology +# -------------------------------------------------------------- + +name: arista-campus-evpnvxlan-dg + +prefix: "" + +mgmt: + network: mgmt + ipv4-subnet: 172.100.100.0/24 + +topology: + + defaults: + env: + INTFTYPE: et + + kinds: + ceos: + image: ceos:latest + memory: 4g + linux: + image: mitchv85/devhost:22.04 + + nodes: +############################################################### +############################################################### +############################################################### +############################################################### +############################################################### +# Campus Pod A # +############################################################### +############################################################### +############################################################### +############################################################### +############################################################### + + +########################## +# Campus Pod A Spines # +########################## + + A-SPINE1: + kind: ceos + mgmt-ipv4: 172.100.100.101 + startup-config: ../configs/A-SPINE1.cfg + ports: + - '22001:22' + - '8001:80' + - '44301:443' + + A-SPINE2: + kind: ceos + mgmt-ipv4: 172.100.100.102 + startup-config: ../configs/A-SPINE2.cfg + ports: + - '22002:22' + - '8002:80' + - '44302:443' + +################################ +# Campus Pod A, Access Pod 1 # +################################ + + A-POD1-L1: + kind: ceos + mgmt-ipv4: 172.100.100.103 + startup-config: ../configs/A-POD1-L1.cfg + ports: + - '22003:22' + - '8003:80' + - '44303:443' + + A-POD1-L2: + kind: ceos + mgmt-ipv4: 172.100.100.104 + startup-config: ../configs/A-POD1-L2.cfg + ports: + - '22004:22' + - '8004:80' + - '44304:443' + + HostA1: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.201 + ports: + - '22201:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.10.10.101/24 -i6 2001:db8:10:10::101/64 -g 10.10.10.1 + + HostA2: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.202 + ports: + - '22202:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -b -i4 10.30.30.101/24 -i6 2001:db8:30:30::101/64 -g 10.30.30.1 + +############################### +# Campus Pod A, Access Pod 2 # +############################### + + A-POD2-L1: + kind: ceos + mgmt-ipv4: 172.100.100.105 + startup-config: ../configs/A-POD2-L1.cfg + ports: + - '22005:22' + - '8005:80' + - '44305:443' + + HostA3: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.203 + ports: + - '22203:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.20.20.101/24 -i6 2001:db8:20:20::101/64 -g 10.20.20.1 + +############################### +# Campus Pod A, Access Pod 3 # +############################### + + A-POD3-L1: + kind: ceos + mgmt-ipv4: 172.100.100.106 + startup-config: ../configs/A-POD3-L1.cfg + ports: + - '22006:22' + - '8006:80' + - '44306:443' + + A-POD3-L2: + kind: ceos + mgmt-ipv4: 172.100.100.107 + startup-config: ../configs/A-POD3-L2.cfg + ports: + - '22007:22' + - '8007:80' + - '44307:443' + + A-POD3-L3: + kind: ceos + mgmt-ipv4: 172.100.100.108 + startup-config: ../configs/A-POD3-L3.cfg + ports: + - '22008:22' + - '8008:80' + - '44308:443' + + A-POD3-L4: + kind: ceos + mgmt-ipv4: 172.100.100.109 + startup-config: ../configs/A-POD3-L4.cfg + ports: + - '22009:22' + - '8009:80' + - '44309:443' + + A-POD3-L5: + kind: ceos + mgmt-ipv4: 172.100.100.110 + startup-config: ../configs/A-POD3-L5.cfg + ports: + - '22010:22' + - '8010:80' + - '44310:443' + + HostA4: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.204 + ports: + - '22204:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.10.10.102/24 -i6 2001:db8:10:10::102/64 -g 10.10.10.1 + + HostA5: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.205 + ports: + - '22205:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.20.20.102/24 -i6 2001:db8:20:20::102/64 -g 10.20.20.1 + + HostA6: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.206 + ports: + - '22206:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.20.20.103/24 -i6 2001:db8:20:20::103/64 -g 10.20.20.1 + + HostA7: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.207 + ports: + - '22207:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.40.40.101/24 -i6 2001:db8:40:40::101/64 -g 10.40.40.1 + +############################################################### +############################################################### +############################################################### +############################################################### +############################################################### +# Campus Pod B # +############################################################### +############################################################### +############################################################### +############################################################### +############################################################### + + +########################## +# Campus Pod B Spines # +########################## + + B-SPINE1: + kind: ceos + mgmt-ipv4: 172.100.100.111 + startup-config: ../configs/B-SPINE1.cfg + ports: + - '22011:22' + - '8011:80' + - '44311:443' + + B-SPINE2: + kind: ceos + mgmt-ipv4: 172.100.100.112 + startup-config: ../configs/B-SPINE2.cfg + ports: + - '22012:22' + - '8012:80' + - '44312:443' + +############################### +# Campus Pod B, Access Pod 1 # +############################### + + B-POD1-L1: + kind: ceos + mgmt-ipv4: 172.100.100.113 + startup-config: ../configs/B-POD1-L1.cfg + ports: + - '22013:22' + - '8013:80' + - '44313:443' + + B-POD1-L2: + kind: ceos + mgmt-ipv4: 172.100.100.114 + startup-config: ../configs/B-POD1-L2.cfg + ports: + - '22014:22' + - '8014:80' + - '44314:443' + + HostB1: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.208 + ports: + - '22208:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.50.50.101/24 -i6 2001:db8:50:50::101/64 -g 10.50.50.1 + + HostB2: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.209 + ports: + - '22209:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -b -i4 10.70.70.101/24 -i6 2001:db8:70:70::101/64 -g 10.70.70.1 + +############################### +# Campus Pod B, Access Pod 2 # +############################### + + B-POD2-L1: + kind: ceos + mgmt-ipv4: 172.100.100.115 + startup-config: ../configs/B-POD2-L1.cfg + ports: + - '22015:22' + - '8015:80' + - '44315:443' + + HostB3: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.210 + ports: + - '22210:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.60.60.101/24 -i6 2001:db8:60:60::101/64 -g 10.60.60.1 + +############################## +# Campus Pod 1, Access Pod 3 # +############################## + + B-POD3-L1: + kind: ceos + mgmt-ipv4: 172.100.100.116 + startup-config: ../configs/B-POD3-L1.cfg + ports: + - '22016:22' + - '8016:80' + - '44316:443' + + B-POD3-L2: + kind: ceos + mgmt-ipv4: 172.100.100.117 + startup-config: ../configs/B-POD3-L2.cfg + ports: + - '22017:22' + - '8017:80' + - '44317:443' + + B-POD3-L3: + kind: ceos + mgmt-ipv4: 172.100.100.118 + startup-config: ../configs/B-POD3-L3.cfg + ports: + - '22018:22' + - '8018:80' + - '44318:443' + + B-POD3-L4: + kind: ceos + mgmt-ipv4: 172.100.100.119 + startup-config: ../configs/B-POD3-L4.cfg + ports: + - '22019:22' + - '8019:80' + - '44319:443' + + B-POD3-L5: + kind: ceos + mgmt-ipv4: 172.100.100.120 + startup-config: ../configs/B-POD3-L5.cfg + ports: + - '22020:22' + - '8020:80' + - '44320:443' + + HostB4: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.211 + ports: + - '22211:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.50.50.102/24 -i6 2001:db8:50:50::102/64 -g 10.50.50.1 + + HostB5: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.212 + ports: + - '22212:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.60.60.102/24 -i6 2001:db8:60:60::102/64 -g 10.60.60.1 + + HostB6: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.213pwd + + ports: + - '22213:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.60.60.103/24 -i6 2001:db8:60:60::103/64 -g 10.60.60.1 + + HostB7: + kind: linux + image: mitchv85/devhost:22.04 + mgmt-ipv4: 172.100.100.214 + ports: + - '22214:22' + exec: + - bash /usr/local/bin/hostnetconfig.sh -i4 10.80.80.101/24 -i6 2001:db8:80:80::101/64 -g 10.80.80.1 + + links: +###################### +# A-SPINE1 to LEAF # +###################### + - endpoints: ["A-SPINE1:et1", "A-LEAF1:et1"] + - endpoints: ["A-SPINE1:et2", "A-LEAF2:et1"] + - endpoints: ["A-SPINE1:et3", "A-LEAF3:et1"] + - endpoints: ["A-SPINE1:et4", "A-LEAF4:et1"] + - endpoints: ["A-SPINE1:et5", "A-LEAF5:et1"] + - endpoints: ["A-SPINE1:et6", "A-LEAF6:et1"] + - endpoints: ["A-SPINE1:et7", "A-LEAF7:et1"] + - endpoints: ["A-SPINE1:et8", "A-LEAF8:et1"]