= !OnTimeMeasure Installation On CRON = '''Prasad Calyam, Kunpeng Zhu'''[[BR]] '''Nov 01, 2010''' ''Software License:'' [http://www.geni.net/wp-content/uploads/2009/02/geniprojlic.pdf ''GENI Project License (GPL)''] == 1. Getting Started == This document describes the installation, configuration and usage of !OnTimeMeasure, which 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 ProtoGENI/Emulab and !PlanetLab users to register, create and monitor experiment slices on geographically distributed resources in their facility. Before proceeding further, we highly recommend reading the [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/OnTimeMeasure_Tutorial.pdf OnTimeMeasure Tutorial]. == 2. Requirements == The !OnTimeMeasure software package has the following requirements: A. ''Operating System:'' Ubuntu 10.04 x64 B. ''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 C. ''User Accounts:'' User must have registered accounts in the [http://ontime.oar.net OnTimeMeasure Researcher Web-portal] and [https://www.cron.cct.lsu.edu/ CRON Testbed] D. ''CRON slice:'' Create a new experimental slice in CRON with at least 3 nodes. One acts an extra role of the root beacon. '''Note:''' Following are the pre-requisite software and Perl modules, which will be installed automatically by the scripts delivered in the !OnTimeMeasure release package. ''Pre-requisite Software:'' MySQL, Graphite, Perl, Python, Iperf, Ruby, Bwctl-server, Bwctl-client, Cairo, Python_Twisted, Python_Piddle ''Perl Modules:'' Config::Natural, POSIX, DBI, IO::Socket::SSL, Log::Log4perl, Net::SSLeay, Math::Random == 3. Centralized Case Installation == === 3.1 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 Server:'''''__ {{{ tar xzf RootBeacon.tar.gz cd RootBeacon/InstallScript chmod +x ontime_software_install_ubuntu64.sh ./ontime_software_install_ubuntu64.sh }}} __'''''On a Node Beacon Server:'''''__ {{{ tar xzf NodeBeacon.tar.gz cd NodeBeacon/InstallScript chmod +x ontime_software_install_ubuntu64.sh ./ontime_software_install_ubuntu64.sh }}} === 3.2 Software Configuration === __'''''On the Root Beacon Server:'''''__ __MySQL configuration__ {{{ 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 change the to a safe password. '''Note 2:''' If remote access to MySQL on the Root Beacon is disabled, please open the port TCP/3306 in the firewall 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 Server:'''''__ __Invocation options configuration__ {{{ perl config_wizard.pl }}} Follow the steps as directed by the wizard script. '''Note 1:''' If you have multiple public IPs on a node, please open the "run-tool.conf" and make sure the "local_ip" is the one you want to use in the measurement. '''Note 2:''' 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. === 3.3 Software Invocation === __'''''On the Root Beacon Server:'''''__ Go to "!RootBeacon/!RootScheduler/" and run {{{ screen /opt/graphite/bin/run-graphite-devel-server.py /opt/graphite }}} If no error is reported, press '+a, c' sequence to open a new blank command window. {{{ perl file_server.pl }}} If no error is reported, press '+a, c' sequence to open a new blank command window. {{{ perl action_script.pl }}} If no error is reported, press '+a, c' sequence to open a new blank command window. {{{ cd ../Collector/ perl collector.pl }}} If no error is reported, press '+a, d' sequence in the SSH window to keep the service running in the background. __'''''On a Node Beacon Server:'''''__ Go to '!NodeBeacon/Datagen/' and run {{{ screen perl file_server.pl }}} If no error is reported, press '+a, c' sequence to open a new blank command window. {{{ perl node_scheduler.pl }}} If no error is reported, press '+a, d' sequence in the SSH window to keep the service running in the background. Go to the web portal to add measurement tasks and start the measurement.