Skip to content

Cat9kEVPN/cat9k-evpn-ansible

Repository files navigation

About

The main goal of this project is the automation of Campus EVPN Deployment based on Catalyst 9000.

Custom Jinja templates and Python modules are used to build an initial config and modify the network configuration.

Project has a modular structure which gives an ability to introduce new features/services gradually step-by-step.

Prerequisites

To run Cisco cat9k EVPN ansible playbook, you will require:

Hardware:

  • A linux server (Fedroa, Ubuntu, RedHat, etc)
  • Cat9k Switches supporting EVPN (from x release)

Network-Expertise:

  • Basic network knowledge (network design, bring up of cat9k switches)
  • Basic understanding of YAML
  • Basic understanding of Python
  • Basic linux command line use

General description

ansible

Installation

It is recommended to run the project in the virtual environment.

Below you can find installation steps for Linux (ubuntu) server

  • Install python3
    sudo apt install python3
  • Create the python virtual environment. In this example the virtual environment will be created in the folder virtual-env/ansible
    python3 -m venv virtual-env/ansible

More details could be found here

  • Activate virtual environment.
    source virtual-env/ansible/bin/activate
  • Clone the repository
    git clone https://github.com/Cat9kEVPN/cat9k-evpn-ansible.git
  • Go to project directory
    cd cat9k-evpn-ansible/
  • Install pip if it is not already installed
    sudo apt install pip
  • Install all necessary packages
    pip install -r requirements.txt
  • Or you can do it manually
    pip install ansible
    pip install ansible-pylibssh
    pip install paramiko
    pip install pyats
    pip install genie

Documentation

Detailed documentation could be found here

Ask a question

If you have any questions, please leverage the GitHub discussions board

Release notes

2.1.0

  • L2VNI added
  • L3VNI added

2.0.0

  • Precheck of configuration file is added
  • Access interface configuration is added
  • Incremental changes configuration is automated and simplified
  • Moving L2VPN EVPN relatead information from group_vars/all.yml to group_vars/overlay_db.yml
  • Documentation update

1.0.0

  • The release is depricated
  • The code is still avaliable in the branch releases/v1.x.x