Software Infrastructure Components¶
All software infrastructure of the lab is on the documentation page for the UH-Netlab site. We list the main work on repeatable experiment orchestration, data collection and analysis, GENI experimentation and network graph interactions along with the UH education libraries.
List of libraries:
vts-images: a collection of containers along with their specification on what libraries and software to be installed at provisioning time by
VTS. The repository also includes the handlers that are installed on the
VTSat run time.
uhexp: experiment orchestration libraries that are input an ssh config file to install and run applications according to an experiment flow of events and collect user-specified data
uhtools: extension applications for an experiment orchestrated through
uhexplibraries to run scripts and other applications derived or developed natively by experimenters
reference-experiment: an example experiment created as a reference for the distributed systems computing community to leverage the repeatable experimentation orchestration enabled by
uhed: service for lab experimentation that delivers network topologies in the form of
labmodulesto the requesting
uhedclients. Current usage at the UH-netlab is with
uhedclient libraries on Jupyter Notebooks to reserve network topologies on the
geni-libPython library for interacting with the NSF GENI Federation libraries. The topologies are
labmodulesthat are constructed as reservation scripts for an experiment model illustrating the protocol behavior observations.
labmodules: collection of reservation scripts to build topologies modeled to represent network topologies suitable to make particular protocol observations such as Ethernet, IP, STP, DHCP, DNS, OSPF, and any others that instructors may design as hands-on lab experiments.
net-utils: a python library for interacting with resources on a testbed infrastructure as network graphs.
tool-environments: UH-netlab libraries may be pre-installed on virtual machines and containers for ease of usage. This repository is composed of various options of VMs and Docker containers with a selection of libraries pre-installed for local testing and usage of