VXLAN EVPN Automation Project

This project aims to automate the creation and management of a VXLAN EVPN test lab using ContainerLab, Arista cEOS, Cisco N9Kv, 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

  1. Prerequisites
  2. Installation
  3. Usage
  4. Project Structure
  5. Contributions
  6. License
  7. Sources

Prerequisites

  • Docker, ContainerLab, and Ansible installed.
  • Images for Arista cEOS, Cisco N9Kv, and Linux Alpine downloaded.
  • Python 3.11 with the necessary libraries installed (see requirements.txt).

Installation

  1. Clone the Repository:

    git clone https://github.com/MasqAs/vxlan-evpn-automation-project.git
    cd vxlan-evpn-automation-project
    
  2. Install Python Dependencies:

    pip install -r requirements.txt
    
  3. Install Depedencies:

    The instructions are described here : Installation Documentation

  4. Start the Automation:

    Follow the steps in Usage to start your lab.

Usage

  1. Set Up the Lab:

    sudo containerlab deploy --topo containerlab/lab_definition.yml
    
  2. Configure Netbox:

    ansible-playbook ansible/playbooks/deploy_netbox.yml
    
  3. (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.

Sources

Description
This project aims to automate the creation and management of a VXLAN EVPN test lab using ContainerLab, Arista cEOS, and Netbox
Readme Apache-2.0 1.2 MiB
Languages
Python 88.2%
Jinja 11.8%