Changes in Release 0.9 through 0.9.3¶
Start and Stop the Lab with Netlab Commands¶
netlab up command creates configuration files, starts the virtual lab, and deploys device configurations. netlab down destroys the virtual lab.
Simple YAML inventory¶
Several netlab commands (notably netlab connect) relied on ansible-inventory to get device inventory data. netlab create can now create a simple lab inventory in a YAML file (default name: netsim-devices.yml). That file can be used with netlab connect in Ansible-free environments.
New or Changed Devices¶
Linux hosts (Ubuntu VMs or Alpine containers) are available in release 0.9.1.
Cumulus VX 4.4.0 Virtualbox Vagrant box is broken – box version is fixed @ 4.3.0 (release 0.9.2-2)
netlab create command can create graphviz1 .DOT files that can be used to draw:
A graph of physical connections (nodes and links)
A graph of autonomous systems, nodes, and BGP sessions
Transformed Lab Topology in YAML or JSON Format¶
netlab create command can output the transformed lab topology (nodes, links, defaults…) in YAML or JSON format for use in third-party tools.
Generic Output Framework¶
You can specify desired output format(s) in netlab create command, including:
Virtualization provider configuration file
Ansible inventory in various formats
Topology graph in DOT format (physical topology or BGP sessions)
YAML or JSON printout of transformed topology.
netsim-tools uses an extensible output framework implemented with dynamically loaded Python modules allowing you to add your own output formats.
Undocumented netlab transform command introduced in release 0.8 has been removed and replaced with generic output framework within netlab create command.
Release 0.9.3 supports static node IDs (used to generate management MAC address, interface addresses on multi-access links, and loopback addresses) and static interface addresses on multi-access links.
Arista EOS configuration deployment playbook uses wait_for_connection module to wait for SSH daemon when connecting to cEOS container (release 0.9.3)
python-box release 5.4.0 brought good and bad news:
It implemented mypy hints forcing me to cleanup the static typing hints and fix odd bits of code.
Unfortunately it also borked the setdefaults method. All calls to setdefaults have been replaced with more explicit alternatives.
graphviz is an excellent graphing tool that takes graph specification in text format, performs somewhat decent auto-placement and draws the graph in a number of output formats (including JPEG, PNG, and PDF).