= !OnTimeMeasure-GENI Installation Procedure on ProtoGENI = '''Prasad Calyam, Kunpeng Zhu, Yingxiao Xu'''[[BR]] '''Mar 08, 2011''' ''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 measurement service for the GENI infrastructure users. The measurement service can be used to perform centralized and distributed orchestration and provisioning of 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 users to register, instrument and monitor experiment slices on geographically distributed resources. Before proceeding further, we highly recommend reading the [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/OnTimeMeasure_Tutorial.pdf !OnTimeMeasure Experimenter Tutorial] to get a background. == 2. Requirements == The !OnTimeMeasure software package has the following requirements: A. ''Operating System:'' Fedora 8 ('''Note:''' Input FEDORA8-STD as operating system when you create PCs) B. ''Open Ports:'' For Root Beacon server: MySQL TCP/3306, Graphite TCP/2003 and TCP/17280, Collector TCP/7777, HTTP TCP/17290, Supervisor TCP/17291; For Node Beacon server: Nodescheduler TCP/17249, HTTP TCP/17290, Supervisor TCP/17291 ('''Note:''' These ports are opened by default) C. ''User Accounts:'' User must have registered accounts in the [http://ontime.oar.net OnTimeMeasure Researcher Web-portal] and [http://www.emulab.net Emulab Network Testbed] D. ''ProtoGENI slice:'' Create a new experimental slice in the [https://www.emulab.net/beginexp_html.php3 Emulab website] with at least 3 PCs. '''Note 1:''' You can create a new slice in ProtoGENI using either the [https://www.protogeni.net/trac/protogeni/wiki/TestScripts Test Scripts], [http://groups.geni.net/geni/wiki/HowToUseOmni Omni], [http://www.emulab.net/ Emulab Java UI] or the [https://www.protogeni.net/trac/protogeni/wiki/FlackTutorial Flack] interfaces. You can refer to our [http://groups.geni.net/geni/wiki/ExperienceWithProtoGENI#a4.ExperiencesinCreatingProtoGENISlices Experiences in Creating ProtoGENI Slices] and to our [http://groups.geni.net/geni/wiki/OnTimeMeasureTutorial Tutorial on OnTimeMeasure capabilities for Experimenters]. If you still use the command line Emulab test scripts to create a slice, see the end of this document for an example RSpec. For detailed step-by-step installation and hands-on tutorial of using OnTimeMeasure with Emulab Java UI, please refer to - http://groups.geni.net/geni/wiki/otm-emulab-java-ui-tutorial '''Note 2:''' Typically, two or more Node Beacons and one Root Beacon need to be installed on separate dedicated PCs in a slice; it is however possible to install Root Beacon on one of the Node Beacon PCs. '''Note 3:''' 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:'' Iperf, MySQL, Graphite, Perl, Python, Ruby, Python-setuptools, Supervisor ''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. In ProtoGENI, home directory is shared amongst all PCs in a slice. So, you only need to download the release package once, and reuse the installation file in each PC. For example, you can run the following command in an empty folder: {{{ wget http://ontime.oar.net/download/OnTimeMeasure_latest.php tar xzf *.gz }}} 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 PCs, run the following commands to install the measurement service. You will be prompted to set a supervisor account during the Graphite installation, and also will be prompted to set a password of an automatically created database user: ''collector''. '''Note:''' Note that the ''collector'' password will apply to both centralized and distributed measurement cases of !OnTimeMeasure. __'''''On the Root Beacon PC:'''''__ {{{ tar xzf RootBeacon.tar.gz cd RootBeacon/InstallScript ./ontime_software_install.sh }}} __'''''On a Node Beacon PC:'''''__ {{{ tar xzf NodeBeacon.tar.gz cd NodeBeacon/InstallScript ./ontime_software_install.sh }}} === 3.2 Software Configuration and Invocation === ==== Through !OnTime Beacon web-portal ==== Login to the [http://ontime.oar.net OnTimeBeacon]. Setup resources (provide RSpec information) and control Node/Root Beacons within slice in an ''interactive'' manner. Video demos of these steps can be viewed at [http://ontime.oar.net/demo/] ==== Through !OnTime Control command-line tools ==== Follow the [http://groups.geni.net/geni/wiki/OTM-Control ''OntimeControl Manual''] to control Node/Root Beacons within slice in an ''automated'' manner. == 4. Distributed Case Installation == === 4.1 Software Installation === The ''Centralized Case Installation'' will install distributed version automatically. If you want to only install the distributed version, do the following steps: 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 Only the !NodeBeacon.tar.gz is needed. Run the following commands to install the measurement service: {{{ tar xzf NodeBeacon.tar.gz cd NodeBeacon/InstallScript ./ontime_software_install.sh }}} === 4.2 Software Configuration and Invocation === ==== Through !OnTime Beacon web-portal ==== Login to the [http://ontime.oar.net OnTimeBeacon]. Setup resources (provide RSpec information) and control Node/Root Beacons within slice in an ''interactive'' manner. Video demos of these steps can be viewed at [http://ontime.oar.net/demo/] ==== Through !OnTime Control command-line tools ==== Follow the [http://groups.geni.net/geni/wiki/OTM-Control ''OntimeControl Manual''] to control Node/Root Beacons within slice in an ''automated'' manner. == 5 Reference == === 5.1 Sample RSpec === An example of a centralized orchestration RSpec that consists of 3 nodes is as follows: {{{ 1000000 1000000 }}} === 5.2 Sliver Creation and Management === Create and manage a sliver by the Emulab test scripts. - Register a slice {{{ registerslice.py –n }}} - Create sliver inside slice {{{ createsliver.py –n }}} - Check sliver status {{{ sliverstatus –n }}} '''Note:''' You may need to renew your sliver just after successful creation. For this, {{{ renewsliver –n