Changes in Release 26.02
New Functionality
Support for Kubernetes (KinD) clusters based on work by @wnagele
Layer-2 EVPN/VXLAN support on Cat8000v, IOL, IOLL2
Containers can be configured with Linux scripts or containerlab startup-config parameter instead of with an Ansible playbook.
netlab graph command can create graphs from a subset of nodes or links
You can specify the parameters of core links in the fabric plugin
“Are the SSH servers ready?” tests are executed directly in netlab initial, resulting in reduced Ansible-generated clutter.
OSPFv3 reports
Minor improvements
netlab status command can generate results in JSON or YAML format
The netlab api command returns the JSON-formatted results of the netlab status command in
/statusGET requestUse JSON files for Ansible group/host variables (more)
netlab libvirt package command can build custom Vagrant boxes (used for FRRouting boxes)
New Device Features
Arista EOS:
Arista cEOS can be configured with Linux scripts
Aruba CX:
Aruba CX containers can be configured with containerlab partial startup configuration
Cisco IOS:
IOSv/IOS-XE/IOL containers can be configured with containerlab partial startup configuration
Layer-2 EVPN/VXLAN support on Cat8000v, IOL, IOLL2
Dell OS10:
Dell OS10 containers can be configured with containerlab partial startup configuration
Linux:
Containers can be configured with the docker exec command that executes Linux scripts (skipping the Ansible playbooks)
FRRouting:
FRRouting containers are configured with Linux scripts
You can use the netlab libvirt package command to build a custom Vagrant box with a preinstalled FRRouting package
The custom Vagrant box can have the management VRF.
Junos:
Junos containers can be configured with containerlab partial startup configuration
Fixes in Configuration Templates
Bird:
Reduced BGP connect/retry/hold timers
BFD configuration uses its own configuration template
Cisco IOS/IOS-XE:
Explicit exit from VRF BGP configuration (needed to have SRv6 configuration in the same startup-config)
Cisco IOS/XE devices use a shared VXLAN configuration template
Cisco IOSvL2:
netlab sets the correct containerlab node type to influence the generation of initial configuration.
The containerlab image name has been changed to reflect the latest image tag format used by vrnetlab
Use correct interface variable in switchport normalization template (#3056)
Cumulus Linux NVUE:
Fixed OSPFv2 area configuration template
Dell OS10:
Cleanup device readiness check
FRRouting:
Leave zebra to configure IP addresses on VLAN interfaces
Load the MPLS kernel module in the FRR virtual machine
Linux:
Control IP forwarding with the netlab_ip_forwarding variable (needed for KinD clusters)
RouterOS7:
Set VLAN interface MTU/description
Fix BGP/VRF/session/origination errors
SR Linux:
Use SCP to copy the reloaded configuration to the device
VyOS:
The shared “setup vbash” code has been removed from VyOS configuration templates and is now added during configuration deployment
Breaking changes
The Ansible inventory files (apart from
hosts.yml) are created in JSON format by default. If you need YAML-formatted inventory files, set the defaults.outputs.ansible.filetype topology default toyamloryml(depending on the desired file type).
Bug Fixes
Flush printouts in the “netlab up” execution path (#3079)
Extend BFD start time in BGP BFD integration test (#3078)
ospf.areas.inter_area attribute cannot be used with regular areas (#3076)
Move plugin device features and daemon configs to device/daemon definitions (#3066)
Change netsim/cli/libvirt.py into netsim/cli/libvirt directory
Integration tests for the graph output module (#3061)
Add custom actions to integration tests (#3060)
Report errors when generating graphs with D2/dot (#3059)
Use random sleep instead of PHY control in cEOS normalization (#3055)
Remove ‘netlab inspect’ dependence on Ansible ‘all’ group (#3057)
Add IBGP checks to EBGP EVPN integration test
Fix hard-coded ISIS instance names in templates (#3052)
Extended Jinja2 error report in ‘report’ rendering
Use ‘netlab_default_shebang’ to implement easy wrapper cases (#3044)
Another large fabric (FRR with BGP/OSPF)
Cannot use netlab_config_mode on Linux (#3040)
Unmanaged nodes should not be provisioned with ‘netlab initial’
Load optional kernel modules when starting clab provider (#3029)
Add ‘get_node_group_var’ to augment.devices (#3027)
Survive removed lab directory in ‘netlab status –cleanup’
Implement default configuration deployment mode (sh/ns) for containers (#3022)
Make container scripts directly executable (#3020)
Make the ‘summary of internal deployment’ printout more informative (#3092)
Quote shell here documents in Jinja2 templates to prevent code injection (#3058)
Use correct ping timeout in EVPN EBGP-over-EBGP test
Adjust MTU and VNIs in EVPN integration tests (#3087)
Adjust core link MTU in VXLAN integration tests (#3086)
Add ‘netlab_start_exec’ clab group variable (#3047)
Restore the IOL interface state after system restart (#3096)
Increase IOL wait time in BGP aggregation tests
Documentation Fixes
Update the MPLS support tables (#3083)