Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/clab-validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
branches:
- master
pull_request:
paths:
- 'Containerlab/**'
- 'Containerlab-SRL/**'

permissions:
contents: read
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/go-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on:
branches:
- main
pull_request:
paths:
- 'Probe/**'

permissions:
contents: read
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@

Diagrams/*.bkp

# Ansible related
ansible/venv/
ansible/.venv/

# Containerlab related
Containerlab/clab-aquila/.tls/
Containerlab/clab-aquila/*leaf*/
Expand Down
49 changes: 27 additions & 22 deletions Containerlab/aquila.clab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,33 @@ mgmt:

topology:
kinds:
juniper_vjunosrouter:
image: vrnetlab/juniper_vjunos-router:25.4R1.12
nokia_srlinux:
image: ghcr.io/nokia/srlinux
type: ixr-d3
linux:
image: rubydelusion/aquila:probe-latest

nodes:
# Leaves
leaf1:
kind: juniper_vjunosrouter
kind: nokia_srlinux
mgmt-ipv4: 192.168.10.254
startup-config: ./configs/leaf1.cfg
group: site1
leaf2:
kind: juniper_vjunosrouter
kind: nokia_srlinux
mgmt-ipv4: 192.168.10.253
startup-config: ./configs/leaf2.cfg
group: site2
leaf3:
kind: juniper_vjunosrouter
kind: nokia_srlinux
mgmt-ipv4: 192.168.10.252
startup-config: ./configs/leaf3.cfg
group: site3
leaf4:
kind: juniper_vjunosrouter
kind: nokia_srlinux
mgmt-ipv4: 192.168.10.251
startup-config: ./configs/leaf3.cfg
group: site4

# Probes
Expand Down Expand Up @@ -56,23 +61,23 @@ topology:

links:
# Inter-Leaf links
- endpoints: [ "leaf1:eth9", "leaf2:eth9" ]
- endpoints: [ "leaf1:eth10", "leaf2:eth10" ]
- endpoints: [ "leaf1:eth11", "leaf3:eth11" ]
- endpoints: [ "leaf1:eth12", "leaf3:eth12" ]
- endpoints: [ "leaf2:eth11", "leaf4:eth11" ]
- endpoints: [ "leaf2:eth12", "leaf4:eth12" ]
- endpoints: [ "leaf3:eth9", "leaf4:eth9" ]
- endpoints: [ "leaf3:eth10", "leaf4:eth10" ]
- endpoints: [ "leaf1:ethernet-1/9", "leaf2:ethernet-1/9" ]
- endpoints: [ "leaf1:ethernet-1/10", "leaf2:ethernet-1/10" ]
- endpoints: [ "leaf1:ethernet-1/11", "leaf3:ethernet-1/11" ]
- endpoints: [ "leaf1:ethernet-1/12", "leaf3:ethernet-1/12" ]
- endpoints: [ "leaf2:ethernet-1/11", "leaf4:ethernet-1/11" ]
- endpoints: [ "leaf2:ethernet-1/12", "leaf4:ethernet-1/12" ]
- endpoints: [ "leaf3:ethernet-1/9", "leaf4:ethernet-1/9" ]
- endpoints: [ "leaf3:ethernet-1/10", "leaf4:ethernet-1/10" ]

# Leaf-Probe links
- endpoints: [ "probe-leaf1:eth2", "leaf1:eth1" ]
- endpoints: [ "probe-leaf2:eth2", "leaf2:eth1" ]
- endpoints: [ "probe-leaf3:eth2", "leaf3:eth1" ]
- endpoints: [ "probe-leaf4:eth2", "leaf4:eth1" ]
- endpoints: [ "probe-leaf1:eth1", "leaf1:ethernet-1/1" ]
- endpoints: [ "probe-leaf2:eth1", "leaf2:ethernet-1/1" ]
- endpoints: [ "probe-leaf3:eth1", "leaf3:ethernet-1/1" ]
- endpoints: [ "probe-leaf4:eth1", "leaf4:ethernet-1/1" ]

# Orchestrator-Probe links
- endpoints: [ "orchestrator:eth1", "probe-leaf1:eth1" ]
- endpoints: [ "orchestrator:eth2", "probe-leaf2:eth1" ]
- endpoints: [ "orchestrator:eth3", "probe-leaf3:eth1" ]
- endpoints: [ "orchestrator:eth4", "probe-leaf4:eth1" ]
- endpoints: [ "orchestrator:eth1", "probe-leaf1:eth2" ]
- endpoints: [ "orchestrator:eth2", "probe-leaf2:eth2" ]
- endpoints: [ "orchestrator:eth3", "probe-leaf3:eth2" ]
- endpoints: [ "orchestrator:eth4", "probe-leaf4:eth2" ]
36 changes: 36 additions & 0 deletions Containerlab/clab-aquila/ansible-inventory.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
all:
vars:
# The generated inventory is assumed to be used from the clab host.
# Hence no http proxy should be used. Therefore we make sure the http
# module does not attempt using any global http proxy.
ansible_httpapi_use_proxy: false
children:
linux:
hosts:
clab-aquila-orchestrator:
ansible_host: 192.168.10.4
clab-aquila-probe-leaf1:
ansible_host: 192.168.10.5
clab-aquila-probe-leaf2:
ansible_host: 192.168.10.6
clab-aquila-probe-leaf3:
ansible_host: 192.168.10.7
clab-aquila-probe-leaf4:
ansible_host: 192.168.10.8
nokia_srlinux:
vars:
ansible_network_os: nokia.srlinux.srlinux
# default connection type for nodes of this kind
# feel free to override this in your inventory
ansible_connection: ansible.netcommon.httpapi
ansible_user: admin
ansible_password: NokiaSrl1!
hosts:
clab-aquila-leaf1:
ansible_host: 192.168.10.254
clab-aquila-leaf2:
ansible_host: 192.168.10.253
clab-aquila-leaf3:
ansible_host: 192.168.10.252
clab-aquila-leaf4:
ansible_host: 192.168.10.251
46 changes: 46 additions & 0 deletions Containerlab/clab-aquila/nornir-simple-inventory.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
orchestrator:
username:
password:
platform: linux
hostname: 192.168.10.4
probe-leaf1:
username:
password:
platform: linux
hostname: 192.168.10.5
probe-leaf2:
username:
password:
platform: linux
hostname: 192.168.10.6
probe-leaf3:
username:
password:
platform: linux
hostname: 192.168.10.7
probe-leaf4:
username:
password:
platform: linux
hostname: 192.168.10.8
leaf1:
username: admin
password: NokiaSrl1!
platform: nokia_srlinux
hostname: 192.168.10.254
leaf2:
username: admin
password: NokiaSrl1!
platform: nokia_srlinux
hostname: 192.168.10.253
leaf3:
username: admin
password: NokiaSrl1!
platform: nokia_srlinux
hostname: 192.168.10.252
leaf4:
username: admin
password: NokiaSrl1!
platform: nokia_srlinux
hostname: 192.168.10.251
56 changes: 56 additions & 0 deletions Containerlab/configs/leaf1.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
set / interface lag102 admin-state enable
set / interface lag102 lag lag-type lacp
set / interface lag102 lag min-links 1
set / interface lag102 lag lacp interval FAST
set / interface lag102 lag lacp lacp-mode ACTIVE

set / interface lag103 admin-state enable
set / interface lag103 lag lag-type lacp
set / interface lag103 lag min-links 1
set / interface lag103 lag lacp interval FAST
set / interface lag103 lag lacp lacp-mode ACTIVE

set / interface lo0 admin-state enable
set / interface lo0 subinterface 1 admin-state enable
set / interface lo0 subinterface 1 ipv4 admin-state enable
set / interface lo0 subinterface 1 ipv4 address 10.0.0.1/32
set / network-instance default interface lo0.1
set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lo0.1
set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lo0.1 passive true

set / interface ethernet-1/9 admin-state enable
set / interface ethernet-1/9 ethernet aggregate-id lag102
set / interface ethernet-1/9 ethernet port-speed 25G
set / interface ethernet-1/9 description ISL-leaf2-eth-1/9
set / interface ethernet-1/10 admin-state enable
set / interface ethernet-1/10 ethernet aggregate-id lag102
set / interface ethernet-1/10 ethernet port-speed 25G
set / interface ethernet-1/10 description ISL-leaf2-eth-1/10

set / interface ethernet-1/11 admin-state enable
set / interface ethernet-1/11 ethernet aggregate-id lag103
set / interface ethernet-1/11 ethernet port-speed 25G
set / interface ethernet-1/11 description ISL-leaf3-eth-1/11
set / interface ethernet-1/12 admin-state enable
set / interface ethernet-1/12 ethernet aggregate-id lag103
set / interface ethernet-1/12 ethernet port-speed 25G
set / interface ethernet-1/12 description ISL-leaf3-eth-1/12

set / interface lag102 subinterface 1 admin-state enable
set / interface lag102 subinterface 1 ipv4 admin-state enable
set / interface lag102 subinterface 1 ipv4 address 172.16.10.0/31

set / interface lag103 subinterface 1 admin-state enable
set / interface lag103 subinterface 1 ipv4 admin-state enable
set / interface lag103 subinterface 1 ipv4 address 172.16.10.2/31

set / network-instance default interface lag102.1
set / network-instance default interface lag103.1

set / network-instance default protocols ospf instance aquila admin-state enable
set / network-instance default protocols ospf instance aquila version ospf-v2
set / network-instance default protocols ospf instance aquila router-id 0.0.0.1
set / network-instance default protocols ospf instance aquila area 0.0.0.0

set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lag102.1
set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lag103.1
35 changes: 35 additions & 0 deletions Containerlab/configs/leaf2.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
set / interface lag102 admin-state enable
set / interface lag102 lag lag-type lacp
set / interface lag102 lag min-links 1
set / interface lag102 lag lacp interval FAST
set / interface lag102 lag lacp lacp-mode ACTIVE

set / interface lo0 admin-state enable
set / interface lo0 subinterface 1 admin-state enable
set / interface lo0 subinterface 1 ipv4 admin-state enable
set / interface lo0 subinterface 1 ipv4 address 10.0.0.2/32
set / network-instance default interface lo0.1
set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lo0.1
set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lo0.1 passive true

set / interface ethernet-1/9 admin-state enable
set / interface ethernet-1/9 ethernet aggregate-id lag102
set / interface ethernet-1/9 ethernet port-speed 25G
set / interface ethernet-1/9 description ISL-leaf1-eth-1/9
set / interface ethernet-1/10 admin-state enable
set / interface ethernet-1/10 ethernet aggregate-id lag102
set / interface ethernet-1/10 ethernet port-speed 25G
set / interface ethernet-1/10 description ISL-leaf1-eth-1/10

set / interface lag102 subinterface 1 admin-state enable
set / interface lag102 subinterface 1 ipv4 admin-state enable
set / interface lag102 subinterface 1 ipv4 address 172.16.10.1/31

set / network-instance default interface lag102.1

set / network-instance default protocols ospf instance aquila admin-state enable
set / network-instance default protocols ospf instance aquila version ospf-v2
set / network-instance default protocols ospf instance aquila router-id 0.0.0.2
set / network-instance default protocols ospf instance aquila area 0.0.0.0

set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lag102.1
35 changes: 35 additions & 0 deletions Containerlab/configs/leaf3.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
set / interface lag103 admin-state enable
set / interface lag103 lag lag-type lacp
set / interface lag103 lag min-links 1
set / interface lag103 lag lacp interval FAST
set / interface lag103 lag lacp lacp-mode ACTIVE

set / interface lo0 admin-state enable
set / interface lo0 subinterface 1 admin-state enable
set / interface lo0 subinterface 1 ipv4 admin-state enable
set / interface lo0 subinterface 1 ipv4 address 10.0.0.3/32
set / network-instance default interface lo0.1
set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lo0.1
set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lo0.1 passive true

set / interface ethernet-1/11 admin-state enable
set / interface ethernet-1/11 ethernet aggregate-id lag103
set / interface ethernet-1/11 ethernet port-speed 25G
set / interface ethernet-1/11 description ISL-leaf1-eth-1/11
set / interface ethernet-1/12 admin-state enable
set / interface ethernet-1/12 ethernet aggregate-id lag103
set / interface ethernet-1/12 ethernet port-speed 25G
set / interface ethernet-1/12 description ISL-leaf1-eth-1/12

set / interface lag103 subinterface 1 admin-state enable
set / interface lag103 subinterface 1 ipv4 admin-state enable
set / interface lag103 subinterface 1 ipv4 address 172.16.10.3/31

set / network-instance default interface lag103.1

set / network-instance default protocols ospf instance aquila admin-state enable
set / network-instance default protocols ospf instance aquila version ospf-v2
set / network-instance default protocols ospf instance aquila router-id 0.0.0.3
set / network-instance default protocols ospf instance aquila area 0.0.0.0

set / network-instance default protocols ospf instance aquila area 0.0.0.0 interface lag103.1
13 changes: 0 additions & 13 deletions Containerlab/junos-base.txt

This file was deleted.

Loading