Skip to content

Commit

Permalink
Workshop Re-organize - Add L3LS Data Models (#130)
Browse files Browse the repository at this point in the history
* move files to re-org repo for addition of l3ls workshop

* re-organizing lab files and adding l3ls lab

* update global vars with with ssh_key

* update incorrect AS on s2-brdr2 remote peer s1-brdr2 evpn gateway
  • Loading branch information
RestlessWanderer authored Aug 29, 2024
1 parent a3dc94f commit 3f1a46b
Show file tree
Hide file tree
Showing 68 changed files with 1,012 additions and 0 deletions.
File renamed without changes.
55 changes: 55 additions & 0 deletions labs/L2LS/ansible.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
[defaults]

# Disable host key checking by the underlying tools Ansible uses to connect to target hosts
host_key_checking = False

# Location of inventory file containing target hosts
# inventory = ./inventory/inventory.yml

# Only gather Ansible facts if explicity directed to in a given play
gathering = explicit

# Disable the creation of .retry files if a playbook fails
retry_files_enabled = False

# Path(s) to search for installed Ansible Galaxy Collections
collections_paths = ~/.ansible/collections

# Enable additional Jinja2 Extensions (https://jinja.palletsprojects.com/en/3.1.x/extensions/)
jinja2_extensions = jinja2.ext.loopcontrols,jinja2.ext.do,jinja2.ext.i18n

# Enable the YAML callback plugin, providing much easier to read terminal output. (https://docs.ansible.com/ansible/latest/plugins/callback.html#callback-plugins)
stdout_callback = yaml

# Permit the use of callback plugins when running ad-hoc commands
bin_ansible_callbacks = True

# List of enabled callbacks. Many callbacks shipped with Ansible are not enabled by default
callbacks_enabled = profile_roles, profile_tasks, timer

# Maximum number of forks that Ansible will use to execute tasks on target hosts
forks = 15

# Disable cowsay (Why?)
nocows = True

# Disable deprecation warnings, more readable output
deprecation_warnings = False

#enable global vars
vars_plugins_enabled = arista.avd.global_vars, host_group_vars

#define global vars path
[vars_global_vars]
paths = ../../global_vars

[paramiko_connection]
# Automatically add the keys of target hosts to known hosts
host_key_auto_add = True

[persistent_connection]
# Set the amount of time, in seconds, to wait for response from remote device before timing out persistent connection.
command_timeout = 60

# Set the amount of time, in seconds, that a persistent connection will remain idle before it is destroyed.
connect_timeout = 60
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
51 changes: 51 additions & 0 deletions labs/L3LS_EVPN/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
.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}'

########################################################
# Site 1
########################################################

.PHONY: ping-site-1
ping-site-1: ## Ping Nodes
ansible-playbook playbooks/ping.yml -i sites/site_1/inventory.yml -e "target_hosts=SITE1_FABRIC"

.PHONY: build-site-1
build-site-1: ## Build Configs
ansible-playbook playbooks/build.yml -i sites/site_1/inventory.yml -e "target_hosts=SITE1_FABRIC"

.PHONY: deploy-site-1
deploy-site-1: ## Deploy Configs via eAPI
ansible-playbook playbooks/deploy.yml -i sites/site_1/inventory.yml -e "target_hosts=SITE1_FABRIC"

.PHONY: cvp-site-1
cvp-site-1: ## Deploy Configs via eAPI
ansible-playbook playbooks/cvp1.yml -i sites/site_1/inventory.yml

########################################################
# Site 2
########################################################

.PHONY: ping-site-2
ping-site-2: ## Ping Nodes
ansible-playbook playbooks/ping.yml -i sites/site_2/inventory.yml -e "target_hosts=SITE2_FABRIC"

.PHONY: build-site-2
build-site-2: ## Build Configs
ansible-playbook playbooks/build.yml -i sites/site_2/inventory.yml -e "target_hosts=SITE2_FABRIC"

.PHONY: deploy-site-2
deploy-site-2: ## Deploy Configs via eAPI
ansible-playbook playbooks/deploy.yml -i sites/site_2/inventory.yml -e "target_hosts=SITE2_FABRIC"

.PHONY: cvp-site-2
cvp-site-2: ## Deploy Configs via eAPI
ansible-playbook playbooks/cvp2.yml -i sites/site_2/inventory.yml

########################################################
# WAN & Hosts - Lab Prep
########################################################

.PHONY: preplab
preplab: ## Deploy Configs via eAPI
ansible-playbook playbooks/preplab.yml -i extra_configs/inventory.yml -e "target_hosts=LAB"
55 changes: 55 additions & 0 deletions labs/L3LS_EVPN/ansible.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
[defaults]

# Disable host key checking by the underlying tools Ansible uses to connect to target hosts
host_key_checking = False

# Location of inventory file containing target hosts
# inventory = ./inventory/inventory.yml

# Only gather Ansible facts if explicity directed to in a given play
gathering = explicit

# Disable the creation of .retry files if a playbook fails
retry_files_enabled = False

# Path(s) to search for installed Ansible Galaxy Collections
collections_paths = ~/.ansible/collections

# Enable additional Jinja2 Extensions (https://jinja.palletsprojects.com/en/3.1.x/extensions/)
jinja2_extensions = jinja2.ext.loopcontrols,jinja2.ext.do,jinja2.ext.i18n

# Enable the YAML callback plugin, providing much easier to read terminal output. (https://docs.ansible.com/ansible/latest/plugins/callback.html#callback-plugins)
stdout_callback = yaml

# Permit the use of callback plugins when running ad-hoc commands
bin_ansible_callbacks = True

# List of enabled callbacks. Many callbacks shipped with Ansible are not enabled by default
callbacks_enabled = profile_roles, profile_tasks, timer

# Maximum number of forks that Ansible will use to execute tasks on target hosts
forks = 15

# Disable cowsay (Why?)
nocows = True

# Disable deprecation warnings, more readable output
deprecation_warnings = False

#enable global vars
vars_plugins_enabled = arista.avd.global_vars, host_group_vars

#define global vars path
[vars_global_vars]
paths = ../../global_vars

[paramiko_connection]
# Automatically add the keys of target hosts to known hosts
host_key_auto_add = True

[persistent_connection]
# Set the amount of time, in seconds, to wait for response from remote device before timing out persistent connection.
command_timeout = 60

# Set the amount of time, in seconds, that a persistent connection will remain idle before it is destroyed.
connect_timeout = 60
11 changes: 11 additions & 0 deletions labs/L3LS_EVPN/extra_configs/inventory.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
LAB:
hosts:
s1-core1:
s1-core2:
s1-host1:
s1-host2:
s2-core1:
s2-core2:
s2-host1:
s2-host2:
57 changes: 57 additions & 0 deletions labs/L3LS_EVPN/extra_configs/s1-core1.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
! Command: show running-config
! device: s1-core1 (cEOSLab, EOS-4.29.0.2F-29226602.42902F (engineering build))
!
no aaa root
!
transceiver qsfp default-mode 4x10G
!
service routing protocols model multi-agent
!
hostname s1-core1
dns domain atd.lab
!
spanning-tree mode mstp
!
management api http-commands
no shutdown
!
vlan 1000
name dci
!
radius-server host 192.168.0.1 key 7 0207165218120E
!
aaa group server radius atds
server 192.168.0.1
!
aaa authentication login default group atds local
aaa authorization exec default group atds local
aaa authorization commands all default local
!
interface Ethernet1
shutdown
!
interface Ethernet2
switchport
switchport mode access
switchport access vlan 1000
!
interface Ethernet3
shutdown
!
interface Ethernet4
switchport
switchport mode access
switchport access vlan 1000
!
interface Ethernet6
shutdown
!
interface Management0
ip address 192.168.0.102/24
!
ip routing
!
ntp server 192.168.0.1 iburst source Management0
!
ip radius source-interface Management0
!
57 changes: 57 additions & 0 deletions labs/L3LS_EVPN/extra_configs/s1-core2.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
! Command: show running-config
! device: s1-core2 (cEOSLab, EOS-4.29.0.2F-29226602.42902F (engineering build))
!
no aaa root
!
transceiver qsfp default-mode 4x10G
!
service routing protocols model multi-agent
!
hostname s1-core2
dns domain atd.lab
!
spanning-tree mode mstp
!
management api http-commands
no shutdown
!
vlan 1000
name dci
!
radius-server host 192.168.0.1 key 7 0207165218120E
!
aaa group server radius atds
server 192.168.0.1
!
aaa authentication login default group atds local
aaa authorization exec default group atds local
aaa authorization commands all default local
!
interface Ethernet1
shutdown
!
interface Ethernet2
shutdown
!
interface Ethernet3
switchport
switchport mode access
switchport access vlan 1000
!
interface Ethernet4
switchport
switchport mode access
switchport access vlan 1000
!
interface Ethernet6
shutdown
!
interface Management0
ip address 192.168.0.103/24
!
ip routing
!
ntp server 192.168.0.1 iburst source Management0
!
ip radius source-interface Management0
!
16 changes: 16 additions & 0 deletions labs/L3LS_EVPN/extra_configs/s1-host1.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
!-----------------------------------------
! s1-host1 - Lab config
!-----------------------------------------
!
interface Port-Channel1
no switchport
ip address 10.10.10.100/24
!
interface Ethernet1
channel-group 1 mode active
!
interface Ethernet2
channel-group 1 mode active
!
ip route 10.0.0.0/8 10.10.10.1
!
16 changes: 16 additions & 0 deletions labs/L3LS_EVPN/extra_configs/s1-host2.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
!-----------------------------------------
! s1-host2 - Lab config
!-----------------------------------------
!
interface Port-Channel1
no switchport
ip address 10.20.20.100/24
!
interface Ethernet1
channel-group 1 mode active
!
interface Ethernet2
channel-group 1 mode active
!
ip route 10.0.0.0/8 10.20.20.1
!
57 changes: 57 additions & 0 deletions labs/L3LS_EVPN/extra_configs/s2-core1.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
! Command: show running-config
! device: s2-core1 (cEOSLab, EOS-4.29.0.2F-29226602.42902F (engineering build))
!
no aaa root
!
transceiver qsfp default-mode 4x10G
!
service routing protocols model multi-agent
!
hostname s2-core1
dns domain atd.lab
!
spanning-tree mode mstp
!
management api http-commands
no shutdown
!
vlan 1000
name dci
!
radius-server host 192.168.0.1 key 7 0207165218120E
!
aaa group server radius atds
server 192.168.0.1
!
aaa authentication login default group atds local
aaa authorization exec default group atds local
aaa authorization commands all default local
!
interface Ethernet1
shutdown
!
interface Ethernet2
switchport
switchport mode access
switchport access vlan 1000
!
interface Ethernet3
shutdown
!
interface Ethernet4
switchport
switchport mode access
switchport access vlan 1000
!
interface Ethernet6
shutdown
!
interface Management0
ip address 192.168.0.202/24
!
ip routing
!
ntp server 192.168.0.1 iburst source Management0
!
ip radius source-interface Management0
!
Loading

0 comments on commit 3f1a46b

Please sign in to comment.