Start dev (#4)
* Add Netbox configuration and plugins * Add Containerlab topology * Add template * Update Documentation
This commit is contained in:
65
README.md
65
README.md
@@ -1,45 +1,38 @@
|
||||
# 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.
|
||||
> [!WARNING]
|
||||
> Work in progress
|
||||
>
|
||||
|
||||
🖋️ **_NOTE_**: The environment used is Debian 12:
|
||||
|
||||
```bash
|
||||
Distributor ID: Debian
|
||||
Description: Debian GNU/Linux 12 (bookworm)
|
||||
Release: 12
|
||||
Codename: bookworm
|
||||
```
|
||||
This project aims to automate the creation and management of a VXLAN EVPN test lab using ContainerLab, Arista cEOS and Netbox 4.2.
|
||||
The automation is primarily achieved through Netbox Render Config and Python scripts.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Prerequisites](#prerequisites)
|
||||
2. [Installation](#installation)
|
||||
3. [Usage](#usage)
|
||||
4. [Project Structure](#project-structure)
|
||||
5. [Contributions](#contributions)
|
||||
6. [License](#license)
|
||||
7. [Sources](#sources)
|
||||
4. [Sources](#sources)
|
||||
|
||||
## 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`).
|
||||
- Python 3.13 with the necessary libraries installed (see `requirements.txt`).
|
||||
|
||||
## Installation
|
||||
|
||||
1. **Clone the Repository**:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/MasqAs/projet-vxlan-automation.git
|
||||
git clone https://github.com/darnodo/projet-vxlan-automation.git
|
||||
cd vxlan-evpn-automation-project
|
||||
```
|
||||
|
||||
2. **Install Python Dependencies**:
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
uv sync
|
||||
```
|
||||
|
||||
3. **Install Depedencies**:
|
||||
@@ -52,42 +45,18 @@ Codename: bookworm
|
||||
|
||||
## Usage
|
||||
|
||||
1. **Set Up the Lab**:
|
||||
- **Set Up Lab**:
|
||||
|
||||
```bash
|
||||
sudo containerlab deploy --topo containerlab/lab_definition.yml
|
||||
```
|
||||
```bash
|
||||
sudo containerlab deploy --topo containerlab/fabric_vxlan.yml
|
||||
```
|
||||
|
||||
2. **Configure Netbox**:
|
||||
- **Set Up Netbox**:
|
||||
|
||||
```bash
|
||||
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](LICENSE) file for more information.
|
||||
All details on installation [documentation](./documentation/INSTALLATION.md#install-netbox-and-plugins)
|
||||
|
||||
## Sources
|
||||
|
||||
- [ContainerLab](https://containerlab.dev/)
|
||||
- [The ASCII Construct](https://www.theasciiconstruct.com/post/multivendor-evpn-vxlan-l2-overlay/)
|
||||
- [NetBox Docker Plugin](https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins)
|
||||
- [Vector Netbox](https://www.vectornetworksllc.com/post/generating-network-device-configurations-from-netbox)
|
||||
|
||||
Reference in New Issue
Block a user