Version 4 (modified by, 9 years ago) (diff)


OnTimeMeasure Installation Procedure on PlanetLab

Prasad Calyam, Rohit Patali, Kunpeng Zhu
Aug 18, 2010

For questions regarding this document, please contact - Rohit Patali

1. Overview

This document describes the installation, configuration and usage of OnTimeMeasure-v1.0 on PlanetLab. OnTimeMeasure is a prototype measurement service for the GENI facility users. The measurement service can be used to perform centralized and distributed orchestration and provisioning of active measurements within experiment slices for purposes such as:

  • Network paths monitoring
  • Network weather forecasting
  • Network performance anomaly detection
  • Network-bottleneck fault-location diagnosis

The 'OnTimeMeasure researcher web-portal' enables a ProtoGENI/Emulab and PlanetLab user to register, create and monitor experiment slices on a geographically distributed resources in the GENI facility.

Before proceeding further, we highly recommend reading the OnTimeMeasure Tutorial and PlanetLab Tutorial.

For details regarding OnTimeMeasure, please visit OnTimeMeasure Wiki.

For details regarding PlanetLab, please visit PlanetLab Wiki

2. OnTimeMeasure Installation Steps on PlanetLab:

2.1 Requirements

The OnTimeMeasure software package has the following requirements:

  1. Operating System: Fedora 8
  1. Pre-requisite Software: MySQL, Graphite, Perl, Python, Iperf, Ruby, Bwctl-server, Bwctl-client, Cairo, Python_Twisted, Python_Piddle, perl-CPAN
  1. Perl Modules: Config::Natural, POSIX, Sys::HostIP, DBI, IO::Socket::SSL, Log::Log4perl, Net::SSLeay, Math::Random, YAML, HTTP::Daemon

Note: The Pre-requisite Software and Perl Modules installation is handled by the scripts delivered in the OnTimeMeasure-v1.0 package. See following sections for details.

  1. Open ports: For RootBeacon server: MySQL TCP/3306, Graphite TCP/2003 and TCP/17280, Collector TCP/7777, HTTP TCP/17290; For NodeBeacon server: BWCTL TCP/4823, Nodescheduler TCP/17249, HTTP TCP/17290
  1. User Accounts: User must have registered accounts in the OnTimeMeasure Researcher Web-portal and PlanetLab.

2.2 PlanetLab Slice Creation and Configuration

Note: To obtain detailed information about PlanetLab slice creation, please refer to the 'PlanetLab Tutorial'

PlanetLab slice can be created using the web interface by logging into your account or by using the sfi-client (CLI).

2.3 Software Installation

Login using SSH to each of the servers, and install the following packages which might not have come pre-installed on a Fedora Core 8 (default OS for PlanetLab)

Note: In order to install any software using yum, use --nogpgcheck, otherwise installation will fail on PlanetLab nodes.

Install make and gcc

yum --nogpgcheck install make
yum --nogpgcheck install gcc

On the Root Beacon:

Software installation

tar xzf OnTimeMeasure-v1.0.tar.gz
tar xzf RootBeacon.tar.gz
cd RootBeacon/InstallScript
chmod +x

Edit “” and add --nogpgcheck in all occurrences of “yum install” statements. Your yum install statements should look like this:
yum --nogpgcheck install packagename


If some perl module fails to install, force install the module using CPAN, otherwise you may receive errors while trying to run and later.

sudo perl –MCPAN –e shell
cpan> force install modulename

MySQL Initialization

mysqladmin -u root password '<new-password>'

On a Node Beacon:

Software installation

tar xzf OnTimeMeasure-v1.0.tar.gz
tar xzf NodeBeacon.tar.gz
cd NodeBeacon/InstallScript
chmod +x

Edit to add --nogpgcheck in all the “yum install” statements


If some perl module fails to install, force install the module using CPAN as explained earlier.

2.4 Software Configuration

Centralized Case:

On the Root Beacon:

MySQL configuration

cd RootBeacon/InstallScript
mysql -u root -p < BuildWebServicesDatabase.sql
mysql -u root -p < BuildMeasurementDatabase.sql
mysql -u root –p

At the mysql prompt, type

CREATE USER 'collector'@'%' IDENTIFIED BY '<collector password>';
GRANT ALL PRIVILEGES ON `Measurements` .  * TO 'collector'@'%';
GRANT ALL PRIVILEGES ON `WebServices` .  * TO 'collector'@'%';

Note 1: Please use the <collector password> provided as part of the Slice information at Step 2 in the Researcher Web-portal.

Note 2: If remote access to MySQL on the Root Beacon is disabled, please open the port TCP/3306 and follow the tutorial at

Graphite Configuration

Initialize the graphite:

cd /opt/graphite/webapp/graphite/
sudo python syncdb

Note: For the first time execution, you will be prompted for creating a 'root' user.

Run the graphite and carbon daemons

cd /opt/graphite/
python bin/ start
sudo chmod -R 777 /opt/graphite/storage
nohup /opt/graphite/bin/ /opt/graphite &

Note:For some reason screen fails to work on PlanetLab

Then open <root_beacon_ip_address>:17280 in browser. No Error message should be received in order to proceed.

Root Beacon invocation options configuration

cd RootBeacon/InstallScript

Follow the steps as directed by the wizard script.

On a Node Beacon:

Node Beacon invocation options configuration

cd NodeBeacon/InstallScript

Follow the steps as directed by the wizard script.

On the Web-portal:

Login to the OnTimeMeasure Researcher Web-portal and provide the Slice RSpec information.

2.5 Software Invocation

Centralized Case:

On the Root Beacon:

Go to "Collector/" and run

nohup perl &

Then, go to "../RootScheduler/"

nohup perl &
nohup perl &

No error should be reported. If you see errors while trying to run any of the scripts, it is likely that the depend perl modules are not installed correctly. A good way to check if the above scripts work is to run them without nohup to see the output and after making sure they work correctly, the scripts can be stopped and re-run using nohup. In case, an error occurs, you can install the missing modules (module name will appear in the error message) using procedure explained in the beginning.

On a Node Beacon:

Go to 'Datagen/' run

nohup perl &
nohup perl &