Skip to content

Commit 3065a43

Browse files
authored
Rn 0.61.0 (srl-labs#2377)
* format * added rn 0.61
1 parent c7ffecb commit 3065a43

File tree

6 files changed

+63
-7
lines changed

6 files changed

+63
-7
lines changed

clab/config_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -770,7 +770,8 @@ func TestStartupConfigInit(t *testing.T) {
770770

771771
cwd, _ := os.Getwd()
772772
if c.Nodes[tc.node].Config().StartupConfig != filepath.Join(cwd, tc.want) {
773-
t.Errorf("want startup-config %q got startup-config %q", filepath.Join(cwd, tc.want), c.Nodes[tc.node].Config().StartupConfig)
773+
t.Errorf("want startup-config %q got startup-config %q",
774+
filepath.Join(cwd, tc.want), c.Nodes[tc.node].Config().StartupConfig)
774775
}
775776
})
776777
}

cmd/destroy.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ func destroyFn(_ *cobra.Command, _ []string) error {
7070
return nil
7171
}
7272

73-
topos[cnts[0].Labels[labels.TopoFile]] = filepath.Dir(cnts[0].Labels[labels.NodeLabDir])
73+
topos[cnts[0].Labels[labels.TopoFile]] =
74+
filepath.Dir(cnts[0].Labels[labels.NodeLabDir])
7475

7576
case all:
7677
containers, err := listContainers(ctx, topo)

docs/manual/kinds/srl.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ Nokia SR Linux nodes support setting of [SANs](../nodes.md#subject-alternative-n
351351

352352
Starting with SR Linux 24.3.1, the gRPC server config block is used to configure gRPC-based services such as gNMI, gNOI, gRIBI and P4RT. The factory configuration includes the `mgmt` gRPC server block to which containerlab adds all those services and:
353353

354-
* generated TLS profile
354+
* generated TLS profile - `clab-profile`
355355
* unix-socket access for gRPC services
356356
* increased rate limit
357357
* trace options
@@ -360,6 +360,14 @@ These additions are meant to make all gRPC services available to the user out of
360360

361361
Besides augmenting the factory-provided `mgmt` gRPC server block, containerlab also adds a new `insecure-mgmt` gRPC server that provides the same services as the `mgmt` server but without TLS. This server runs on port 57401 and is meant to be used for testing purposes as well as for local gNMI clients running as part of the NDK apps or local Event Handler scripts.
362362

363+
#### EDA support
364+
365+
To ensure that Containerlab-provisioned SR Linux nodes can be managed by Nokia EDA a set of gRPC servers is added:
366+
367+
* `eda-discovery` - provides support for EDA discovery
368+
* `eda-mgmt` - gRPC server that references `EDA` TLS security profile that EDA setups with gNSI
369+
* `eda-insecure-mgmt` - insecure version of the `eda-mgmt` gRPC server
370+
363371
### SSH Keys
364372

365373
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.

docs/manual/nodes.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ Check the particular kind documentation to see if the startup-config is supporte
177177
startup-config: cfgs/__clabNodeName__.partial.cfg
178178
```
179179

180-
The `__clabNodeName__` variable can also be used in the kind and default sections of the config. Using the same directory structure from the example above, the following shows how to use the magic varable for a kind.
180+
The `__clabNodeName__` variable can also be used in the kind and default sections of the config. Using the same directory structure from the example above, the following shows how to use the magic variable for a kind.
181181

182182
```yaml
183183
name: mylab
@@ -203,11 +203,11 @@ Check the particular kind documentation to see if the startup-config is supporte
203203
nodes:
204204
node1:
205205
node2:
206-
```
206+
```
207207

208208
#### embedded startup-config
209209

210-
It is possible to embed the startup configuraion in the topology file itself. This is done by providing the startup-config as a multiline string.
210+
It is possible to embed the startup configuration in the topology file itself. This is done by providing the startup-config as a multiline string.
211211

212212
```yaml
213213
topology:
@@ -418,7 +418,7 @@ If you use an http(s) proxy on your host, you typically set the `NO_PROXY` envir
418418

419419
Containerlab automates this process by automatically setting `NO_PROXY`/`no_proxy` environment variables in the containerlab nodes with the values of:
420420

421-
1. localhost,127.0.0.1,::1,*.local
421+
1. `localhost,127.0.0.1,::1,*.local`
422422
2. management network range for v4 and v6 (e.g. `172.20.20.0/24`)
423423
3. IPv4/IPv6 management addresses of the nodes of the lab
424424
4. node names as stated in your topology file

docs/rn/0.61.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Release 0.61
2+
3+
:material-calendar: 2025-01-03 · :material-list-status: [Full Changelog](https://github.com/srl-labs/containerlab/releases)
4+
5+
## No manual `NO_PROXY`
6+
7+
Proxies are a pain that every corporate network user has to find a way painkiller for. What makes it even worse is that when adding a proxy to your environment, you have to add a `NO_PROXY` env var for local addresses that you want to reach without a proxy.
8+
Add to the mix the fact that the industry still can't agree if `NO_PROXY` or `no_proxy` env var name should be used so we have to deal with both.
9+
10+
If you lab topology has nodes that use HTTP to communicate with other nodes of the lab you have to set up a NO_PROXY/no_proxy env var and exclude every single node IP and DNS name of the topology nodes. You can imagine what a time killer this is.
11+
12+
Thanks to @toweber and his work in #2351, Containerlab will automatically inject the NO_PROXY env vars to each node in the lab - [read more in the docs](../manual/nodes.md#env).
13+
14+
## Startup-config support for Cisco IOL
15+
16+
@kaelemc continued to improve IOL support by adding support for startup-config #2347. Now you get a lightweight Cisco IOS-XE system with a decent feature set. Unbelievable!
17+
18+
## Node Name magic variable
19+
20+
To further streamline the topology definition file, @hyposcaler-bot added support for the `__clabNodeName__` magic variable that allows you to dynamically set the node name in the startup-configuration path.
21+
22+
```yaml
23+
name: mylab
24+
topology:
25+
defaults:
26+
kind: nokia_srlinux
27+
startup-config: cfgs/__clabNodeName__.partial.cfg
28+
nodes:
29+
node1:
30+
node2:
31+
```
32+
33+
The above topology will instruct `node1` to use `cfgs/node1.partial.cfg` and `node2` to use `cfgs/node2.partial.cfg`. All with a single default setting provided. Read more about this neat feature in the [nodes section](../manual/nodes.md#startup-config).
34+
35+
## Redeploy command
36+
37+
Many of us redeploy labs dozens times a day. Before #2374 implemented by @axxyhtrx we all have been punching in `sudo clab dep -c -t <topo>` to redeploy a lab. While it worked for a clean redeployment, it wasn't possible to redeploy a lab while keeping the Lab Directory.
38+
39+
Now the [`redeploy`/`rdep`](../cmd/redeploy.md) is a handy and syntactically more pleasant way to redeploy a lab and it supports both scenarios with keeping and without keeping the Lab Directory.
40+
41+
## Miscellaneous
42+
43+
* @jkary fixes the way link tags are displayed for LAGs in #2306
44+
* SR Linux default config gets gRPC servers config blocks to support EDA onboarding #2368
45+
* support for STDIN topologies in `destroy` command #2376

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ nav:
142142
- 5-stage Clos topology: lab-examples/templated02.md
143143
- Generic VM: lab-examples/generic_vm01.md
144144
- Release notes:
145+
- "0.61": rn/0.61.md
145146
- "0.60": rn/0.60.md
146147
- "0.59": rn/0.59.md
147148
- "0.58": rn/0.58.md

0 commit comments

Comments
 (0)