On this page:
The Cloud  Lab Manual
2018-08-31 (a137277)

The CloudLab Manual

The CloudLab Team

This document is also available as a single page

CloudLab is a "meta-cloud"—that is, it is not a cloud itself; rather, it is a facility for building clouds. It provides bare-metal access and control over a substantial set of computing, storage, and networking resources; on top of this platform, users can install standard cloud software stacks, modify them, or create entirely new ones.

The current CloudLab deployment consists of more than 25,000 cores distributed across three sites at the University of Wisconsin, Clemson University, and the University of Utah. CloudLab interoperates with existing testbeds including GENI and Emulab, to take advantage of hardware at dozens of sites around the world.

The control software for CloudLab is open source, and is built on the foundation established for Emulab, GENI, and Apt. Pointers to the details of this control system can be found on CloudLab’s technology page.

Get started!

    1 CloudLab Status Notes

    2 Getting Started

      2.1 Next Steps

    3 CloudLab Users

      3.1 GENI Users

      3.2 Register for an Account

        3.2.1 Join an existing project

        3.2.2 Create a new project

    4 CloudLab and Repeatable Research

    5 Creating Profiles

      5.1 Creating a profile from an existing one

        5.1.1 Preparation and precautions

        5.1.2 Cloning a Profile

        5.1.3 Copying a Profile

        5.1.4 Creating the Profile

        5.1.5 Updating a profile

      5.2 Creating a profile with a GUI

      5.3 Repository-Based Profiles

        5.3.1 Updating Repository-Based Profiles

        5.3.2 Branches and Tags in Repository-Based Profiles

      5.4 Creating a profile from scratch

      5.5 Sharing Profiles

      5.6 Versioned Profiles

    6 Basic Concepts

      6.1 Profiles

        6.1.1 On-demand Profiles

        6.1.2 Persistent Profiles

      6.2 Experiments

        6.2.1 Extending Experiments

      6.3 Projects

      6.4 Virtual Machines

      6.5 Physical Machines

    7 Resource Reservations

      7.1 What Reservations Guarantee

      7.2 How Reservations May Affect You

      7.3 Making a Reservation

      7.4 Using a Reservation

    8 Describing a profile with python and geni-lib

      8.1 A single XEN VM node

      8.2 A single physical host

      8.3 Two XenVM nodes with a link between them

      8.4 Two ARM64 servers in a LAN

      8.5 A VM with a custom size

      8.6 Set a specific IP address on each node

      8.7 Specify an operating system and set install and execute scripts

      8.8 Profiles with user-specified parameters

      8.9 Add temporary local disk space to a node

      8.10 Creating a reusable dataset

      8.11 Debugging geni-lib profile scripts

    9 Advanced Topics

      9.1 Disk Images

      9.2 RSpecs

      9.3 Public IP Access

        9.3.1 Dynamic Public IP Addresses

      9.4 Markdown

      9.5 Introspection

        9.5.1 Client ID

        9.5.2 Control MAC

        9.5.3 Manifest

        9.5.4 Private key

        9.5.5 Profile parameters

      9.6 User-controlled switches and layer-1 topologies

    10 Hardware

      10.1 CloudLab Utah

      10.2 CloudLab Wisconsin

      10.3 CloudLab Clemson

      10.4 Apt Cluster

      10.5 IG-DDC Cluster

    11 Planned Features

      11.1 Improved Physical Resource Descriptions

    12 CloudLab OpenStack Tutorial

      12.1 Objectives

      12.2 Prerequisites

      13.4 Logging In

        13.4.1 Using a CloudLab Account

        13.4.2 Using a GENI Account

      12.4 Building Your Own OpenStack Cloud

      12.5 Exploring Your Experiment

        12.5.1 Experiment Status

        12.5.2 Profile Instructions

        12.5.3 Topology View

        12.5.4 List View

        12.5.5 Manifest View

        12.5.6 Graphs View

        12.5.7 Actions

        12.5.8 Web-based Shell

        12.5.9 Serial Console

      12.6 Bringing up Instances in OpenStack

      12.7 Administering OpenStack

        12.7.1 Log Into The Control Nodes

        12.7.2 Reboot the Compute Node

      12.8 Terminating the Experiment

      12.9 Taking Next Steps

    13 CloudLab Chef Tutorial

      13.1 Objectives

      13.2 Motivation

      13.3 Prerequisites

      13.4 Logging In

        13.4.1 Using a CloudLab Account

        13.4.2 Using a GENI Account

      13.5 Launching Chef Experiments

      13.6 Exploring Your Experiment

        13.6.1 Experiment Status

        13.6.2 Profile Instructions

        13.6.3 Topology View

        13.6.4 List View

        13.6.5 Manifest View

        13.6.6 Actions

      13.7 Brief Introduction to Chef

      13.8 Logging in to the Chef Web Console

        13.8.1 Web-based Shell

        13.8.2 Chef Web Console

      13.9 Configuring NFS

        13.9.1 Exploring The Structure

      13.10 Apache Web Server and ApacheBench Benchmarking tool

        13.10.1 Understanding the Internals

      13.11 Final Remarks about Chef on CloudLab

      13.12 Terminating Your Experiment

      13.13 Future Steps

    14 Getting Help