From e41e43f205185532a4e64c7ee8a45dbe10ac8f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Tue, 30 Apr 2024 14:56:12 +0100 Subject: [PATCH 01/12] containerlab pre-configured lab --- hackfest/containerlab/srl1.cli | 0 hackfest/containerlab/srl2.cli | 0 hackfest/containerlab/tfs-scenario.clab.yml | 6 ++++++ 3 files changed, 6 insertions(+) create mode 100644 hackfest/containerlab/srl1.cli create mode 100644 hackfest/containerlab/srl2.cli diff --git a/hackfest/containerlab/srl1.cli b/hackfest/containerlab/srl1.cli new file mode 100644 index 000000000..e69de29bb diff --git a/hackfest/containerlab/srl2.cli b/hackfest/containerlab/srl2.cli new file mode 100644 index 000000000..e69de29bb diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index f79378757..8e3514630 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -47,11 +47,17 @@ topology: cpu: 0.1 memory: 100MB mgmt-ipv4: 172.100.100.201 + exec: + - ip address add 172.16.1.10/24 dev eth1 + - ip route add 172.16.2.0/24 via 172.16.1.1 client2: kind: linux cpu: 0.1 memory: 100MB mgmt-ipv4: 172.100.100.202 + exec: + - ip address add 172.16.2.10/24 dev eth1 + - ip route add 172.16.2.0/24 via 172.16.2.1 links: - endpoints: ["srl1:e1-1", "srl2:e1-1"] -- GitLab From 3f0db71ace25fcda364eaf2264753cccb4c064f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Tue, 30 Apr 2024 15:40:52 +0100 Subject: [PATCH 02/12] Configuration files --- hackfest/containerlab/srl1.cli | 17 +++++++++++++++++ hackfest/containerlab/srl2.cli | 17 +++++++++++++++++ hackfest/containerlab/tfs-scenario.clab.yml | 2 +- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/hackfest/containerlab/srl1.cli b/hackfest/containerlab/srl1.cli index e69de29bb..c72ae130a 100644 --- a/hackfest/containerlab/srl1.cli +++ b/hackfest/containerlab/srl1.cli @@ -0,0 +1,17 @@ +set / interface ethernet-1/2 admin-state enable +set / interface ethernet-1/2 subinterface 0 admin-state enable +set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.1.1/24 + +set / interface ethernet-1/1 admin-state enable +set / interface ethernet-1/1 subinterface 0 admin-state enable +set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.1/30 + +set / network-instance default +set / network-instance default interface ethernet-1/1.0 +set / network-instance default interface ethernet-1/2.0 + +set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable +set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable + +set / system management openconfig admin-state enable +set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file diff --git a/hackfest/containerlab/srl2.cli b/hackfest/containerlab/srl2.cli index e69de29bb..c72ae130a 100644 --- a/hackfest/containerlab/srl2.cli +++ b/hackfest/containerlab/srl2.cli @@ -0,0 +1,17 @@ +set / interface ethernet-1/2 admin-state enable +set / interface ethernet-1/2 subinterface 0 admin-state enable +set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.1.1/24 + +set / interface ethernet-1/1 admin-state enable +set / interface ethernet-1/1 subinterface 0 admin-state enable +set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.1/30 + +set / network-instance default +set / network-instance default interface ethernet-1/1.0 +set / network-instance default interface ethernet-1/2.0 + +set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable +set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable + +set / system management openconfig admin-state enable +set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index 8e3514630..ffb00dfc9 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -57,7 +57,7 @@ topology: mgmt-ipv4: 172.100.100.202 exec: - ip address add 172.16.2.10/24 dev eth1 - - ip route add 172.16.2.0/24 via 172.16.2.1 + - ip route add 172.16.1.0/24 via 172.16.2.1 links: - endpoints: ["srl1:e1-1", "srl2:e1-1"] -- GitLab From 185fbeb3c0b630baadae373658d683f069957d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Mon, 6 May 2024 15:22:28 +0100 Subject: [PATCH 03/12] Stable with previous version of SRLinux --- hackfest/containerlab/srl1.cli | 3 +-- hackfest/containerlab/srl2.cli | 5 ++--- hackfest/containerlab/tfs-descriptors/topology.json | 4 ++-- hackfest/containerlab/tfs-scenario.clab.yml | 13 ++++++------- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/hackfest/containerlab/srl1.cli b/hackfest/containerlab/srl1.cli index c72ae130a..b0e1b5c79 100644 --- a/hackfest/containerlab/srl1.cli +++ b/hackfest/containerlab/srl1.cli @@ -13,5 +13,4 @@ set / network-instance default interface ethernet-1/2.0 set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable -set / system management openconfig admin-state enable -set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file +set / system gnmi-server network-instance mgmt admin-state enable \ No newline at end of file diff --git a/hackfest/containerlab/srl2.cli b/hackfest/containerlab/srl2.cli index c72ae130a..a5c72d027 100644 --- a/hackfest/containerlab/srl2.cli +++ b/hackfest/containerlab/srl2.cli @@ -1,6 +1,6 @@ set / interface ethernet-1/2 admin-state enable set / interface ethernet-1/2 subinterface 0 admin-state enable -set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.1.1/24 +set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.2.1/24 set / interface ethernet-1/1 admin-state enable set / interface ethernet-1/1 subinterface 0 admin-state enable @@ -13,5 +13,4 @@ set / network-instance default interface ethernet-1/2.0 set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable -set / system management openconfig admin-state enable -set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file +set / system gnmi-server network-instance mgmt admin-state enable \ No newline at end of file diff --git a/hackfest/containerlab/tfs-descriptors/topology.json b/hackfest/containerlab/tfs-descriptors/topology.json index e4a49981f..f5d1c0d73 100644 --- a/hackfest/containerlab/tfs-descriptors/topology.json +++ b/hackfest/containerlab/tfs-descriptors/topology.json @@ -32,7 +32,7 @@ {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.100.100.101"}}, {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "57400"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { - "username": "admin", "password": "NokiaSrl1!", "use_tls": true + "username": "admin", "password": "admin", "use_tls": true }}} ]} }, @@ -42,7 +42,7 @@ {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.100.100.102"}}, {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "57400"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { - "username": "admin", "password": "NokiaSrl1!", "use_tls": true + "username": "admin", "password": "admin", "use_tls": true }}} ]} } diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index ffb00dfc9..950870b84 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -20,28 +20,27 @@ name: tfs-scenario mgmt: network: mgmt-net ipv4-subnet: 172.100.100.0/24 - topology: kinds: - srl: - image: ghcr.io/nokia/srlinux:23.3.1 + nokia_srlinux: + image: ghcr.io/nokia/srlinux:21.11.3 linux: image: ghcr.io/hellt/network-multitool nodes: srl1: - kind: srl + kind: nokia_srlinux type: ixr6 cpu: 0.5 memory: 1GB mgmt-ipv4: 172.100.100.101 - #startup-config: srl1.cli + startup-config: srl1.cli srl2: - kind: srl + kind: nokia_srlinux type: ixr6 cpu: 0.5 memory: 1GB mgmt-ipv4: 172.100.100.102 - #startup-config: srl2.cli + startup-config: srl2.cli client1: kind: linux cpu: 0.1 -- GitLab From c816a439e7256f1b283ca48b3d1484eae591dae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Tue, 30 Apr 2024 14:56:12 +0100 Subject: [PATCH 04/12] Final working version containerlab pre-configured lab Configuration files --- hackfest/containerlab/commands.txt | 20 +++++++++--------- hackfest/containerlab/srl1.cli | 16 ++++++++++++++ hackfest/containerlab/srl2.cli | 16 ++++++++++++++ hackfest/containerlab/tfs-scenario.clab.yml | 23 +++++++++++++-------- 4 files changed, 56 insertions(+), 19 deletions(-) create mode 100644 hackfest/containerlab/srl1.cli create mode 100644 hackfest/containerlab/srl2.cli diff --git a/hackfest/containerlab/commands.txt b/hackfest/containerlab/commands.txt index df5fbc0ce..ac91d4b08 100644 --- a/hackfest/containerlab/commands.txt +++ b/hackfest/containerlab/commands.txt @@ -83,19 +83,19 @@ $ssh admin@clab-tfs-scenario-srl1 # Check configurations done: -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/network-instances' > srl1-nis.json -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/interfaces' > srl1-ifs.json -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/network-instances' > srl2-nis.json -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/interfaces' > srl2-ifs.json +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/network-instances' > srl1-nis.json +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/interfaces' > srl1-ifs.json +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/network-instances' > srl2-nis.json +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/interfaces' > srl2-ifs.json # Delete elements: -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/network-instances/network-instance[name=b19229e8]' -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/1]/subinterfaces/subinterface[index=0]' -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/2]/subinterfaces/subinterface[index=0]' -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/network-instances/network-instance[name=b19229e8]' -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/1]/subinterfaces/subinterface[index=0]' -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/2]/subinterfaces/subinterface[index=0]' +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/network-instances/network-instance[name=b19229e8]' +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/1]/subinterfaces/subinterface[index=0]' +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/2]/subinterfaces/subinterface[index=0]' +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/network-instances/network-instance[name=b19229e8]' +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/1]/subinterfaces/subinterface[index=0]' +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/2]/subinterfaces/subinterface[index=0]' # Run gNMI Driver in standalone mode (advanced) PYTHONPATH=./src python -m src.device.tests.test_gnmi diff --git a/hackfest/containerlab/srl1.cli b/hackfest/containerlab/srl1.cli new file mode 100644 index 000000000..088a85eac --- /dev/null +++ b/hackfest/containerlab/srl1.cli @@ -0,0 +1,16 @@ +set / interface ethernet-1/2 admin-state enable +set / interface ethernet-1/2 subinterface 0 ipv4 admin-state enable +set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.1.1/24 + +set / interface ethernet-1/1 admin-state enable +set / interface ethernet-1/1 subinterface 0 ipv4 admin-state enable +set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.1/30 + +set / network-instance default interface ethernet-1/1.0 +set / network-instance default interface ethernet-1/2.0 + +set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable +set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable + +set / system management openconfig admin-state enable +set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file diff --git a/hackfest/containerlab/srl2.cli b/hackfest/containerlab/srl2.cli new file mode 100644 index 000000000..1a71a7169 --- /dev/null +++ b/hackfest/containerlab/srl2.cli @@ -0,0 +1,16 @@ +set / interface ethernet-1/2 admin-state enable +set / interface ethernet-1/2 subinterface 0 ipv4 admin-state enable +set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.2.1/24 + +set / interface ethernet-1/1 admin-state enable +set / interface ethernet-1/1 subinterface 0 ipv4 admin-state enable +set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.2/30 + +set / network-instance default interface ethernet-1/1.0 +set / network-instance default interface ethernet-1/2.0 + +set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.1 admin-state enable +set / network-instance default static-routes route 172.16.1.0/24 next-hop-group group1 admin-state enable + +set / system management openconfig admin-state enable +set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index f79378757..8b0ca6130 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -20,38 +20,43 @@ name: tfs-scenario mgmt: network: mgmt-net ipv4-subnet: 172.100.100.0/24 - topology: kinds: - srl: - image: ghcr.io/nokia/srlinux:23.3.1 + nokia_srlinux: + image: ghcr.io/nokia/srlinux:23.10.3 linux: image: ghcr.io/hellt/network-multitool nodes: srl1: - kind: srl + kind: nokia_srlinux type: ixr6 cpu: 0.5 - memory: 1GB + memory: 2GB mgmt-ipv4: 172.100.100.101 - #startup-config: srl1.cli + startup-config: srl1.cli srl2: - kind: srl + kind: nokia_srlinux type: ixr6 cpu: 0.5 - memory: 1GB + memory: 2GB mgmt-ipv4: 172.100.100.102 - #startup-config: srl2.cli + startup-config: srl2.cli client1: kind: linux cpu: 0.1 memory: 100MB mgmt-ipv4: 172.100.100.201 + exec: + - ip address add 172.16.1.10/24 dev eth1 + - ip route add 172.16.2.0/24 via 172.16.1.1 client2: kind: linux cpu: 0.1 memory: 100MB mgmt-ipv4: 172.100.100.202 + exec: + - ip address add 172.16.2.10/24 dev eth1 + - ip route add 172.16.1.0/24 via 172.16.2.1 links: - endpoints: ["srl1:e1-1", "srl2:e1-1"] -- GitLab From 770a0ca162bcac5498eb7fd1579558d41c603b4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Thu, 4 Jul 2024 14:34:16 +0100 Subject: [PATCH 05/12] Credentials fixed --- hackfest/containerlab/tfs-descriptors/topology.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hackfest/containerlab/tfs-descriptors/topology.json b/hackfest/containerlab/tfs-descriptors/topology.json index f5d1c0d73..e4a49981f 100644 --- a/hackfest/containerlab/tfs-descriptors/topology.json +++ b/hackfest/containerlab/tfs-descriptors/topology.json @@ -32,7 +32,7 @@ {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.100.100.101"}}, {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "57400"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { - "username": "admin", "password": "admin", "use_tls": true + "username": "admin", "password": "NokiaSrl1!", "use_tls": true }}} ]} }, @@ -42,7 +42,7 @@ {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.100.100.102"}}, {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "57400"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { - "username": "admin", "password": "admin", "use_tls": true + "username": "admin", "password": "NokiaSrl1!", "use_tls": true }}} ]} } -- GitLab From 278dd07fce20a91d61c5ac0494867b16d47b0384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Tue, 30 Apr 2024 14:56:12 +0100 Subject: [PATCH 06/12] containerlab pre-configured lab --- hackfest/containerlab/srl1.cli | 0 hackfest/containerlab/srl2.cli | 0 hackfest/containerlab/tfs-scenario.clab.yml | 6 ++++++ 3 files changed, 6 insertions(+) create mode 100644 hackfest/containerlab/srl1.cli create mode 100644 hackfest/containerlab/srl2.cli diff --git a/hackfest/containerlab/srl1.cli b/hackfest/containerlab/srl1.cli new file mode 100644 index 000000000..e69de29bb diff --git a/hackfest/containerlab/srl2.cli b/hackfest/containerlab/srl2.cli new file mode 100644 index 000000000..e69de29bb diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index f79378757..8e3514630 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -47,11 +47,17 @@ topology: cpu: 0.1 memory: 100MB mgmt-ipv4: 172.100.100.201 + exec: + - ip address add 172.16.1.10/24 dev eth1 + - ip route add 172.16.2.0/24 via 172.16.1.1 client2: kind: linux cpu: 0.1 memory: 100MB mgmt-ipv4: 172.100.100.202 + exec: + - ip address add 172.16.2.10/24 dev eth1 + - ip route add 172.16.2.0/24 via 172.16.2.1 links: - endpoints: ["srl1:e1-1", "srl2:e1-1"] -- GitLab From 891bb79d5a5dde9210d0c7e880879561646bb23a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Tue, 30 Apr 2024 15:40:52 +0100 Subject: [PATCH 07/12] Configuration files --- hackfest/containerlab/srl1.cli | 17 +++++++++++++++++ hackfest/containerlab/srl2.cli | 17 +++++++++++++++++ hackfest/containerlab/tfs-scenario.clab.yml | 2 +- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/hackfest/containerlab/srl1.cli b/hackfest/containerlab/srl1.cli index e69de29bb..c72ae130a 100644 --- a/hackfest/containerlab/srl1.cli +++ b/hackfest/containerlab/srl1.cli @@ -0,0 +1,17 @@ +set / interface ethernet-1/2 admin-state enable +set / interface ethernet-1/2 subinterface 0 admin-state enable +set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.1.1/24 + +set / interface ethernet-1/1 admin-state enable +set / interface ethernet-1/1 subinterface 0 admin-state enable +set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.1/30 + +set / network-instance default +set / network-instance default interface ethernet-1/1.0 +set / network-instance default interface ethernet-1/2.0 + +set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable +set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable + +set / system management openconfig admin-state enable +set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file diff --git a/hackfest/containerlab/srl2.cli b/hackfest/containerlab/srl2.cli index e69de29bb..c72ae130a 100644 --- a/hackfest/containerlab/srl2.cli +++ b/hackfest/containerlab/srl2.cli @@ -0,0 +1,17 @@ +set / interface ethernet-1/2 admin-state enable +set / interface ethernet-1/2 subinterface 0 admin-state enable +set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.1.1/24 + +set / interface ethernet-1/1 admin-state enable +set / interface ethernet-1/1 subinterface 0 admin-state enable +set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.1/30 + +set / network-instance default +set / network-instance default interface ethernet-1/1.0 +set / network-instance default interface ethernet-1/2.0 + +set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable +set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable + +set / system management openconfig admin-state enable +set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index 8e3514630..ffb00dfc9 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -57,7 +57,7 @@ topology: mgmt-ipv4: 172.100.100.202 exec: - ip address add 172.16.2.10/24 dev eth1 - - ip route add 172.16.2.0/24 via 172.16.2.1 + - ip route add 172.16.1.0/24 via 172.16.2.1 links: - endpoints: ["srl1:e1-1", "srl2:e1-1"] -- GitLab From 789d40024f3c76feb9e0fdffa837c06678483f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Mon, 6 May 2024 15:22:28 +0100 Subject: [PATCH 08/12] Stable with previous version of SRLinux --- hackfest/containerlab/srl1.cli | 3 +-- hackfest/containerlab/srl2.cli | 5 ++--- hackfest/containerlab/tfs-descriptors/topology.json | 4 ++-- hackfest/containerlab/tfs-scenario.clab.yml | 13 ++++++------- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/hackfest/containerlab/srl1.cli b/hackfest/containerlab/srl1.cli index c72ae130a..b0e1b5c79 100644 --- a/hackfest/containerlab/srl1.cli +++ b/hackfest/containerlab/srl1.cli @@ -13,5 +13,4 @@ set / network-instance default interface ethernet-1/2.0 set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable -set / system management openconfig admin-state enable -set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file +set / system gnmi-server network-instance mgmt admin-state enable \ No newline at end of file diff --git a/hackfest/containerlab/srl2.cli b/hackfest/containerlab/srl2.cli index c72ae130a..a5c72d027 100644 --- a/hackfest/containerlab/srl2.cli +++ b/hackfest/containerlab/srl2.cli @@ -1,6 +1,6 @@ set / interface ethernet-1/2 admin-state enable set / interface ethernet-1/2 subinterface 0 admin-state enable -set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.1.1/24 +set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.2.1/24 set / interface ethernet-1/1 admin-state enable set / interface ethernet-1/1 subinterface 0 admin-state enable @@ -13,5 +13,4 @@ set / network-instance default interface ethernet-1/2.0 set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable -set / system management openconfig admin-state enable -set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file +set / system gnmi-server network-instance mgmt admin-state enable \ No newline at end of file diff --git a/hackfest/containerlab/tfs-descriptors/topology.json b/hackfest/containerlab/tfs-descriptors/topology.json index e4a49981f..f5d1c0d73 100644 --- a/hackfest/containerlab/tfs-descriptors/topology.json +++ b/hackfest/containerlab/tfs-descriptors/topology.json @@ -32,7 +32,7 @@ {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.100.100.101"}}, {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "57400"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { - "username": "admin", "password": "NokiaSrl1!", "use_tls": true + "username": "admin", "password": "admin", "use_tls": true }}} ]} }, @@ -42,7 +42,7 @@ {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.100.100.102"}}, {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "57400"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { - "username": "admin", "password": "NokiaSrl1!", "use_tls": true + "username": "admin", "password": "admin", "use_tls": true }}} ]} } diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index ffb00dfc9..950870b84 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -20,28 +20,27 @@ name: tfs-scenario mgmt: network: mgmt-net ipv4-subnet: 172.100.100.0/24 - topology: kinds: - srl: - image: ghcr.io/nokia/srlinux:23.3.1 + nokia_srlinux: + image: ghcr.io/nokia/srlinux:21.11.3 linux: image: ghcr.io/hellt/network-multitool nodes: srl1: - kind: srl + kind: nokia_srlinux type: ixr6 cpu: 0.5 memory: 1GB mgmt-ipv4: 172.100.100.101 - #startup-config: srl1.cli + startup-config: srl1.cli srl2: - kind: srl + kind: nokia_srlinux type: ixr6 cpu: 0.5 memory: 1GB mgmt-ipv4: 172.100.100.102 - #startup-config: srl2.cli + startup-config: srl2.cli client1: kind: linux cpu: 0.1 -- GitLab From 787ad3d6546cea959e549343904ad17d47a92620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Tue, 30 Apr 2024 14:56:12 +0100 Subject: [PATCH 09/12] Final working version containerlab pre-configured lab Configuration files --- hackfest/containerlab/commands.txt | 20 ++++++++++---------- hackfest/containerlab/srl1.cli | 3 ++- hackfest/containerlab/srl2.cli | 14 +++++++------- hackfest/containerlab/tfs-scenario.clab.yml | 6 +++--- 4 files changed, 22 insertions(+), 21 deletions(-) diff --git a/hackfest/containerlab/commands.txt b/hackfest/containerlab/commands.txt index df5fbc0ce..ac91d4b08 100644 --- a/hackfest/containerlab/commands.txt +++ b/hackfest/containerlab/commands.txt @@ -83,19 +83,19 @@ $ssh admin@clab-tfs-scenario-srl1 # Check configurations done: -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/network-instances' > srl1-nis.json -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/interfaces' > srl1-ifs.json -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/network-instances' > srl2-nis.json -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/interfaces' > srl2-ifs.json +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/network-instances' > srl1-nis.json +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/interfaces' > srl1-ifs.json +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/network-instances' > srl2-nis.json +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf get --path '/interfaces' > srl2-ifs.json # Delete elements: -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/network-instances/network-instance[name=b19229e8]' -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/1]/subinterfaces/subinterface[index=0]' -gnmic -a 172.100.100.101 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/2]/subinterfaces/subinterface[index=0]' -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/network-instances/network-instance[name=b19229e8]' -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/1]/subinterfaces/subinterface[index=0]' -gnmic -a 172.100.100.102 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/2]/subinterfaces/subinterface[index=0]' +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/network-instances/network-instance[name=b19229e8]' +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/1]/subinterfaces/subinterface[index=0]' +gnmic -a clab-tfs-scenario-srl1 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/2]/subinterfaces/subinterface[index=0]' +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/network-instances/network-instance[name=b19229e8]' +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/1]/subinterfaces/subinterface[index=0]' +gnmic -a clab-tfs-scenario-srl2 -u admin -p NokiaSrl1! --skip-verify -e json_ietf set --delete '/interfaces/interface[name=ethernet-1/2]/subinterfaces/subinterface[index=0]' # Run gNMI Driver in standalone mode (advanced) PYTHONPATH=./src python -m src.device.tests.test_gnmi diff --git a/hackfest/containerlab/srl1.cli b/hackfest/containerlab/srl1.cli index b0e1b5c79..cf0f58363 100644 --- a/hackfest/containerlab/srl1.cli +++ b/hackfest/containerlab/srl1.cli @@ -13,4 +13,5 @@ set / network-instance default interface ethernet-1/2.0 set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable -set / system gnmi-server network-instance mgmt admin-state enable \ No newline at end of file +set / system management openconfig admin-state enable +set / system gnmi-server network-instance mgmt yang-models openconfig diff --git a/hackfest/containerlab/srl2.cli b/hackfest/containerlab/srl2.cli index a5c72d027..c932ca01a 100644 --- a/hackfest/containerlab/srl2.cli +++ b/hackfest/containerlab/srl2.cli @@ -1,16 +1,16 @@ set / interface ethernet-1/2 admin-state enable -set / interface ethernet-1/2 subinterface 0 admin-state enable +set / interface ethernet-1/2 subinterface 0 ipv4 admin-state enable set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.2.1/24 set / interface ethernet-1/1 admin-state enable -set / interface ethernet-1/1 subinterface 0 admin-state enable -set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.1/30 +set / interface ethernet-1/1 subinterface 0 ipv4 admin-state enable +set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.2/30 -set / network-instance default set / network-instance default interface ethernet-1/1.0 set / network-instance default interface ethernet-1/2.0 -set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable -set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable +set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.1 admin-state enable +set / network-instance default static-routes route 172.16.1.0/24 next-hop-group group1 admin-state enable -set / system gnmi-server network-instance mgmt admin-state enable \ No newline at end of file +set / system management openconfig admin-state enable +set / system gnmi-server network-instance mgmt yang-models openconfig diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index 950870b84..8b0ca6130 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -23,7 +23,7 @@ mgmt: topology: kinds: nokia_srlinux: - image: ghcr.io/nokia/srlinux:21.11.3 + image: ghcr.io/nokia/srlinux:23.10.3 linux: image: ghcr.io/hellt/network-multitool nodes: @@ -31,14 +31,14 @@ topology: kind: nokia_srlinux type: ixr6 cpu: 0.5 - memory: 1GB + memory: 2GB mgmt-ipv4: 172.100.100.101 startup-config: srl1.cli srl2: kind: nokia_srlinux type: ixr6 cpu: 0.5 - memory: 1GB + memory: 2GB mgmt-ipv4: 172.100.100.102 startup-config: srl2.cli client1: -- GitLab From 5b584d9e95cf9609c922f6515720440bd6b908d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Thu, 4 Jul 2024 14:34:16 +0100 Subject: [PATCH 10/12] Credentials fixed --- hackfest/containerlab/tfs-descriptors/topology.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hackfest/containerlab/tfs-descriptors/topology.json b/hackfest/containerlab/tfs-descriptors/topology.json index f5d1c0d73..e4a49981f 100644 --- a/hackfest/containerlab/tfs-descriptors/topology.json +++ b/hackfest/containerlab/tfs-descriptors/topology.json @@ -32,7 +32,7 @@ {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.100.100.101"}}, {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "57400"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { - "username": "admin", "password": "admin", "use_tls": true + "username": "admin", "password": "NokiaSrl1!", "use_tls": true }}} ]} }, @@ -42,7 +42,7 @@ {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.100.100.102"}}, {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "57400"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { - "username": "admin", "password": "admin", "use_tls": true + "username": "admin", "password": "NokiaSrl1!", "use_tls": true }}} ]} } -- GitLab From b6e7ee46f1310c19e5f61d9dabf3d425937f6309 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ara=C3=BAjo?= Date: Tue, 9 Jul 2024 15:06:43 +0100 Subject: [PATCH 11/12] Corrected Limit the static configuration of devices README added SRL cli configs --- hackfest/containerlab/README.md | 35 +++++++++++++++++++++ hackfest/containerlab/srl.cli | 2 ++ hackfest/containerlab/srl1.cli | 16 ---------- hackfest/containerlab/srl2.cli | 16 ---------- hackfest/containerlab/tfs-scenario.clab.yml | 4 +-- 5 files changed, 39 insertions(+), 34 deletions(-) create mode 100644 hackfest/containerlab/README.md create mode 100644 hackfest/containerlab/srl.cli delete mode 100644 hackfest/containerlab/srl1.cli delete mode 100644 hackfest/containerlab/srl2.cli diff --git a/hackfest/containerlab/README.md b/hackfest/containerlab/README.md new file mode 100644 index 000000000..e08e944e9 --- /dev/null +++ b/hackfest/containerlab/README.md @@ -0,0 +1,35 @@ +# ContainerLab + +The setup consists of a management network for configuring and managing nodes. +srl1 and srl2 are interconnected. +client1 is connected to srl1 and client2 to srl2. +Routing between client1 and client2 is set up via the Nokia SR Linux nodes. + +## Management Network +Name: mgmt-net +Subnet: 172.100.100.0/24 + +## Node Kinds +Nokia SR Linux: Image ghcr.io/nokia/srlinux:23.10.3 +Linux: Image ghcr.io/hellt/network-multitool + +## Nodes + +### Nokia SR Linux +- Type: ixr6 +- CPU: 0.5 +- Memory: 2GB +- Management IP: 172.100.100.101 + +The provided SR Linux CLI commands in the _srl.cli_ enables system management and configures the GNMI server with OpenConfig models. + +### Linux + +Assigns IP 172.16.1.10/24 to eth1 and adds route to 172.16.2.0/24 via 172.16.1.1 + +In this topology file, the clients are pre-configured with the respectivly IP addresses in their interfaces and routes in their IP tables. + +### Links +- Connect srl1:e1-1 to srl2:e1-1 +- Connect client1:eth1 to srl1:e1-2 +- Connect client2:eth1 to srl2:e1-2 \ No newline at end of file diff --git a/hackfest/containerlab/srl.cli b/hackfest/containerlab/srl.cli new file mode 100644 index 000000000..ec368cce9 --- /dev/null +++ b/hackfest/containerlab/srl.cli @@ -0,0 +1,2 @@ +set / system management openconfig admin-state enable +set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file diff --git a/hackfest/containerlab/srl1.cli b/hackfest/containerlab/srl1.cli deleted file mode 100644 index 0496e9c41..000000000 --- a/hackfest/containerlab/srl1.cli +++ /dev/null @@ -1,16 +0,0 @@ -set / interface ethernet-1/2 admin-state enable -set / interface ethernet-1/2 subinterface 0 ipv4 admin-state enable -set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.1.1/24 - -set / interface ethernet-1/1 admin-state enable -set / interface ethernet-1/1 subinterface 0 ipv4 admin-state enable -set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.1/30 - -set / network-instance default interface ethernet-1/1.0 -set / network-instance default interface ethernet-1/2.0 - -set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.2 admin-state enable -set / network-instance default static-routes route 172.16.2.0/24 next-hop-group group1 admin-state enable - -set / system management openconfig admin-state enable -set / system gnmi-server network-instance mgmt yang-models openconfig diff --git a/hackfest/containerlab/srl2.cli b/hackfest/containerlab/srl2.cli deleted file mode 100644 index c932ca01a..000000000 --- a/hackfest/containerlab/srl2.cli +++ /dev/null @@ -1,16 +0,0 @@ -set / interface ethernet-1/2 admin-state enable -set / interface ethernet-1/2 subinterface 0 ipv4 admin-state enable -set / interface ethernet-1/2 subinterface 0 ipv4 address 172.16.2.1/24 - -set / interface ethernet-1/1 admin-state enable -set / interface ethernet-1/1 subinterface 0 ipv4 admin-state enable -set / interface ethernet-1/1 subinterface 0 ipv4 address 172.0.0.2/30 - -set / network-instance default interface ethernet-1/1.0 -set / network-instance default interface ethernet-1/2.0 - -set / network-instance default next-hop-groups group group1 nexthop 1 ip-address 172.0.0.1 admin-state enable -set / network-instance default static-routes route 172.16.1.0/24 next-hop-group group1 admin-state enable - -set / system management openconfig admin-state enable -set / system gnmi-server network-instance mgmt yang-models openconfig diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index 8b0ca6130..7efc8cd10 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -33,14 +33,14 @@ topology: cpu: 0.5 memory: 2GB mgmt-ipv4: 172.100.100.101 - startup-config: srl1.cli + startup-config: srl.cli srl2: kind: nokia_srlinux type: ixr6 cpu: 0.5 memory: 2GB mgmt-ipv4: 172.100.100.102 - startup-config: srl2.cli + startup-config: srl.cli client1: kind: linux cpu: 0.1 -- GitLab From 67b3498800c5cebb69268c926b8186987b0323ee Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 16 Sep 2024 14:26:36 +0000 Subject: [PATCH 12/12] Pre-merge code cleanup --- hackfest/containerlab/srl.cli | 2 +- hackfest/containerlab/tfs-scenario.clab.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hackfest/containerlab/srl.cli b/hackfest/containerlab/srl.cli index ec368cce9..7d4987e22 100644 --- a/hackfest/containerlab/srl.cli +++ b/hackfest/containerlab/srl.cli @@ -1,2 +1,2 @@ set / system management openconfig admin-state enable -set / system gnmi-server network-instance mgmt yang-models openconfig \ No newline at end of file +set / system gnmi-server network-instance mgmt yang-models openconfig diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml index 7efc8cd10..c715a1a53 100644 --- a/hackfest/containerlab/tfs-scenario.clab.yml +++ b/hackfest/containerlab/tfs-scenario.clab.yml @@ -20,6 +20,7 @@ name: tfs-scenario mgmt: network: mgmt-net ipv4-subnet: 172.100.100.0/24 + topology: kinds: nokia_srlinux: -- GitLab