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
Installation
It is recommended to run the project in the virtual environment.
Below you can find installation steps for Linux (ubuntu) server
- 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
git clone https://github.com/Cat9kEVPN/cat9k-evpn-ansible.git
- Install
pip
if it is not already installed
- 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
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