The software projects that create the unified HARNESS platform can be downloaded from our GitHub page. Descriptions of the major HARNESS infrastructure projects are provided below. Free-standing software projects created or extended by HARNESS, particularly ConPaaS and XtreemFS, have their own independent software download sites and are discussed separately under Technology. For those interested in experimenting with an integrated and self-contained HARNESS platform, we recommend the Ansible deployment project.
Ansible Deployment Project
The Ansible deployment project uses Ansible to manage the deployment of the HARNESS prototype to a target platform. In our experiments this project was used to configure both the static Imperial cluster and dynamic Grid’5000 testbeds. This project also contains a Vagrant configuration file, so a complete HARNESS platform can easily be created in a virtual machine running on an individual laptop or workstation.
The Cross-Resource Scheduler (CRS) exposes the HARNESS API and implements cross-resource scheduling algorithms.
Nova Resource Manager
The Nova Resource Manager (IRM-NOVA) exposes the HARNESS API and interfaces with OpenStack Nova to manage virtual machine instances.
Neutron Resource Manager
The Neutron Resource Manager (IRM-NEUTRON) exposes the HARNESS API and interfaces with OpenStack Neutron to manage virtual networking resources.
Networked Resource Manager
The Networked Resource Manager (IRM-NET) exposes the HARNESS API and aggregates IRM-Nova and IRM-Neutron instances. It implements a novel network-distance-aware resource scheduling algorithm and coordinates calls to OpenStack nova and neutron to control the placement of virtual machines in QoS-aware virtual networks.
SHEPARD Resource Manager
The SHEPARD Resource Manager (IRM-SHEPARD) exposes the HARNESS API and interfaces with the SHEPARD heterogeneous resource scheduler.
XtreemFS Resource Manager
The XtreemFS Resource Manager (IRM-XtreemFS) exposes the HARNESS API and interfaces with the XtreemFS distributed filesystem.
HARNESS Resource Manager
The HARNESS Resource Manager provides the Python base object extended by the CRS and individual resource managers.