This repository contains the materials needed to recreate my CloudX 2024 presentation on implementing network validation using CI/CD pipelines. The project showcases how to automate network validation processes using modern DevOps practices.
Presentation Name - Building Robust Networks: The Power of CI/CD in Network Validation
# Fork this repository using GitHub UI
git clone https://github.com/[YOUR_USERNAME]/cloudx_cicd_network_validation.git
cd cloudx_cicd_network_validation
Due to licensing requirements, the Arista cEOS image must be downloaded separately:
- Download the cEOS image from Arista's Software Download Page
- Configure Git LFS in your repository:
git lfs install git lfs track "*.tar" git add .gitattributes
- Add the cEOS image to your repository:
git add [cEOS image file] git commit -m "Add cEOS image" git push origin [branch]
When you create a Pull Request, GitHub Actions will:
- Download the cEOS image from Git LFS
- Run pre-validation on device configs
- Set up the test environment using containerlab
- Run post-validation
- Make your network configuration changes
- Create a new branch:
git checkout -b feature/your-change
- Commit your changes and push:
git add . git commit -m "Description of your changes" git push origin feature/your-change
- Create a Pull Request on GitHub
- Monitor the automated tests in the GitHub Actions tab
you can use github codespaces to create containerlab network to play around and manipulate the configs