Skip to content

Commit

Permalink
Merge pull request #23 from ankudinov/add-test-lab
Browse files Browse the repository at this point in the history
init lab for domain-a for initial testing
  • Loading branch information
ankudinov authored Aug 22, 2024
2 parents 2738f84 + d80e589 commit ff04cf4
Show file tree
Hide file tree
Showing 19 changed files with 3,416 additions and 5 deletions.
23 changes: 23 additions & 0 deletions .devcontainer/techlib-vxlan-domain-a/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"image": "ghcr.io/${localEnv:GITHUB_REPOSITORY}/techlib-labs:python3.11-avd-v4.9.0-clab0.54.2-ceos4.32.1f",
// containerEnv set the variables applied to entire container
"containerEnv": {
"ARISTA_TOKEN": "${localEnv:ARTOKEN}",
"CONTAINERWSF": "${containerWorkspaceFolder}",
"GITHUB_REPOSITORY": "${localEnv:GITHUB_REPOSITORY}"
},
"secrets": {
"ARTOKEN": {
"description": "token to auto-download EOS images from arista.com."
// "documentationUrl": "https://example.com/link/to/info"
}
},
"hostRequirements": {
"cpus": 16,
"memory": "64gb",
"storage": "128gb"
},
"postCreateCommand": "postCreate.sh",
"workspaceMount": "source=${localWorkspaceFolder}/labs/${containerWorkspaceFolder},target=/${containerWorkspaceFolder},type=bind",
"workspaceFolder": "/techlib-vxlan-domain-a"
}
6 changes: 3 additions & 3 deletions .github/workflows/container_build_parent_matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ jobs:
strategy:
matrix:
from_image: ["ghcr.io/aristanetworks/avd/universal"]
from_variant: ["python3.11-avd-v4.9.0"]
clab_version: ["0.54.2"]
ceos_lab_version: ["4.32.1F"]
from_variant: ["python3.11-avd-v4.9.0", "python3.11-avd-v4.10.0"]
clab_version: ["0.54.2", "0.56.0"]
ceos_lab_version: ["4.32.1F", "4.32.2F"]
with:
from_image: ${{ matrix.from_image }}
from_variant: ${{ matrix.from_variant }}
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# tech-library-avd
# acLabs (Arista Community Labs)

AVD data models based on Tech Library deployment guides
> WARNING: Under Construction!
To start the lab for testing, please use following links:

- [EVPN, domain-A](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Ftechlib-vxlan-domain-a%2Fdevcontainer.json)
13 changes: 13 additions & 0 deletions labs/techlib-vxlan-domain-a/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
CURRENT_DIR := $(shell pwd)

.PHONY: help
help: ## Display help message
@grep -E '^[0-9a-zA-Z_-]+\.*[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

.PHONY: start
start: ## Deploy ceos lab
sudo containerlab deploy --debug --topo $(CURRENT_DIR)/clab/topology.clab.yml --max-workers 10 --timeout 5m --reconfigure

.PHONY: stop
stop: ## Destroy ceos lab
sudo containerlab destroy --debug --topo $(CURRENT_DIR)/clab/topology.clab.yml --cleanup
Empty file.
286 changes: 286 additions & 0 deletions labs/techlib-vxlan-domain-a/clab/init-configs/A-LEAF1.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,286 @@
!
no aaa root
!
username admin privilege 15 role network-admin secret sha512 $6$eucN5ngreuExDgwS$xnD7T8jO..GBDX0DUlp.hn.W7yW94xTjSanqgaQGBzPIhDAsyAl9N4oScHvOMvf07uVBFI4mKMxwdVEUVKgY/.
!
dhcp relay
tunnel requests disabled
mlag peer-link requests disabled
!
transceiver qsfp default-mode 4x10G
!
interface defaults
mtu 9214
!
service routing protocols model multi-agent
!
hostname A-LEAF1
ip name-server vrf MGMT 8.8.8.8
!
spanning-tree mode mstp
no spanning-tree vlan-id 3001,4093-4094
spanning-tree edge-port bpduguard default
spanning-tree mst 0 priority 0
!
system l1
unsupported speed action error
unsupported error-correction action error
!
vlan 10
name Blue
!
vlan 30
name Orange
!
vlan 3001
name MLAG_PEER_VRF_PROD
trunk group MLAG_PEER
!
vlan 4093
name MLAG_PEER_L3_UNDERLAY
trunk group MLAG_PEER
!
vlan 4094
name MLAG_PEER_SYNC
trunk group MLAG_PEER
!
vrf instance MGMT
!
vrf instance PROD
!
management api http-commands
no shutdown
!
vrf MGMT
no shutdown
!
aaa authorization exec default local
!
interface Port-Channel7
description HostA1
switchport access vlan 10
mlag 7
spanning-tree portfast
!
interface Port-Channel8
description HostA2
switchport access vlan 30
mlag 8
spanning-tree portfast
!
interface Port-Channel1000
description MLAG PEER-LINK
switchport mode trunk
switchport trunk group MLAG_PEER
!
interface Ethernet1
no switchport
ip address 192.168.0.1/31
pim ipv4 sparse-mode
!
interface Ethernet2
no switchport
ip address 192.168.0.17/31
pim ipv4 sparse-mode
!
interface Ethernet3
no switchport
ip address 192.168.0.33/31
pim ipv4 sparse-mode
!
interface Ethernet4
no switchport
ip address 192.168.0.49/31
pim ipv4 sparse-mode
!
interface Ethernet5
channel-group 1000 mode active
!
interface Ethernet6
channel-group 1000 mode active
!
interface Ethernet7
channel-group 7 mode active
!
interface Ethernet8
channel-group 8 mode active
!
interface Loopback0
description Globally Unique Address
ip address 1.1.1.1/32
!
interface Loopback1
description Shared VTEP IP (MLAG)
ip address 2.2.1.1/32
!
interface Loopback101
vrf PROD
ip address 10.101.101.11/32
!
interface Management0
vrf MGMT
ip address 172.100.100.105/24
!
interface Vlan10
mtu 9014
vrf PROD
pim ipv4 sparse-mode
pim ipv4 local-interface Loopback101
ip address virtual 10.10.10.1/24
!
interface Vlan30
mtu 9014
vrf PROD
pim ipv4 sparse-mode
pim ipv4 local-interface Loopback101
ip address virtual 10.30.30.1/24
!
interface Vlan3001
description MLAG iBGP Peer - VRF PROD
no autostate
vrf PROD
ip address 192.0.0.0/31
!
interface Vlan4093
description MLAG UNDERLAY BGP PEER
no autostate
ip address 192.0.0.0/31
pim ipv4 sparse-mode
!
interface Vlan4094
description MLAG PEER SYNC
no autostate
ip address 169.254.0.1/30
!
interface Vxlan1
vxlan source-interface Loopback0
vxlan virtual-router encapsulation mac-address mlag-system-id
vxlan udp-port 4789
vxlan vlan 10,30 vni 10010,10030
vxlan vrf PROD vni 50001
vxlan mlag source-interface Loopback1
vxlan vrf PROD multicast group 232.1.1.1
vxlan vrf PROD multicast group overlay 239.0.10.101 encap 232.1.1.10 immediate
!
mac address-table aging-time 1800
!
ip virtual-router mac-address 00:1c:73:00:00:01
!
ip routing
no ip routing vrf MGMT
ip routing vrf PROD
!
ip extcommunity-list regexp evpn-imported permit RT.*
!
ip prefix-list PL-LOOPBACKS
seq 10 permit 1.1.0.0/16 eq 32
seq 20 permit 2.2.0.0/16 eq 32
!
ip prefix-list PL-MLAG-PEER-VRFS
seq 10 permit 192.0.0.0/31
!
ip prefix-list PL-P2P-UNDERLAY
seq 10 permit 192.168.0.0/24 le 31
!
mlag configuration
domain-id 100
local-interface Vlan4094
peer-address 169.254.0.2
peer-link Port-Channel1000
!
ip route vrf MGMT 0.0.0.0/0 172.100.100.1
!
arp aging timeout default 1500
!
route-map RM-CONN-2-BGP permit 10
match ip address prefix-list PL-LOOPBACKS
!
route-map RM-CONN-2-BGP permit 20
match ip address prefix-list PL-P2P-UNDERLAY
!
route-map RM-CONN-2-BGP-VRFS deny 10
match ip address prefix-list PL-MLAG-PEER-VRFS
!
route-map RM-CONN-2-BGP-VRFS permit 20
!
route-map RM-MLAG-PEER-OUT deny 10
match extcommunity evpn-imported
!
route-map RM-MLAG-PEER-OUT permit 20
set origin incomplete
!
router bgp 65112
router-id 1.1.1.1
no bgp default ipv4-unicast
distance bgp 20 200 200
graceful-restart restart-time 300
graceful-restart
maximum-paths 4
neighbor default send-community
neighbor LOCAL-EVPN-PEERS peer group
neighbor LOCAL-EVPN-PEERS remote-as 65100
neighbor LOCAL-EVPN-PEERS update-source Loopback0
neighbor LOCAL-EVPN-PEERS ebgp-multihop 3
neighbor LOCAL-EVPN-PEERS password 7 WzKnNSduqwPYvUePYIh40g==
neighbor LOCAL-IPV4-PEERS peer group
neighbor LOCAL-IPV4-PEERS remote-as 65100
neighbor LOCAL-IPV4-PEERS password 7 DGMjRCIj8IZAFhehikpUIQ==
neighbor MLAG-IPV4-PEER peer group
neighbor MLAG-IPV4-PEER remote-as 65112
neighbor MLAG-IPV4-PEER next-hop-self
neighbor MLAG-IPV4-PEER route-map RM-MLAG-PEER-OUT out
neighbor MLAG-IPV4-PEER password 7 CRkxra9QRmU5k9/wECPlUA==
neighbor 1.1.1.201 peer group LOCAL-EVPN-PEERS
neighbor 1.1.1.202 peer group LOCAL-EVPN-PEERS
neighbor 1.1.1.203 peer group LOCAL-EVPN-PEERS
neighbor 1.1.1.204 peer group LOCAL-EVPN-PEERS
neighbor 192.0.0.1 peer group MLAG-IPV4-PEER
neighbor 192.168.0.0 peer group LOCAL-IPV4-PEERS
neighbor 192.168.0.16 peer group LOCAL-IPV4-PEERS
neighbor 192.168.0.32 peer group LOCAL-IPV4-PEERS
neighbor 192.168.0.48 peer group LOCAL-IPV4-PEERS
redistribute connected route-map RM-CONN-2-BGP
!
vlan 10
rd 1.1.1.1:10010
route-target both 10010:10010
redistribute learned
!
vlan 30
rd 1.1.1.1:10030
route-target both 10030:10030
redistribute learned
!
address-family evpn
neighbor LOCAL-EVPN-PEERS activate
route import match-failure action discard
!
address-family ipv4
neighbor LOCAL-IPV4-PEERS activate
neighbor MLAG-IPV4-PEER activate
!
vrf PROD
rd 1.1.1.1:50001
evpn multicast
route-target import evpn 50001:50001
route-target export evpn 50001:50001
neighbor 192.0.0.1 peer group MLAG-IPV4-PEER
redistribute connected route-map RM-CONN-2-BGP-VRFS
!
address-family ipv4
neighbor 192.0.0.1 activate
!
router multicast
ipv4
routing
software-forwarding sfe
!
vrf PROD
ipv4
routing
!
management ssh
vrf MGMT
no shutdown
!
end
Loading

0 comments on commit ff04cf4

Please sign in to comment.