Release 0.78#
2026-08-08 · Full Changelog
Deploy convergence#
deploy now acts like apply and converges a running lab to the desired state. When the lab is already deployed, containerlab compares the desired topology with the live runtime and applies only the supported delta: add or remove nodes and links, start stopped nodes, and recreate individual nodes when tracked configuration drift is detected.
Repeated deploy calls against an unchanged topology are idempotent. apply is now an alias of deploy; both commands accept the same flags and behave identically. Use --dry-run to preview planned changes and redeploy when you need a full destroy-and-recreate cycle.
In other words, you may find yourself not using deploy --cleanup or deploy -c or redeploy commands anymore, and using deploy instead for lab's lifecycle management.
Thanks @FloSch62 @kaelemc #3274 #3260
Nokia SR-SIM and veth-stitch links#
Links connected to the nokia_srsim nodes will now default to the new veth-stitch link type when the brief link notation is used. The new veth-stitch link type inserts a transparent tc stitch between two veth segments so traffic can be captured and impaired on links that SR-SIM dataplane interfaces cannot expose directly.
links:
# this link will use the new `veth-stitch` link type automatically
# because it is connected to the `nokia_srsim` node
- endpoints: ["srsim:1/1/c1/1", "srl:e1-1"]
You can still set
type: veth-stitchexplicitly on any link that needs the same behavior.
Topology validation#
The new validate command parses a topology file and runs the schema, node, and link checks as deploy without touching the runtime. Use it locally or in CI to catch topology errors before deployment.
Ciena SAOS 10#
The new ciena_saos kind adds support for Ciena SAOS 10.x routers as vrnetlab-backed QEMU VMs.
PLVision Enterprise SONiC#
The new plvision_sonic kind adds PLVision's Enterprise SONiC Linux Distribution as a vrnetlab-backed VM node. Build a containerlab-compatible image from the vendor qcow2 with vrnetlab and wire dataplane ports as ethN interfaces.
Thanks @romantymoshchuk #3288
Container runtime options#
Topology node definitions can now contain additional container runtime settings for Docker and Podman:
privileged— run unprivileged containers when a kind does not require elevated privilegescgroupns-mode—hostorprivatecgroup namespacepid-mode— PID namespace mode, includingcontainer:<node>references resolved to lab container namestmpfs— tmpfs mounts keyed by container pathsecurity-opts— security options such asseccomp=unconfined
topology:
nodes:
svc1:
kind: linux
image: alpine:3
privileged: false
cgroupns-mode: host
pid-mode: host
tmpfs:
/run: rw,nosuid
security-opts:
- seccomp=unconfined
Miscellaneous#
- SR Linux adds
ixr-h6(7220 IXR-H6) platform support. Thanks @sacckth #3258 - SR-SIM 26.7+ now accepts ED25519 SSH keys during key injection. Thanks @vista- #3286
sonic-vmnodes receive injected SSH keys over scrapligo SSH instead of a bind-mountedauthorized_keysfile. Thanks @steiler #3269- Multi-bind nodes no longer spuriously recreate during deploy/apply reconciliation because bind mount ordering is deterministic. Thanks @FloSch62 #3300
- Node health and exit wait loops now honor context cancellation. Thanks @mvanhorn #3257
- Post-install instructions for adding a user to the
dockergroup were clarified. Thanks @skoll43 #3297 - The structured
componentssyntax that SR-SIM introduced in 0.75 now also works with Nokia SR OS vSIM (nokia_sros). Thanks @kaelemc #3240