CSC491 – Second Milestone

Not quite as far along as I want to be, but definitely getting there.  Refreshed my rpm and general sysadminning memories in the process.  Still a lot to get done to have anything interesting…

A bit of background is in order to understand what I’ve been up to.  I’ve been working this week on getting the hang of working with the Planet-Lab infrastructure, and can mostly find my way around it manually now.  I haven’t figured out how to automate the interactions with it in the way that will be needed for this project, but it’s a start.

Planet-Lab is a network of computers around the world which researchers can obtain access to (eventually).  As a user, one gets a “slice”, which as far as I can tell is just a project-specific username.  The user can assign virtual machines on the “nodes”, which are the actual machines.  Users have limited root access on the nodes, and can install software, set up cron jobs (scheduled tasks), and run scripts.

So where has this gotten me? Well, read on….

Things which have gone wrong:

  • ran out of space on, the virtual machine I’ve been working on.  Fixable, but not before class.
  • had to install a bunch of stuff to get the various planetlab deployment tools and python shell (not) working (see previous point).  Also fixable.
  • realized that one can only have one ssh key on planet-lab at a given time.  Fixed this after the usual wait to deploy new keys out onto the infrastructure.
  • socket problems on the PL nodes.  Not sure about this one, will need to do more research.
  • the Django Book continues to be frustratingly out of date.  Need to bug classmates more.

Things which are working:

  • CoDeploy built and running from my desktop, allowing me to deploy files out to the Planet-Lab nodes, run commands on the nodes, install rpm’s, etc
  • Adding and deleting nodes from my “slice” via the PL API from a python script.
  • TCP traceroutes using tcptraceroute.
  • A small python script which allows the nodes to phone home their results with an HTTP POST, but there’s nowhere to POST it to yet…


  • sort out the strategy for enumerating nodes to be added to the slice, or whether it’s worth just keeping them all added and updated
  • script running of queries on the nodes
  • choose the options available for running queries
  • finish the “results” bit of the django app to receive the result pings from the nodes
  • get Steve and Alex working on some of the scripting with me