Commit 23d37912 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Merge branch 'feat/158-fixing-containerlab-lab-example' into 'develop'

Fixing containerlab hackfest example

See merge request !236
parents 68e713f6 865c004c
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
# 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
+10 −10
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
set / system management openconfig admin-state enable
set / system gnmi-server network-instance mgmt yang-models openconfig
+14 −8
Original line number Diff line number Diff line
@@ -23,35 +23,41 @@ mgmt:

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: srl.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: srl.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"]