Skip to content

Release 0.39#

2023-04-10 ยท Full Changelog

Partial configs for SR OS#

Containerlab now supports partial configs for SR OS. This means you can now provide CLI snippets that will be added to the default config. A very useful feature when you want to add a few things to the config, and you don't want to copy the whole config to your lab. #1249

We believe this will make your lab repos cleaner and easier to maintain.

name: sros_lab
topology:
  nodes:
    sros:
      kind: vr-sros
      startup-config: myconfig.partial.txt
configure {
    router "Base" {
        static-routes {
            route 192.168.200.200/32 route-type unicast {
                next-hop "192.168.0.1" {
                    admin-state enable
                }
            }
        }
    }
}

The partial config can be provided as a local file, remote URL or even embedded, yay!

Learn more about partial configs for SR OS here.

Embedded startup-configs#

The changes made for allowing SR OS to have partial configs also allowed all other nodes to enjoy embedding startup-configs into the topology file.

For example, this is a perfectly valid way to provide partial config for a Nokia SR Linux node:

name: srl

topology:
  nodes:
    srl:
      kind: nokia_srlinux
      image: ghcr.io/nokia/srlinux:22.11.2
      startup-config: |
        system information location "I am embedded config"

Node filtering#

One of the most requested features is finally there. Users wanted to be able to deploy only a subset of nodes defined in their topology file. Usually, this was driven by the need to control the resource usage of the lab and optimize the deployment time.

Containerlab now allows users to provide a list of nodes to deploy, destroy, save, and graph commands to scope the operation to only those nodes. #1298

Check out Node Filtering docs for details.

CPU and Memory setting for SR OS nodes#

With hellt/vrnetlab release v0.10.1 we support setting the CPU and Memory for SR OS nodes.

Before that feature was available, the CPU and Memory were set to the default values for a particular SR OS variant. This was not ideal as requirements change over time and when resources are underprovisioned, the node may not be able to start.

Now you can set the CPU and Memory for SR OS nodes directly in the topology file:

# distrubuted node
    sr:
      kind: vr-sros
      type: sr-1e
      license: sros22.lic
      env:
        CP_MEMORY: 6 # CPM MEM
        CP_CPU: 4    # CPM CPU
        LC_MEMORY: 6 # Line card MEM
        LC_CPU: 4    # Line card CPU

# integrated
    sr:
      kind: vr-sros
      type: sr-1
      license: sros22.lic
      env:
        MEMORY: 6
        CPU: 4

RARE joins Containerlab#

We are happy to announce that RARE Network OS is now supported by Containerlab. RARE stands for Router for Academia, Research & Education.

Securely connecting to labs with Border0 (experimental)#

With mysocketio rebranding to border0 we had to revisit APIs for creating secured remote access to labs. This is an experimental feature and is not yet fully supported. Please see this page for more details. #1131