A Step-by-Step Guide on Using PlanetLab at UC Irvine

 by Rex Chen and JongHan Park
  Emails: {rex, jonghanp} at uci.edu

Introduction

This document is a step-by-step guide on how to use PlanetLab nodes, and how to troubleshoot some of the common problems that you may ran into. We also provide a sample script demonstrating program deployments in the PlanetLab.

Outline

Getting Started

  1. Requesting for a slice (a "slice" is set of UNIX shell access to a number of PlanetLab nodes with allocated resources for the users in their experiments

  2. Logging to your PlanetLab account

  3. Adding/Deleting PlanetLab nodes to the slice

  4. Logging to a PlanetLab node (with your slice name)         

  5. Automating the login process
In your home directory .bash_profile file, add the following codes (suggested by Joseph M. Reagle).

SSH_ENV=$HOME/.ssh/environment

function start_agent {
     echo "Initialising new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
     echo succeeded
     chmod 600 ${SSH_ENV}
     . ${SSH_ENV} > /dev/null
     /usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
     . ${SSH_ENV} > /dev/null
     #ps ${SSH_AGENT_PID} doesn't work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi

This will enable ssh-agent to run in the background and automate ssh login process for each node.

A similar instruction on how to get started is also available here from PlanetLab.  Instructions above contain more concrete instructions for UC Irvine.

Building Your Application

Deploying Application and Associated Packages

Sample Script

pssh/pscp sample script (deploying a file onto the two UC Irvine nodes)

Tips

Contact Information

PlanetLab has various mailing lists for answering questions one may have.  We also found that directly contacting users of PlanetLab project descriptions similar to your work can result with fruitful responses.


Last Modified: June 16th, 2006. University of California, Irvine. 
California Institute of Telecommunication and Information Technology (Calit2)