Skip to content

Commit 7ef796f

Browse files
helltCopilot
andauthored
Release 0.71 (#2883)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent c056151 commit 7ef796f

File tree

2 files changed

+112
-0
lines changed

2 files changed

+112
-0
lines changed

docs/rn/0.71.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Release 0.71
2+
3+
:material-calendar: 2025-10-10 · :material-list-status: [Full Changelog](https://github.com/srl-labs/containerlab/releases)
4+
5+
## SR-SIM enhancements
6+
7+
For multi component nodes, the config to provision the CPMs, Line cards and MDAs will be [added automatically](../manual/kinds/sros.md#configuration-for-components). This massively simplifies the cognitive load as you no longer need to worry about the essential config to bring up the cards and modules and focus on the actual service configs. Thanks @kaelemc #2827
8+
9+
Another improvement touched the logging part where now if you made an error in your SR-SIM configuration file, the error will be fetched from the container logs and displayed to you in the CLI. This should help you to debug your config issues faster. Thanks #2874
10+
11+
## Env vars for all
12+
13+
In this release we added comprehensive support for the env vars-based configuration. Every containerlab CLI flag of every command now comes with a [corresponding env var](../manual/topo-def-file.md#environment-variables).
14+
15+
All command line arguments can be also provided via environment variables (CLI flags take precedence). The environment variable names are constructed by prepending `CLAB_` to the flag name, then adding the command path and ending with the flag name in its full form, all in uppercase and with hyphens replaced by underscores.
16+
17+
For example, the `--max-workers` flag for the `deploy` command can be set via `CLAB_DEPLOY_MAX_WORKERS` environment variable.
18+
Or `CLAB_INSPECT_ALL=1` to set `--all` flag for the `inspect` command.
19+
Or `CLAB_TOPO=srlinux.dev/clab-srl clab dep -c` to deploy a lab with the topology passed via environment variable.
20+
21+
## Cisco SD-WAN nodes
22+
23+
Thanks to @torbbang, Containerlab got support for Cisco SD-WAN components (vManage, vSmart, vBond). Check [cisco_sdwan kind docs](../manual/kinds/cisco_sdwan.md) for more details. #2877
24+
25+
## IP addressing new home
26+
27+
In 0.70 we toyed with the idea of assigning IP addresses on the links automatically based on the user input under the `links` section. Originally we put the `ipv4` and `ipv6` keys under the `.links.vars` section, however, IP is such an essential part of the link definition, that it makes sense to move it up and make it a property of the link itself.
28+
29+
Here is how it looks now in the brief format:
30+
31+
```diff
32+
links:
33+
- endpoints: ["srl1:e1-1", "srl2:e1-1"]
34+
- vars:
35+
- ipv4: ["192.168.0.1/24", "192.168.0.2/24"]
36+
- ipv6: ["2001:db8::1/64", "2001:db8::2/64"]
37+
+ ipv4: ["192.168.0.1/24", "192.168.0.2/24"]
38+
+ ipv6: ["2001:db8::1/64", "2001:db8::2/64"]
39+
```
40+
41+
And the extended format is even more expressive:
42+
43+
```diff
44+
endpoints:
45+
- node: srl1
46+
interface: e1-2
47+
- vars:
48+
- ipv4: 192.168.0.1/24
49+
- ipv6: 2001:db8::1/64
50+
+ ipv4: 192.168.0.1/24
51+
+ ipv6: 2001:db8::1/64
52+
53+
- node: srl2
54+
interface: e1-2
55+
- vars:
56+
- ipv4: 192.168.0.2/24
57+
- ipv6: 2001:db8::2/64
58+
+ ipv4: 192.168.0.2/24
59+
+ ipv6: 2001:db8::2/64
60+
```
61+
62+
## Topology data export file
63+
64+
A few tools have been built around the [topology data export file](../manual/inventory.md#topology-data) that Containerlab generates. With the introduction of link IP addressing, we revisited the topology data and its `links` sections in particular. Apparently, the default export template was not adhering to the [extended link format](../manual/topo-def-file.md#extended-format) that we have, so it felt like a good time to fix it.
65+
66+
Now the topology data export will change the `links` section to feature endpoints, and link vars and IP addresses will be properly represented there. #2882
67+
68+
Here is an example of the links section when the default (auto.tmpl) template is used:
69+
70+
```json
71+
"links": [
72+
{
73+
"endpoints": {
74+
"a": {
75+
"node": "srl1",
76+
"interface": "e1-2",
77+
"mac": "aa:c1:ab:56:36:28",
78+
"vars": {
79+
"srl1ep1var1": "val1",
80+
"srl1ep1var2": {
81+
"a": "b",
82+
"c": "d"
83+
}
84+
},
85+
"peer": "z"
86+
},
87+
"z": {
88+
"node": "srl2",
89+
"interface": "e1-2",
90+
"mac": "aa:c1:ab:09:2f:ea",
91+
"vars": {
92+
"srl2ep1var1": "val2",
93+
"srl2ep1var2": {
94+
"x": "y",
95+
"z": "a"
96+
}
97+
},
98+
"peer": "a"
99+
}
100+
}
101+
}
102+
]
103+
```
104+
105+
## Miscellaneous
106+
107+
* an alias for the `version upgrade` command has been added - `version update`. #2844
108+
* improved error message when subnet override is detected #2845
109+
* added integer division function for templates #2854
110+
* [documented](../manual/topo-def-file.md#magic-variables) all magic variables and their usage #2839
111+
* `clab graph` will show now all routable addresses to reach the web server serving the topo image #2838

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ nav:
174174
- 5-stage Clos topology: lab-examples/templated02.md
175175
- Generic VM: lab-examples/generic_vm01.md
176176
- Release notes:
177+
- "0.71": rn/0.71.md
177178
- "0.70": rn/0.70.md
178179
- "0.69": rn/0.69.md
179180
- "0.68": rn/0.68.md

0 commit comments

Comments
 (0)