On this page:
The POWDER Manual
2018-11-20 (f6d625c)

The POWDER Manual

The Powder Team

Powder is a facility for experimenting on the future of wireless networking in a city-scale "living laboratory" environment.

Powder is run by the University of Utah in partnership with Salt Lake City and the Utah Education and Telehealth Network.

The Powder facility is built on top of Emulab and is run by the Flux Research Group, part of the School of Computing at the University of Utah.

    1 Getting Started

      1.1 Next Steps

    2 Powder Users

      2.1 Register for an Account

        2.1.1 Join an existing project

        2.1.2 Create a new project

    3 Powder and Repeatable Research

    4 Creating Profiles

      4.1 Creating a profile from an existing one

        4.1.1 Preparation and precautions

        4.1.2 Cloning a Profile

        4.1.3 Copying a Profile

        4.1.4 Creating the Profile

        4.1.5 Updating a profile

      4.2 Creating a profile with a GUI

      4.3 Repository-Based Profiles

        4.3.1 Updating Repository-Based Profiles

        4.3.2 Branches and Tags in Repository-Based Profiles

      4.4 Creating a profile from scratch

      4.5 Sharing Profiles

      4.6 Versioned Profiles

    5 Basic Concepts

      5.1 Profiles

        5.1.1 On-demand Profiles

        5.1.2 Persistent Profiles

      5.2 Experiments

        5.2.1 Extending Experiments

      5.3 Projects

      5.4 Physical Machines

      5.5 Virtual Machines and Containers

    6 Describing a profile with python and geni-lib

      6.1 A single XEN VM node

      6.2 A single physical host

      6.3 Two XenVM nodes with a link between them

      6.4 Two ARM64 servers in a LAN

      6.5 A VM with a custom size

      6.6 Set a specific IP address on each node

      6.7 OpenEPC extensions

      6.8 RF communication

      6.9 Specify an operating system and set install and execute scripts

      6.10 Profiles with user-specified parameters

      6.11 Add temporary local disk space to a node

      6.12 Creating a reusable dataset

      6.13 Debugging geni-lib profile scripts

    7 Advanced Topics

      7.1 Disk Images

      7.2 RSpecs

      7.3 Public IP Access

        7.3.1 Dynamic Public IP Addresses

      7.4 Markdown

      7.5 Introspection

        7.5.1 Client ID

        7.5.2 Control MAC

        7.5.3 Manifest

        7.5.4 Private key

        7.5.5 Profile parameters

      7.6 User-controlled switches and layer-1 topologies

    8 Hardware

      8.1 Apt Cluster

      8.2 IG-DDC Cluster

    9 Planned Features

      9.1 Improved Physical Resource Descriptions

    10 Powder OAI Tutorial

      10.1 Objectives

      10.2 Prerequisites

      10.3 Logging In

      10.4 Building Your Own OAI Network

      10.5 Exploring Your Experiment

        10.5.1 Experiment Status

        10.5.2 Profile Instructions

        10.5.3 Topology View

        10.5.4 List View

        10.5.5 Manifest View

        10.5.6 Graphs View

        10.5.7 Actions

        10.5.8 Web-based Shell

      10.6 Starting OAI Services

      10.7 Connecting the UE

      10.8 In-Depth OAI Profile Documentation

      10.9 Terminating the Experiment

      10.10 Taking Next Steps

    11 Powder OpenStack Tutorial

      11.1 Objectives

      11.2 Prerequisites

      11.3 Logging In

      11.4 Building Your Own OpenStack Cloud

      11.5 Exploring Your Experiment

        11.5.1 Experiment Status

        11.5.2 Profile Instructions

        11.5.3 Topology View

        11.5.4 List View

        11.5.5 Manifest View

        11.5.6 Graphs View

        11.5.7 Actions

        11.5.8 Web-based Shell

        11.5.9 Serial Console

      11.6 Bringing up Instances in OpenStack

      11.7 Administering OpenStack

        11.7.1 Log Into The Control Nodes

        11.7.2 Reboot the Compute Node

      11.8 Terminating the Experiment

      11.9 Taking Next Steps

    12 Getting Help