Changes in Release 26.11
New Functionality
New devices: IP Infusion OcNOS (vrnetlab container) and Extreme VOSS
The new netlab node command can start, stop, restart, pause, or unpause individual containerlab nodes without touching the rest of the lab. netlab status lists stopped nodes as Exited.
netlab validate can print the validation results as a JSON document
The netlab config command uses the device configuration mode (for example, netmiko) instead of always running an Ansible playbook
Netmiko is the default configuration deployment method for Cisco IOS XR and Cisco Nexus OS
netlab collect uses netmiko to collect configurations from Arista EOS, Cisco IOS, Cisco IOS XR, and Cisco Nexus OS devices, and runs an Ansible playbook only when needed
The device readiness checks use netmiko to check the SSH server and netlab connect (instead of Ansible task lists) to check interface readiness
New external tool: network-xray
Minor improvements
netlab waits for vrnetlab containers to become healthy by default
The netlab install containerlab script defines the Docker repository in the deb822 format and limits the Docker repository key to that repository
Commands executed on lab devices (for example, readiness checks) can have a timeout
The netmiko parameters are defined as device features, and the netmiko configuration error patterns capture the whole error message
New Device Features
Cisco ASAv:
Loopback interface
Static routes
IBGP
OSPFv3
BGP and OSPF route import (redistribution)
IP Infusion OcNOS:
OSPFv2, OSPFv3, IS-IS, and BGP
BFD, static routes, VLANs, VRFs, and STP
OSPF and IS-IS BFD configured on individual interfaces
VRF OSPF instances support the same features as the global OSPF process
MTU on VLAN interfaces
Extreme VOSS:
Initial configuration, VLANs, and static routes
ArubaOS-CX and Extreme EXOS:
Transparent management IP address in containerlab (vrnetlab) containers
Fixes in Configuration Templates
Cisco Nexus OS:
vrnetlab Nexus OS containers boot as a layer-2 switch. netlab shuts down all interfaces before configuring them, and enables an interface only after it is fully configured.
The netmiko error pattern recognizes configuration error messages without the leading
%sign
Cisco IOS XR:
netlab waits before starting the netmiko configuration process to avoid “another config session is active” errors
Breaking Changes
The minimum supported containerlab version is 0.80.0
Older vrnetlab containers might fail to become healthy when running with the containerlab version 0.80.0. If you experience this, rebuild those containers using the latest vrnetlab code.
netlab uses netmiko to configure Cisco IOS XR and Cisco Nexus OS devices. If you used netlab install ansible to install Ansible, you already have netmiko installed. Otherwise, install it with netlab install netmiko, or set the netlab_config_mode device group variable (or node parameter) to an empty value to keep using Ansible playbooks.
The netmiko_* device group variables were replaced with netmiko.* device features. Move any customized netmiko_* group variables (for example, netmiko_device_type) into the device features.
netlab waits for vrnetlab containers to become healthy. Set the defaults.providers.clab.healthy_timeout parameter to zero to disable that check.
Bug Fixes
Captured command output is thread-safe, so parallel readiness checks do not see each other’s output (#3990)
Updated the netlab collect section headers to match other multi-step commands (#3981)
netlab collect collects configurations only from nodes that support configuration collection (#3980), including OcNOS
Consistent handling of the –limit/node CLI parameter (#3979)
Created a package from the netlab collect CLI module (#3978)
Validation tests executed with docker exec see both stdout and stderr (#3977)
FRR bgp_prefix validation works with best=False (#3968)
Corrected the error message reported when a device does not support VRFs (#3967)
Use correct names for MPLS kernel modules (#3963)
Documentation Fixes
New developer documentation: device readiness checks (#3994) and netmiko configuration deployment (#3961)
The VRF documentation uses feature tables (#3976)
Feature tables are built faster because the device data is merged only once (#3975)