-
Notifications
You must be signed in to change notification settings - Fork 584
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #143 from kpbush30/main
Feat: New ANTA and AVD Network Testing Labs
- Loading branch information
Showing
36 changed files
with
1,084 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
.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: validate-site-1 | ||
validate-site-1: ## Validate network state | ||
ansible-playbook playbooks/validate.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: validate-site-2 | ||
validate-site-2: ## Validate network state | ||
ansible-playbook playbooks/validate.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" | ||
|
||
######################################################## | ||
# ANTA COMMANDS | ||
######################################################## | ||
|
||
|
||
.PHONY: anta-inv-site-1 | ||
anta-inv-site-1: ## Generate ANTA Inventory | ||
anta get from-ansible --ansible-inventory sites/site_1/inventory.yml -g SITE1_FABRIC -o sites/site_1/anta_inventory.yml | ||
|
||
.PHONY: anta-inv-site-2 | ||
anta-inv-site-2: ## Generate ANTA Inventory | ||
anta get from-ansible --ansible-inventory sites/site_2/inventory.yml -g SITE2_FABRIC -o sites/site_2/anta_inventory.yml | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
! |
Oops, something went wrong.