= !OnTimeMeasure Installation Procedure on !PlanetLab = '''Prasad Calyam, Rohit Patali, Kunpeng Zhu'''[[BR]] '''Aug 18, 2010'''[[BR]] ''For questions regarding this document, please contact - Rohit Patali rpatali@oar.net'' == 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 [http://ontime.oar.net ''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. [[BR]] Before proceeding further, we highly recommend reading the [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/OnTimeMeasure-v1_Tutorial_061610.pdf OnTimeMeasure Tutorial] and [https://www.planet-lab.org/tutorial PlanetLab Tutorial]. For details regarding !OnTimeMeasure, please visit [http://groups.geni.net/geni/wiki/OnTimeMeasure OnTimeMeasure Wiki].[[BR]] For details regarding !PlanetLab, please visit [http://groups.geni.net/geni/wiki/PlanetLab PlanetLab Wiki] == 2. !OnTimeMeasure Installation Steps on !PlanetLab: == === 2.1 Requirements === The !OnTimeMeasure software package has the following requirements: A. ''Operating System:'' Fedora 8 B. ''Pre-requisite Software:'' MySQL, Graphite, Perl, Python, Iperf, Ruby, Bwctl-server, Bwctl-client, Cairo, Python_Twisted, Python_Piddle, perl-CPAN C. ''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. D. ''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 E. ''User Accounts:'' User must have registered accounts in the [http://ontime.oar.net OnTimeMeasure Researcher Web-portal] and [https://www.planet-lab.org/ PlanetLab]. === 2.2 !PlanetLab Slice Creation and Configuration === '''Note:''' To obtain detailed information about !PlanetLab slice creation, please refer to the [https://www.planet-lab.org/tutorial ''PlanetLab Tutorial''][[BR]] !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 === Download the latest OnTimeMeasure release package at http://ontime.oar.net/download/OnTimeMeasure_latest.php. Once you have downloaded the tar file, untar/unzip to see that it contains: * !NodeBeacon.tar.gz * !RootBeacon.tar.gz * README.txt Next, login using SSH to each of the servers, copy the appropriate tar files over, and run the following commands to install the measurement service: __'''''On the Root Beacon:'''''__ __Software installation__ {{{ tar xzf RootBeacon.tar.gz cd RootBeacon/InstallScript chmod +x ontime_software_install.sh ./ontime_software_install.sh }}} __'''''On a Node Beacon:'''''__ __Software installation__ {{{ tar xzf NodeBeacon.tar.gz cd NodeBeacon/InstallScript chmod +x ontime_software_install.sh ./ontime_software_install.sh }}} === 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 ''; GRANT ALL PRIVILEGES ON `Measurements` . * TO 'collector'@'%'; GRANT ALL PRIVILEGES ON `WebServices` . * TO 'collector'@'%'; exit }}} '''Note 1:''' Please use the 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 http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html __Invocation options configuration__ {{{ perl config_wizard.pl }}} Follow the steps as directed by the wizard script. __'''''On a Node Beacon:'''''__ __Invocation options configuration__ {{{ perl config_wizard.pl }}} Follow the steps as directed by the wizard script. '''Note:''' If you want to customize the parameters on invoking measurement tools, you can manually modify the "runtool.conf" which locates in the "NodeBeacon/etc" folder. __'''''On the Web-portal:'''''__ Login to the [http://ontime.oar.net 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 collector.pl & }}} Then, go to "../!RootScheduler/" {{{ nohup /opt/graphite/bin/run-graphite-devel-server.py /opt/graphite & nohup perl file_server.pl & nohup perl action_script.pl & }}} __'''''On a Node Beacon:'''''__ Go to 'Datagen/' run {{{ nohup perl file_server.pl & nohup perl node_scheduler.pl & }}}