# Changes in Release 26.02 ```eval_rst .. contents:: Table of Contents :depth: 2 :local: ``` (release-26.02)= ## New Functionality * Support for [Kubernetes (KinD) clusters](plugin-kind) based on work by [@wnagele](https://github.com/wnagele) * Layer-2 EVPN/VXLAN support on Cat8000v, IOL, IOLL2 * Containers can be [configured with Linux scripts or *containerlab* startup-config parameter](platform-config-mode) instead of with an Ansible playbook. * **[netlab graph](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-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](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 `/status` GET request * Use JSON files for Ansible group/host variables ([more](release-26.02-breaking)) * **netlab libvirt package** command can build custom Vagrant boxes (used for FRRouting boxes) (release-26.02-device-features)= ## 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 (release-26.02-device-fixes)= ## 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 (release-26.02-breaking)= ## 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](topo-defaults) to `yaml` or `yml` (depending on the desired file type). (bug-fixes-26.02)= ## 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 (doc-fixes-26.02)= ## Documentation Fixes * Update the MPLS support tables (#3083)