Skip to content

Commit 13f951f

Browse files
authored
Added netconf example for sros and gnmic url rename (#2327)
added netconf example for sros and gnmic url rename
1 parent 1c068f9 commit 13f951f

File tree

10 files changed

+44
-29
lines changed

10 files changed

+44
-29
lines changed

docs/lab-examples/min-5clos.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,32 @@
77
| **Name** | clos02 |
88

99
## Description
10+
1011
This labs provides a lightweight folded 5-stage CLOS fabric with Super Spine level bridging two PODs.
1112

1213
<div class="mxgraph" style="max-width:100%;border:1px solid transparent;margin:0 auto; display:block;" data-mxgraph="{&quot;page&quot;:7,&quot;zoom&quot;:1.5,&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;check-visible-state&quot;:true,&quot;resize&quot;:true,&quot;url&quot;:&quot;https://raw.githubusercontent.com/srl-labs/containerlab/diagrams/containerlab.drawio&quot;}"></div>
1314

1415
The topology is additionally equipped with the Linux containers connected to leaves to facilitate use cases which require access side emulation.
1516

1617
## Use cases
18+
1719
With this lightweight CLOS topology a user can exhibit the following scenarios:
1820

1921
* perform configuration tasks applied to the 5-stage CLOS fabric
2022
* demonstrate fabric behavior leveraging the user-emulating linux containers attached to the leaves
2123

2224
## Configuration setup
25+
2326
To help you get faster to the provisioning of the services on this mini fabric we added an auto-configuration script to this example.
2427

2528
In order to make a fully deterministic lab setup we added another topology file called [setup.clos02.clab.yml][setup-topofile] where the management interfaces of each network node and clients are statically addressed with [`mgmt-ipv4/6` config option](../manual/nodes.md#mgmt-ipv4). Other than that, the topology files does not have any changes.
2629

2730
### Prerequisites
28-
The configuration of the fabric elements is carried out with [`gnmic` client](https://gnmic.kmrd.dev/install/), therefore it needs to be installed on the machine where you run the lab.
31+
32+
The configuration of the fabric elements is carried out with [`gnmic` client](https://gnmic.openconfig.net/install/), therefore it needs to be installed on the machine where you run the lab.
2933

3034
### Run instructions
35+
3136
First deploy this topology as per usual:
3237

3338
```
@@ -40,11 +45,9 @@ Once the lab is deployed, execute the [configuration script][setup-script]:
4045
bash setup.sh
4146
```
4247

43-
44-
4548
### Configuration schema
46-
The [setup script][setup-script] will use the following IP addresses across the nodes of the lab:
4749

50+
The [setup script][setup-script] will use the following IP addresses across the nodes of the lab:
4851

4952
The script will configure the following:
5053

@@ -122,4 +125,4 @@ Configuration snippets that are used to provision the nodes are contained within
122125

123126
[^1]: Resource requirements are provisional. Consult with SR Linux Software Installation guide for additional information.
124127

125-
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js" async></script>
128+
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js" async></script>

docs/lab-examples/single-srl.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77
| **Name** | srl01 |
88

99
## Description
10+
1011
A lab consists of a single SR Linux container equipped with a single interface - its management interface. No other network/data interfaces are created.
1112

1213
<center><div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="{&quot;page&quot;:2,&quot;zoom&quot;:1.5,&quot;highlight&quot;:&quot;#0000ff&quot;,&quot;nav&quot;:true,&quot;check-visible-state&quot;:true,&quot;resize&quot;:true,&quot;url&quot;:&quot;https://raw.githubusercontent.com/srl-labs/containerlab/diagrams/containerlab.drawio&quot;}"></div></center>
1314

1415
The SR Linux's `mgmt` interface is connected to the `containerlab` docker network that is created as part of the lab deployment process. The `mgmt` interface of SRL will get IPv4/6 address information via DHCP service provided by docker daemon.
1516

1617
## Use cases
18+
1719
This lightweight lab enables the users to perform the following exercises:
1820

1921
* get familiar with SR Linux architecture
@@ -26,6 +28,6 @@ This lightweight lab enables the users to perform the following exercises:
2628
[topofile]: https://github.com/srl-labs/containerlab/tree/main/lab-examples/srl01/srl01.clab.yml
2729

2830
[^1]: Resource requirements are provisional. Consult with SR Linux Software Installation guide for additional information.
29-
[^2]: Check out [gnmic](https://gnmic.kmrd.dev) gNMI client to interact with SR Linux gNMI server.
31+
[^2]: Check out [gnmic](https://gnmic.openconfig.net/) gNMI client to interact with SR Linux gNMI server.
3032

31-
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js" async></script>
33+
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js" async></script>

docs/lab-examples/templated01.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,13 @@ Run `configure.sh` script to configure the lab
4545
bash configure.sh
4646
```
4747

48-
The `configure.sh` script relies on [gomplate](https://docs.gomplate.ca) and [gnmic](https://gnmic.kmrd.dev).
48+
The `configure.sh` script relies on [gomplate](https://docs.gomplate.ca) and [gnmic](https://gnmic.openconfig.net/).
4949

5050
- [gomplate](https://docs.gomplate.ca) is used to generate the necessary configuration variables based on the number of spines and leaves, their type and prefix.
51-
- [gnmic](https://gnmic.kmrd.dev) is used to generate configuration payloads per node and push it using a gNMI Set RPC.
51+
- [gnmic](https://gnmic.openconfig.net/) is used to generate configuration payloads per node and push it using a gNMI Set RPC.
5252

5353
[srl]: https://www.nokia.com/networks/products/service-router-linux-NOS/
5454
[topofile]: https://github.com/srl-labs/containerlab/tree/main/lab-examples/templated01/templated01.clab.gotmpl
5555
[topovarfile]: https://github.com/srl-labs/containerlab/tree/main/lab-examples/templated01/templated01.clab_vars.yaml
5656

57-
5857
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js" async></script>

docs/manual/kinds/ceos.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Arista cEOS node launched with containerlab can be managed via the following int
4545
```
4646
=== "gNMI"
4747
gNMI server is running over port 6030 in non-secure mode
48-
using the best in class [gnmic](https://gnmic.kmrd.dev) gNMI client as an example:
48+
using the best in class [gnmic](https://gnmic.openconfig.net/) gNMI client as an example:
4949
```bash
5050
gnmic -a <container-name/node-mgmt-address>:6030 --insecure \
5151
-u admin -p admin \

docs/manual/kinds/srl.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ docker exec -it <container-name/id> sr_cli
5050
or with SSH `ssh admin@<container-name>`
5151
///
5252
/// tab | gNMI
53-
using the best in class [gnmic](https://gnmic.kmrd.dev) gNMI client as an example:
53+
using the best in class [gnmic](https://gnmic.openconfig.net/) gNMI client as an example:
5454

5555
```bash
5656
gnmic -a <container-name/node-mgmt-address> --skip-verify \
@@ -93,28 +93,30 @@ SR Linux nodes come up with SNMPv2 server enabled and running on port 161. The d
9393

9494
```shell
9595
docker run -i -t ghcr.io/hellt/net-snmp-tools:5.9.4-r0 \
96-
snmpwalk -v 2c -c public $address
96+
snmpwalk -v 2c -c public <node-name>
9797
```
9898

9999
///
100100

101101
/// tab | NETCONF
102102
From SR Linux release 24.7.1 onwards, SR Linux comes with NETCONF server enabled and running on port 830.
103103

104+
Using [netconf-console2](https://github.com/hellt/netconf-console2-container):
105+
104106
```bash
105107
docker run --rm --network clab -i -t \
106108
ghcr.io/hellt/netconf-console2:3.0.1 \
107-
--host srl --port 830 -u admin -p 'NokiaSrl1!' \
109+
--host <node-name> --port 830 -u admin -p 'NokiaSrl1!' \
108110
--hello
109111
```
110112

111113
///
112114

113115
### Credentials
114116

115-
Default credentials[^4]: `admin:NokiaSrl1!`
117+
Default credentials[^1]: `admin:NokiaSrl1!`
116118

117-
Containerlab will automatically enable public-key authentication for `root`, `admin` and `linuxadmin` users if public key files are found at `~/.ssh` directory[^1].
119+
Containerlab will automatically enable public-key authentication for `root`, `admin` and `linuxadmin` users if public key files are found at `~/.ssh` directory[^2].
118120

119121
## Interfaces naming
120122

@@ -360,7 +362,7 @@ Besides augmenting the factory-provided `mgmt` gRPC server block, containerlab a
360362

361363
### SSH Keys
362364

363-
Containerlab will read the public keys found in `~/.ssh` directory of a sudo user as well as the contents of a `~/.ssh/authorized_keys` file if it exists[^2]. The public keys will be added to the startup configuration for `admin` and `linuxadmin` users to enable passwordless access.
365+
Containerlab will read the public keys found in `~/.ssh` directory of a sudo user as well as the contents of a `~/.ssh/authorized_keys` file if it exists[^4]. The public keys will be added to the startup configuration for `admin` and `linuxadmin` users to enable passwordless access.
364366

365367
### NETCONF
366368

@@ -477,7 +479,7 @@ The easiest way to enable SSSE3 instruction set is to configure the hypervisor t
477479

478480
Or it's also possible via the proxmox configuration file `/etc/pve/qemu-server/vmid.conf`.
479481

480-
[^1]: The `authorized_keys` file will be created with the content of all found public keys. This file will be bind-mounted using the respecting paths inside SR Linux to enable password-less access. Experimental feature.
481-
[^2]: If running with `sudo`, add `-E` flag to sudo to preserve user' home directory for this feature to work as expected.
482+
[^1]: Prior to SR Linux 22.11.1, the default credentials were `admin:admin`.
483+
[^2]: The `authorized_keys` file will be created with the content of all found public keys. This file will be bind-mounted using the respecting paths inside SR Linux to enable password-less access. Experimental feature.
482484
[^3]: CLI configs can be saved also in the "flat" format using `info flat` command.
483-
[^4]: Prior to SR Linux 22.11.1, the default credentials were `admin:admin`.
485+
[^4]: If running with `sudo`, add `-E` flag to sudo to preserve user' home directory for this feature to work as expected.

docs/manual/kinds/vr-sros.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,25 @@ ssh admin@<container-name/id>
3434
```
3535

3636
///
37-
/// tab | "NETCONF"
37+
/// tab | NETCONF
3838
NETCONF server is running over port 830
3939

4040
```bash
41-
ssh root@<container-name> -p 830 -s netconf
41+
ssh admin@<node-name> -p 830 -s netconf
42+
```
43+
44+
or using [netconf-console2](https://github.com/hellt/netconf-console2-container) container:
45+
46+
```bash
47+
docker run --rm --network clab -i -t \
48+
ghcr.io/hellt/netconf-console2:3.0.1 \
49+
--host <node-name> --port 830 -u admin -p 'admin' \
50+
--hello
4251
```
4352

4453
///
45-
/// tab | "gNMI"
46-
using the best in class [gnmic](https://gnmic.kmrd.dev) gNMI client as an example:
54+
/// tab | gNMI
55+
using the best in class [gnmic](https://gnmic.openconfig.net) gNMI client as an example:
4756

4857
```bash
4958
gnmic -a <container-name/node-mgmt-address> --insecure \
@@ -52,7 +61,7 @@ capabilities
5261
```
5362

5463
///
55-
/// tab | "Telnet"
64+
/// tab | Telnet
5665
serial port (console) is exposed over TCP port 5000:
5766

5867
```bash

docs/manual/kinds/vr-veos.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Arista vEOS node launched with containerlab can be managed via the following int
3434
ssh admin@<container-name> -p 830 -s netconf
3535
```
3636
=== "gNMI"
37-
using the best in class [gnmic](https://gnmic.kmrd.dev) gNMI client as an example:
37+
using the best in class [gnmic](https://gnmic.openconfig.net/) gNMI client as an example:
3838
```bash
3939
gnmic -a <container-name/node-mgmt-address>:6030 --insecure \
4040
-u admin -p admin \

docs/manual/kinds/vr-vmx.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Juniper vMX node launched with containerlab can be managed via the following int
3434
ssh admin@<container-name> -p 830 -s netconf
3535
```
3636
=== "gNMI"
37-
using the best in class [gnmic](https://gnmic.kmrd.dev) gNMI client as an example:
37+
using the best in class [gnmic](https://gnmic.openconfig.net/) gNMI client as an example:
3838
```bash
3939
gnmic -a <container-name/node-mgmt-address> --insecure \
4040
-u admin -p admin@123 \

docs/manual/kinds/vr-xrv.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Cisco XRv node launched with containerlab can be managed via the following inter
3535
ssh clab@<container-name> -p 830 -s netconf
3636
```
3737
=== "gNMI"
38-
using the best in class [gnmic](https://gnmic.kmrd.dev) gNMI client as an example:
38+
using the best in class [gnmic](https://gnmic.openconfig.net/) gNMI client as an example:
3939
```bash
4040
gnmic -a <container-name/node-mgmt-address> --insecure \
4141
-u clab -p clab@123 \

docs/manual/kinds/vr-xrv9k.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Cisco XRv9k node launched with containerlab can be managed via the following int
4848
ssh clab@<container-name> -p 830 -s netconf
4949
```
5050
=== "gNMI"
51-
using the best in class [gnmic](https://gnmic.kmrd.dev) gNMI client as an example:
51+
using the best in class [gnmic](https://gnmic.openconfig.net/) gNMI client as an example:
5252
```bash
5353
gnmic -a <container-name/node-mgmt-address> --insecure \
5454
-u clab -p clab@123 \

0 commit comments

Comments
 (0)