Changes in Release 1.0.x

New Devices

  • Jeroen van Bemmel contributed support for Nokia SR Linux and SR OS (including initial device configuration, OSPF, ISIS, BGP, and SR-MPLS).

  • Stefano Sasso contributed support for Mikrotik RouterOS and VyOS devices. Both device types support IPv4, IPv6, OSPF and BGP. More details…

  • Pete Crocker contributed support for Fortinet devices. You can configure IPv4, IPv6 and OSPF. More details… and caveats.

  • Added Vagrant box names for IOSv, CSR and vSRX on VirtualBox. You still have to build the boxes, but at least you won’t have to change the default settings.

New Functionality in Release 1.0.6

New Functionality in Release 1.0.5

  • Vagrant libvirt plugin release 0.7.0 destroys vagrant-libvirt virtual network during vagrant destroy process. netlab up now creates the virtual network if needed (by Stefano Sasso)

  • XML definition of vagrant-libvirt virtual network has been changed to support up to 20 lab devices (by Pete Crocker)

  • Cumulus VX and generic Linux memory requirements have been increased to 1GB (by Pete Crocker)

  • Pre- and post-start lab hooks (needed to support vagrant-libvirt provider) (by Stefano Sasso)

  • Custom configuration deployment templates can be applied to individual nodes

  • A unified framework for extending lab topology attributes

New documentation

New Functionality in Release 1.0.4

New Functionality in Release 1.0.3

New Functionality in Release 1.0.2

New Functionality in Release 1.0.1

  • Custom groups can be specified in topology file to create custom inventory groups or set inventory group variables.

  • Custom groups can specify custom configuration templates that are deployed during the netlab up process.

  • quiet CLI flag sets Ansible STDOUT callback to dense to minimize the clutter generated by Ansible playbooks invoked by netlab initial, netlab config or netlab up commands.

  • debug flag of netlab up and netlab down commands can be used to display commands that would be executed without executing them.

New Functionality in Release 1.0

  • netlab up enables LLDP passthrough on Linux bridges created with libvirt Vagrant plugin.

Bug Fixes

Release 1.0.6

  • Reorder module list in node data based on module dependencies (#86)

  • Check module node attributes in group node_data dictionary (#76)

Release 1.0.5

  • Topology-level module attributes can be set even when a module is used by a single node.

  • Use ‘netlab up’ and ‘netlab down’ in ‘netlab test’ command

  • Fixed Cumulus OSPF and BGP templates (contributed by Pete Crocker)

  • Fixed XML definition for vagrant-libvirt (contributed by Pete Crocker)

  • Set node data with ‘-s’ CLI parameter (reported by Jeroen van Bemmel)

  • Improved ‘failed to run subprocess’ error messages (contributed by Jeroen van Bemmel)

  • Verbosity level (-v flag) is an integer, not a boolean flag. Verbosity level is passed to Ansible playbooks (reported by Jeroen van Bemmel)

  • Don’t use Python warnings for error messages

Release 1.0.4

  • Add no attribute change on route reflection configuration to Arista EOS BGP template

Release 1.0.3

  • BGP module crashed in a lab with stub links

  • Vagrant 2.2 uses QEMU sessions on Fedora, resulting in inability to create virtual networks. Disable QEMU sessions in libvirt Vagrantfile template. (found by Leo Kirchner)

  • IOS XE uses no ip domain lookup instead of no ip domain-lookup. (contributed by Stefano Sasso)


  • Moved platform-specific caveats into a separate document (contributed by Pete Crocker)

  • Added tutorial links

  • Cleaned up lab installation instructions

  • Remove obsolete CLI commands and related documentation

  • Remove Ubuntu installation Ansible playbook (replaced by netlab install)