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
- 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
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-liblibraries. 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.
- 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.