VXLAN EVPN Automation Project
This project aims to automate the creation and management of a VXLAN EVPN test lab using ContainerLab, Arista cEOS, Nokia SRLinux, and Netbox. The automation is primarily achieved through Ansible and Python scripts.
🖋️ NOTE: The environment used is Debian 12:
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
Table of Contents
Prerequisites
- Docker, ContainerLab, and Ansible installed.
- Images for Arista cEOS, Nokia SRLinux, and Linux Alpine downloaded.
- Python 3.11 with the necessary libraries installed (see
requirements.txt).
Installation
-
Clone the Repository:
git clone https://github.com/MasqAs/projet-vxlan-automation.git cd vxlan-evpn-automation-project -
Install Python Dependencies:
pip install -r requirements.txt -
Install Depedencies:
The instructions are described here : Installation Documentation
-
Start the Automation:
Follow the steps in Usage to start your lab.
Usage
-
Set Up the Lab:
sudo containerlab deploy --topo containerlab/lab_definition.yml -
Configure Netbox:
ansible-playbook ansible/playbooks/deploy_netbox.yml -
(Additional Steps):
Follow the additional instructions in
documentation/USAGE.md.
Project Structure
/ansible/- Contains all Ansible playbooks, roles, variables, and inventories./python-scripts/- Python scripts for various tasks./containerlab/- Definitions and configurations for ContainerLab./configs/- Initial configurations for network equipment./documentation/- Detailed project documentation./suzieq/- Files specific to SuzieQ.
For more details, please refer to documentation/STRUCTURE.md.
Contributions
Contributions are welcome! Please submit pull requests or open issues for any suggestions or corrections.
License
This project is licensed under the APACHE license. See the LICENSE file for more information.