This repository is configured to run arista.cvp
& arista.avd
ansible collections against the Arista Level 5 lab Topology.
The ATD Lab topology consists of two sets (DC1, DC2) of 3 Spines, 6 Leafs and 4 Hosts, as shown below.
Currently this demo only works on DC1. (DC2 and a DCI will be added in the future.)
Device | IP Address |
---|---|
spine1-DC1 | 192.168.0.11 |
spine2-DC1 | 192.168.0.12 |
spine3-DC1 | 192.168.0.13 |
leaf1-DC1 | 192.168.0.21 |
leaf2-DC1 | 192.168.0.22 |
leaf3-DC1 | 192.168.0.23 |
leaf4-DC1 | 192.168.0.24 |
borderleaf1-DC1 | 192.168.0.25 |
borderleaf2-DC1 | 192.168.0.26 |
host1-DC1 | 192.168.0.51 |
host2-DC1 | 192.168.0.52 |
Currently AVD for Level 5 works on only DC1
Connect to your ATD Lab environment. Once connected to the ATD Lab instance, select the Programmability IDE. This container is built with all the necessary requirements and python modules to run AVD playbooks.
# Setup your git global config (optional)
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
# Add arista.cvp, arista.avd, and update certain libraires
ansible-galaxy collection install arista.cvp
ansible-galaxy collection install arista.avd
pip install cvprac --upgrade
# Clone this repo
git clone https://github.com/tonybourkesdnpros/AVD-Level5.git
# Move to directory
cd AVD-Level5
# Update Inventory with Lab Credentials
edit credentials in vscode: AVD-Level5/atd-inventory/inventory.yml
# Run Playbook to Prepare CloudVision for AVD
$ ansible-playbook playbooks/atd-prepare-lab.yml
# Execute Tasks in CVP manually
# Run Playbook to build configurations with the "build" tag
$ ansible-playbook playbooks/atd-fabric-deploy.yml --tags build
#This will create the configurations for the leafs and spines, but will not deploy them just yet. This is a good way to talk through documentations, SSoT files, etc.
# Run Playbook to build configurations and deploy
$ ansible-playbook playbooks/atd-fabric-deploy.yml
# Execute Tasks in CVP manually
# Run audit playbook to validate Fabric states
$ ansible-playbook playbooks/atd-validate-states.yml
# Execute EOS_SNAPSHOT role to collect show commands
$ ansible-playbook playbooks/atd-snapshot.yml
A complete step-by-step guide is available
Project is published under Apache License.