by Rex Chen and
JongHan Park
Emails: {rex, jonghanp} at uci.edu
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
Go to the PlanetLab Account Registration site, and fill out the Personal and Login Information
For the Site Information, make sure to select, University of California, Irvine
Select No for these two questions: Are you a PI? Are you a Technical Contact
You will receive an email once your PlanetLab account is activated.
Logging to your PlanetLab account
Go to the PlanetLab Account Login site, and login with your email and password.
Prior to getting remote login access to a PlanetLab node, you need to create a SSH key pair for authentication.
To generate a SSH key pair, use the ssh-keygen
program on Linux/Unix or Windows (use Cygwin).
> ssh-keygen -t rsa -f ~/.ssh/id_rsa
> <type in
a
passphrase>
Two files ssh-keygen create: id_rsa (private key), id_rsa.pub (public key). (Note: this "passphrase" will be used later on when you login to a PlanetLab node with your slice name)
Upload id_rsa.pub (public key) in your PlanetLab Account Login by clicking the following tabs:
User -> Manage My Account -> Manage Keys -> (browse for the id_rsa.pub public key and upload it)
(Note that it may take take a few hours for the public key to get propagated to all the PlanetLab nodes)
Adding/Deleting PlanetLab nodes to the slice
Go to the PlanetLab Account Login site, and login with your email and password.
Click the following tabs:
Slice -> View Slice -> (click your slice name) -> Manage Nodes
In the Manage Node Assignments page, use "Filter" button to add or delete nodes from different sites for your slice.
(Note that the PlanetLab nodes selected will be nodes with resources allocated to do experiments in your slice. However, the nodes that you have reserved are not dedicated solely for your use. A number of other PlanetLab research projects may be running other experiments concurrently.)
Logging to a PlanetLab node (with your slice name)
In the command prompt, type:
> ssh -l <slice_name> -i <ssh public key> <PlanetLab node DNS record>
(example: ssh -l uci_dandelion -i ~/.ssh/id_rsa planetlab-1a.ics.uci.edu
For password, enter the "passphrase" you used to create the ssh-keygen key pair.
You should now be "remotely login" to this PlanetLab node
(Note that you will mostly see nothing in the directory structure, as you will be "deploying" any standard packages needed for your experiment, e.g. gcc, python, etc...)
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
A similar instruction on how to get started is also available here from PlanetLab. Instructions above contain more concrete instructions for UC Irvine.
Currently, all the PlanetLab nodes are based on Fedora Core 2. To ensure your application will execute correctly, it is recommended that you compile and test your application on a local Fedora Core 2 development machines prior to deploying the software on a PlanetLab node.
Do not use a PlanetLab node which does have Fedora Core 2 to do your development. PlanetLab nodes can be "unstable" at certain occasions and you may risk losing all of your development efforts should that node go down for some reason!).
In the NetLab, a machine with Fedora Core 2 installed is dedicated for PlanetLab experiment use. Please email a contact person at the bottom of this page to request for an user account to use this machine.
We recommend using a local machine to deploy your application and necessary packages onto the PlanetLab nodes (this local machine does not necessary have to be Fedora Core 2 since it is not used for developments, for rather deploying and collecting data traces).
You should only deploy binary files onto PlanetLab nodes to have a consistent development, testing, and debugging platform and avoid possibility of multiple code versions on different PlanetLab nodes.
To deploy your application to a single node, you
can use scp:
Alternatively, one can also use rsync, vxargs, or pssh and pscp. For more information, please visit website of these tools correspondingly:
pssh/pscp sample script (deploying a file onto the two UC Irvine nodes)
Make sure network setting are configured accordingly to allow sending and receiving traffic from local machine to the PlanetLab nodes (e.g. firewall, port number, etc...)
If you have sending too many SSH connections from a machine in UCI network to many PlanetLab nodes, your traffic may be considered abnormal and get blocked by UC Irvine NACS. In this case, contact NACS IT Security group to unblock (whitelist) your machine's IP address.
Test your scripts as you write them.
Back up your development files and collect data results as often as possible. PlanetLab nodes may come and go unpredictably and it is easy to lose data results if they are are retrieved accordingly.
Avoid installing custom software on each machine. Issues such as missing library files can occur and become difficult to maintain.
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)