Use Nokia instead of Cisco
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# VXLAN EVPN Automation Project
|
# 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.
|
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.
|
||||||
|
|
||||||
🖋️ **_NOTE_**: The environment used is Debian 12:
|
🖋️ **_NOTE_**: The environment used is Debian 12:
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ Codename: bookworm
|
|||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- Docker, ContainerLab, and Ansible installed.
|
- Docker, ContainerLab, and Ansible installed.
|
||||||
- Images for Arista cEOS, Cisco N9Kv, and Linux Alpine downloaded.
|
- Images for Arista cEOS, Nokia SRLinux, and Linux Alpine downloaded.
|
||||||
- Python 3.11 with the necessary libraries installed (see `requirements.txt`).
|
- Python 3.11 with the necessary libraries installed (see `requirements.txt`).
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ topology:
|
|||||||
image: ceos:4.30.3M
|
image: ceos:4.30.3M
|
||||||
mgmt-ipv4: 172.20.20.11
|
mgmt-ipv4: 172.20.20.11
|
||||||
leaf2:
|
leaf2:
|
||||||
kind: vr-n9kv
|
kind: srl
|
||||||
image: vrnetlab/vr-n9kv:9.3.9
|
image: ghcr.io/nokia/srlinux
|
||||||
mgmt-ipv4: 172.20.20.12
|
mgmt-ipv4: 172.20.20.12
|
||||||
leaf3:
|
leaf3:
|
||||||
kind: vr-n9kv
|
kind: srl
|
||||||
image: vrnetlab/vr-n9kv:9.3.9
|
image: ghcr.io/nokia/srlinux
|
||||||
mgmt-ipv4: 172.20.20.13
|
mgmt-ipv4: 172.20.20.13
|
||||||
leaf4:
|
leaf4:
|
||||||
kind: ceos
|
kind: ceos
|
||||||
|
|||||||
@@ -74,56 +74,19 @@ To add this new image to docker, please use the docker CLI command :
|
|||||||
docker import cEOS-lab-4.30.3M.tar ceos:4.30.3M
|
docker import cEOS-lab-4.30.3M.tar ceos:4.30.3M
|
||||||
```
|
```
|
||||||
|
|
||||||
### Cisco N9Kv
|
### Cisco SR Linux
|
||||||
|
|
||||||
Cisco’s N9Kv is also available for free (again, locked behind an account registration).
|
|
||||||
Please, download the qcow2 image and move it to the vrnetlab/n9kv folder :
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
➜ n9kv git:(master) pwd
|
docker pull ghcr.io/nokia/srlinux
|
||||||
/opt/vrnetlab/n9kv
|
|
||||||
➜ n9kv git:(master) ls -l
|
|
||||||
total 1931856
|
|
||||||
drwxr-xr-x 2 root root 4096 8 oct. 13:44 docker
|
|
||||||
-rw-r--r-- 1 root root 508 8 oct. 13:44 Makefile
|
|
||||||
-rwxr--r-- 1 root root 1978204160 14 mai 2022 nxosv.10.2.3.qcow2
|
|
||||||
-rw-r--r-- 1 root root 585 8 oct. 13:44 README.md
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Be sure to use the "n9kv" folder and not the "nxos" folder - the "nxos" folder is for the older titanium images. Once the image is copied here, trigger "make" to build the docker image for this
|
|
||||||
|
|
||||||
```bash
|
|
||||||
➜ n9kv git:(master) sudo make
|
|
||||||
for IMAGE in nxosv.10.2.3.qcow2; do \
|
|
||||||
echo "Making $IMAGE"; \
|
|
||||||
make IMAGE=$IMAGE docker-build; \
|
|
||||||
done
|
|
||||||
Making nxosv.10.2.3.qcow2
|
|
||||||
make[1] : on entre dans le répertoire « /opt/vrnetlab/n9kv »
|
|
||||||
rm -f docker/*.qcow2* docker/*.tgz* docker/*.vmdk* docker/*.iso
|
|
||||||
Building docker image using nxosv.10.2.3.qcow2 as vrnetlab/vr-n9kv:10.2.3
|
|
||||||
cp ../common/* docker/
|
|
||||||
make IMAGE=$IMAGE docker-build-image-copy
|
|
||||||
make[2] : on entre dans le répertoire « /opt/vrnetlab/n9kv »
|
|
||||||
cp nxosv.10.2.3.qcow2* docker/
|
|
||||||
make[2] : on quitte le répertoire « /opt/vrnetlab/n9kv »
|
|
||||||
(cd docker; docker build --build-arg http_proxy= --build-arg https_proxy= --build-arg IMAGE=nxosv.10.2.3.qcow2 -t vrnetlab/vr-n9kv:10.2.3 .)
|
|
||||||
[+] Building 96.9s (10/10)
|
|
||||||
FINISHED
|
|
||||||
docker:default
|
|
||||||
|
|
||||||
[...]
|
|
||||||
|
|
||||||
=> [internal] load build definition from Dockerfile
|
|
||||||
make[1] : on quitte le répertoire « /opt/vrnetlab/n9kv »
|
|
||||||
```
|
|
||||||
|
|
||||||
Now you should see images available to use :
|
Now you should see images available to use :
|
||||||
```bash
|
```bash
|
||||||
➜ n9kv git:(master) sudo docker images
|
➜ projet-vxlan-automation git:(main) ✗ docker images
|
||||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||||
vrnetlab/vr-n9kv 9.3.9 75c3c348b49f 48 seconds ago 2.43GB
|
ceos 4.30.3M 63870e68ff8d 2 days ago 1.95GB
|
||||||
ceos 4.30.3M 63870e68ff8d 2 hours ago 1.95GB
|
ghcr.io/nokia/srlinux latest 801eb020ad70 11 days ago 2.59GB
|
||||||
```
|
```
|
||||||
|
|
||||||
## Sources
|
## Sources
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<mxfile host="65bd71144e">
|
<mxfile host="65bd71144e">
|
||||||
<diagram name="Page-1" id="O6sBWOfz2bUCuo58S4gg">
|
<diagram name="Page-1" id="O6sBWOfz2bUCuo58S4gg">
|
||||||
<mxGraphModel dx="1359" dy="888" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
<mxGraphModel dx="1082" dy="868" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
||||||
<root>
|
<root>
|
||||||
<mxCell id="0"/>
|
<mxCell id="0"/>
|
||||||
<mxCell id="1" parent="0"/>
|
<mxCell id="1" parent="0"/>
|
||||||
@@ -52,13 +52,13 @@
|
|||||||
<mxCell id="aTlmoTqcXMnjitFqs7Kw-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=none;endFill=0;strokeColor=#5c5c5c;flowAnimation=1;" parent="1" source="aTlmoTqcXMnjitFqs7Kw-11" target="aTlmoTqcXMnjitFqs7Kw-37" edge="1">
|
<mxCell id="aTlmoTqcXMnjitFqs7Kw-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=none;endFill=0;strokeColor=#5c5c5c;flowAnimation=1;" parent="1" source="aTlmoTqcXMnjitFqs7Kw-11" target="aTlmoTqcXMnjitFqs7Kw-37" edge="1">
|
||||||
<mxGeometry relative="1" as="geometry"/>
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="aTlmoTqcXMnjitFqs7Kw-11" value="<b style="">Cisco N9Kv</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
|
<mxCell id="aTlmoTqcXMnjitFqs7Kw-11" value="<b style="">Nokia SRLinux</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
|
||||||
<mxGeometry x="625" y="559" width="120" height="30" as="geometry"/>
|
<mxGeometry x="625" y="559" width="120" height="30" as="geometry"/>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="aTlmoTqcXMnjitFqs7Kw-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=none;endFill=0;strokeColor=#5c5c5c;flowAnimation=1;" parent="1" source="aTlmoTqcXMnjitFqs7Kw-12" target="aTlmoTqcXMnjitFqs7Kw-36" edge="1">
|
<mxCell id="aTlmoTqcXMnjitFqs7Kw-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=none;endFill=0;strokeColor=#5c5c5c;flowAnimation=1;" parent="1" source="aTlmoTqcXMnjitFqs7Kw-12" target="aTlmoTqcXMnjitFqs7Kw-36" edge="1">
|
||||||
<mxGeometry relative="1" as="geometry"/>
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="aTlmoTqcXMnjitFqs7Kw-12" value="<b style="">Cisco N9Kv</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
|
<mxCell id="aTlmoTqcXMnjitFqs7Kw-12" value="<b style="">Nokia SRLinux</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
|
||||||
<mxGeometry x="425" y="559" width="120" height="30" as="geometry"/>
|
<mxGeometry x="425" y="559" width="120" height="30" as="geometry"/>
|
||||||
</mxCell>
|
</mxCell>
|
||||||
<mxCell id="aTlmoTqcXMnjitFqs7Kw-19" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;strokeColor=#5c5c5c;flowAnimation=1;" parent="1" source="aTlmoTqcXMnjitFqs7Kw-14" target="aTlmoTqcXMnjitFqs7Kw-7" edge="1">
|
<mxCell id="aTlmoTqcXMnjitFqs7Kw-19" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=none;endFill=0;strokeColor=#5c5c5c;flowAnimation=1;" parent="1" source="aTlmoTqcXMnjitFqs7Kw-14" target="aTlmoTqcXMnjitFqs7Kw-7" edge="1">
|
||||||
|
|||||||
Reference in New Issue
Block a user