Skip to content

Commit 1b8794e

Browse files
Fix avd validation issues (#13)
* update_evpn_avd_asym_irb * update_evpn_avd_asym_multihoming * update_evpn_avd_asym_multihoming_remove_mlag_default * update_evpn_avd_asym_multihoming_playbook * update_evpn_avd_central_any_gw * update_evpn_avd_sym_irb * update_evpn_avd_sym_irb_ibgp * update_evpn_avd_sym_sa_mh * update_evpn_labs_makefile * update_mpls_labs_evpn_irb * update_mpls_labs_l2evpn * fix playbook indent * update README
1 parent 8f59632 commit 1b8794e

File tree

78 files changed

+1277
-1107
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1277
-1107
lines changed

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626

2727
This repository contains ansible playbooks which allow the user to quickly:
2828

29-
1. Deploy cEOS-Lab Leaf Spine topology using [containerlab](https://containerlab.dev/).
30-
2. Configure the Leaf Spine Fabric using Arista Ansible [AVD](https://avd.sh/en/stable/)
29+
1. Deploy cEOS-Lab based Leaf Spine topology using [containerlab](https://containerlab.dev/).
30+
2. Configure the Leaf Spine Fabric using Arista Ansible [AVD](https://avd.arista.com/)
3131

3232
The same AVD templates can also be used with vEOS-Lab and physical Lab switches with slight changes to lab files.
3333

@@ -40,8 +40,8 @@ Clone the repository and ensure to have the required libraries and software inst
4040
#### AVD
4141

4242
- Python 3.8 or above
43-
- `ansible-core` from 2.11.3 to 2.12.x
44-
- arista.avd ansible collection (3.0.0 or above)
43+
- Install `ansible-core` from 2.12.6 to 2.15.x excluding 2.13.0
44+
- [arista.avd](https://galaxy.ansible.com/ui/namespaces/arista/) ansible collection (3.0.0 or above)
4545
- containerlab (0.15 or above)
4646
- arista.avd requirements
4747

@@ -51,7 +51,7 @@ Clone the repository and ensure to have the required libraries and software inst
5151
- Arista cEOS-Lab image (4.21.8M or above)
5252
- Alpine-host image (optional)
5353

54-
For arista.avd installation please refer to the [official](https://avd.sh/en/stable/docs/installation/requirements.html) documenation.
54+
For arista.avd installation please refer to the [official](https://avd.arista.com/stable/docs/installation/collection-installation.html) documenation.
5555

5656
For containerlab installation please refer to the [official](https://containerlab.dev/install/) documentation.
5757

@@ -394,4 +394,5 @@ round-trip min/avg/max = 5.946/13.238/20.531 ms
394394

395395
## Upcoming
396396

397-
CVX VxLAN Lab
397+
- CVX VxLAN Lab
398+
- Improved Wiki

ceos_lab_template/ceos.cfg.tpl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ interface Management0
1111
{{ if .MgmtIPv4Address }} ip address {{ .MgmtIPv4Address }}/{{ .MgmtIPv4PrefixLength }}{{end}}
1212
{{ if .MgmtIPv6Address }} ipv6 address {{ .MgmtIPv6Address }}/{{ .MgmtIPv6PrefixLength }}{{end}}
1313
!
14+
{{ if .MgmtIPv4Gateway }}ip route vrf MGMT 0.0.0.0/0 {{ .MgmtIPv4Gateway }}{{end}}
15+
{{ if .MgmtIPv6Gateway }}ipv6 route vrf MGMT ::0/0 {{ .MgmtIPv6Gateway }}{{end}}
16+
!
1417
management security
1518
ssl profile eAPI
1619
cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL
@@ -23,4 +26,4 @@ management api http-commands
2326
vrf MGMT
2427
no shutdown
2528
!
26-
end
29+
end

labs/evpn/avd_asym_irb/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ deploy: ## Complete AVD & cEOS-Lab Deployment
1818
destroy: ## Delete cEOS-Lab Deployment and AVD generated config and documentation
1919
@echo -e "\n############### \e[1;30;42mWiping nodes and deleting AVD configuration\e[0m ###############\n"
2020
@sudo containerlab destroy -t topology.yaml --cleanup
21-
@rm -rf .topology.yml.bak config_backup/ snapshots/ reports/ documentation/ intended/
21+
@rm -rf .topology.yaml.bak config_backup/ snapshots/ reports/ documentation/ intended/

labs/evpn/avd_asym_irb/group_vars/AVD_LAB.yaml

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
local_users:
3-
admin:
3+
- name: admin
44
privilege: 15
55
role: network-admin
66
sha512_password: "$6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1"
@@ -18,34 +18,28 @@ ntp:
1818

1919
service_routing_protocols_model: multi-agent
2020

21-
spanning_tree:
21+
custom_structured_configuration_spanning_tree:
2222
mode: mstp
2323

2424
ip_routing: true
2525

2626
# hardcoding management0 for cEOS lab compatibility (default: Management1)
2727
mgmt_interface: Management0
2828
mgmt_gateway: 172.100.100.1
29+
mgmt_interface_vrf: MGMT
2930

3031
# Management eAPI | Required for this Lab
3132
custom_structured_configuration_management_api_http:
3233
https_ssl_profile: eAPI
3334

3435
# Management security required for SSL profile with strong ciphers
35-
#custom_structured_configuration_management_security:
36-
# ssl_profiles:
37-
# - name: eAPI
38-
# certificate:
39-
# file: eAPI.crt
40-
# key: eAPI.key
41-
# cipher_list: HIGH,!eNULL,!aNULL,!MD5,!ADH,!ANULL
42-
43-
# cipher_list will be added in AVD rel 3.8.x till then using raw_eos_cli
44-
eos_cli: |
45-
management security
46-
ssl profile eAPI
47-
cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL
48-
certificate eAPI.crt key eAPI.key
36+
custom_structured_configuration_management_security:
37+
ssl_profiles:
38+
- name: eAPI
39+
certificate:
40+
file: eAPI.crt
41+
key: eAPI.key
42+
cipher_list: 'HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL'
4943

5044
# Management GNMI | Optional
5145
#management_api_gnmi:
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
port_profiles:
3+
- profile: Tenant_A_pod1_clientA
4+
mode: trunk
5+
vlans: '110'
6+
- profile: Tenant_A_pod1_clientB
7+
mode: trunk
8+
vlans: '111'
9+
10+
servers:
11+
- name: server01
12+
rack: rack01
13+
adapters:
14+
- endpoint_ports:
15+
- Eth1
16+
- Eth2
17+
switch_ports:
18+
- Ethernet5
19+
- Ethernet5
20+
switches:
21+
- DC1_LEAF1A
22+
- DC1_LEAF1B
23+
profile: Tenant_A_pod1_clientA
24+
spanning_tree_portfast: edge
25+
port_channel:
26+
description: PortChannel5
27+
mode: active
28+
- name: server02
29+
rack: rack01
30+
adapters:
31+
- endpoint_ports:
32+
- Eth1
33+
- Eth2
34+
switch_ports:
35+
- Ethernet6
36+
- Ethernet6
37+
switches:
38+
- DC1_LEAF1A
39+
- DC1_LEAF1B
40+
profile: Tenant_A_pod1_clientB
41+
spanning_tree_portfast: edge
42+
port_channel:
43+
description: PortChannel6
44+
mode: active
45+
- name: server03
46+
rack: rack02
47+
adapters:
48+
- endpoint_ports:
49+
- Eth1
50+
- Eth2
51+
switch_ports:
52+
- Ethernet5
53+
- Ethernet5
54+
switches:
55+
- DC1_LEAF2A
56+
- DC1_LEAF2B
57+
profile: Tenant_A_pod1_clientA
58+
spanning_tree_portfast: edge
59+
port_channel:
60+
description: PortChannel5
61+
mode: active
62+
- name: server04
63+
rack: rack02
64+
adapters:
65+
- endpoint_ports:
66+
- Eth1
67+
- Eth2
68+
switch_ports:
69+
- Ethernet6
70+
- Ethernet6
71+
switches:
72+
- DC1_LEAF2A
73+
- DC1_LEAF2B
74+
profile: Tenant_A_pod1_clientB
75+
spanning_tree_portfast: edge
76+
port_channel:
77+
description: PortChannel6
78+
mode: active
Lines changed: 46 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,55 @@
11
---
22
fabric_name: DC1_FABRIC
33

4-
underlay_routing_protocol: EBGP
4+
underlay_routing_protocol: ebgp
55

6-
overlay_routing_protocol: EBGP
6+
overlay_routing_protocol: ebgp
77

88
evpn_vlan_aware_bundles: false
99

1010
# bgp peer groups passwords
1111
bgp_peer_groups:
12-
IPv4_UNDERLAY_PEERS:
12+
ipv4_underlay_peers:
1313
password: "AQQvKeimxJu+uGQ/yYvv9w=="
14-
EVPN_OVERLAY_PEERS:
14+
evpn_overlay_peers:
1515
password: "q+VNViP5i4rVjW1cxFv2wA=="
16-
MLAG_IPv4_UNDERLAY_PEER:
16+
mlag_ipv4_underlay_peer:
1717
password: "vnEaG8gMeQf3d3cN6PktXQ=="
1818

19+
# BGP defaults
20+
bgp_default_ipv4_unicast: false
21+
bgp_update_wait_install: false
22+
bgp_update_wait_for_convergence: false
23+
bgp_distance:
24+
external_routes: 20
25+
internal_routes: 200
26+
local_routes: 200
27+
1928
spine:
2029
defaults:
2130
platform: cEOS-LAB
22-
bgp_as: 65001
31+
bgp_as: '65001'
2332
loopback_ipv4_pool: 192.168.255.0/24
24-
bgp_defaults:
25-
#- update wait-for-convergence
26-
#- update wait-install
27-
- no bgp default ipv4-unicast
28-
- distance bgp 20 200 200
29-
#- graceful-restart restart-time 300
30-
#- graceful-restart
3133
nodes:
32-
DC1_SPINE1:
34+
- name: DC1_SPINE1
3335
id: 1
3436
mgmt_ip: 172.100.100.2/24
35-
DC1_SPINE2:
37+
- name: DC1_SPINE2
3638
id: 2
3739
mgmt_ip: 172.100.100.3/24
3840

3941
l3leaf:
4042
defaults:
4143
platform: cEOS-LAB
42-
uplink_switches: [DC1_SPINE1, DC1_SPINE2]
43-
uplink_interfaces: [Ethernet1, Ethernet2]
44-
mlag_interfaces: [Ethernet3, Ethernet4]
44+
uplink_switches:
45+
- DC1_SPINE1
46+
- DC1_SPINE2
47+
uplink_interfaces:
48+
- Ethernet1
49+
- Ethernet2
50+
mlag_interfaces:
51+
- Ethernet3
52+
- Ethernet4
4553
spanning_tree_mode: mstp
4654
spanning_tree_priority: 4096
4755
evpn_services_l2_only: true
@@ -51,33 +59,35 @@ l3leaf:
5159
vtep_loopback_ipv4_pool: 192.168.254.0/24
5260
mlag_peer_ipv4_pool: 10.255.252.0/24
5361
mlag_peer_l3_ipv4_pool: 10.255.251.0/24
54-
bgp_defaults:
55-
#- update wait-install
56-
- no bgp default ipv4-unicast
57-
- distance bgp 20 200 200
58-
#- graceful-restart restart-time 300
59-
#- graceful-restart
6062
node_groups:
61-
DC1_LEAF1:
62-
bgp_as: 65101
63+
- group: DC1_LEAF1
64+
bgp_as: '65101'
6365
nodes:
64-
DC1_LEAF1A:
66+
- name: DC1_LEAF1A
6567
id: 1
6668
mgmt_ip: 172.100.100.4/24
67-
uplink_switch_interfaces: [Ethernet1, Ethernet1]
68-
DC1_LEAF1B:
69+
uplink_switch_interfaces:
70+
- Ethernet1
71+
- Ethernet1
72+
- name: DC1_LEAF1B
6973
id: 2
7074
mgmt_ip: 172.100.100.5/24
71-
uplink_switch_interfaces: [Ethernet2, Ethernet2]
72-
DC1_LEAF2:
73-
bgp_as: 65102
75+
uplink_switch_interfaces:
76+
- Ethernet2
77+
- Ethernet2
78+
- group: DC1_LEAF2
79+
bgp_as: '65102'
7480
nodes:
75-
DC1_LEAF2A:
81+
- name: DC1_LEAF2A
7682
id: 3
7783
mgmt_ip: 172.100.100.6/24
78-
uplink_switch_interfaces: [Ethernet3, Ethernet3]
79-
DC1_LEAF2B:
84+
uplink_switch_interfaces:
85+
- Ethernet3
86+
- Ethernet3
87+
- name: DC1_LEAF2B
8088
id: 4
8189
mgmt_ip: 172.100.100.7/24
82-
uplink_switch_interfaces: [Ethernet4, Ethernet4]
90+
uplink_switch_interfaces:
91+
- Ethernet4
92+
- Ethernet4
8393

labs/evpn/avd_asym_irb/group_vars/DC1_LEAFS.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
type: l3leaf
22
custom_structured_configuration_list_merge: append
33
custom_structured_configuration_vlan_interfaces:
4-
Vlan110:
4+
- name: Vlan110
55
description: Tenant_A_OP_Zone_1
66
shutdown: false
77
ip_address_virtual: 10.1.10.1/24
8-
Vlan111:
8+
- name: Vlan111
99
description: Tenant_A_OP_Zone_2
1010
shutdown: false
1111
ip_address_virtual: 10.1.11.1/24

labs/evpn/avd_asym_irb/group_vars/DC1_TENANTS_NETWORKS.yaml renamed to labs/evpn/avd_asym_irb/group_vars/DC1_NETWORK_SERVICES.yaml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
---
22
tenants:
33
# Tenant A VRFs / VLANs
4-
Tenant_A:
4+
- name: Tenant_A
55
mac_vrf_vni_base: 10000
66
l2vlans:
7-
110:
7+
- id: 110
88
name: Tenant_A_OP_Zone_1
9-
tags: [ opzone_pod1 ]
10-
111:
9+
tags:
10+
- opzone_pod1
11+
- id: 111
1112
name: Tenant_A_OP_Zone_2
12-
tags: [ opzone_pod1 ]
13+
tags:
14+
- opzone_pod1

0 commit comments

Comments
 (0)