Software Infrastructure ComponentsΒΆ

All software infrastructure of the lab is on the bitbucket repository for the uh-netlab. 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 in the uh-netlab repository:

  • 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 VTS at 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 uhexp libraries 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 uhexp
  • uhed: service for lab experimentation that delivers network topologies in the form of labmodules to the requesting uhed clients. Current usage at the UH-netlab is with uhed client libraries on Jupyter Notebooks to reserve network topologies on the VTS system using geni-lib libraries. The topologies are labmodules that 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.
  • uhgeni: a python library for interacting with resources reserved on GENI infrastructure as network graphs, through ssh connections using the GENI AM API v2 and v3 calls.
  • 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 VTS, uhed, uhexp, and labmodules.