Changes between Initial Version and Version 1 of OTM-PlanetLabInstall


Ignore:
Timestamp:
08/13/10 16:24:06 (11 years ago)
Author:
Prasad Calyam
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OTM-PlanetLabInstall

    v1 v1  
     1= !OnTimeMeasure Installation Procedure on !PlanetLab =
     2'''Prasad Calyam, Rohit Patali, Kunpeng Zhu'''[[BR]]
     3'''Aug 10, 2010'''[[BR]]
     4
     5''Software License:'' [http://www.geni.net/wp-content/uploads/2009/02/geniprojlic.pdf ''GENI Project License (GPL)''] [[BR]]
     6''For questions regarding this document, please contact - Rohit Patali rpatali@oar.net''
     7
     8== 1. Overview ==
     9This 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:
     10
     11 * Network paths monitoring
     12 * Network weather forecasting
     13 * Network performance anomaly detection
     14 * Network-bottleneck fault-location diagnosis
     15
     16The [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]]
     17
     18Before 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].
     19
     20For details regarding !OnTimeMeasure, please visit [http://groups.geni.net/geni/wiki/OnTimeMeasure OnTimeMeasure Wiki].[[BR]]
     21
     22For details regarding !PlanetLab, please visit [http://groups.geni.net/geni/wiki/PlanetLab PlanetLab Wiki]
     23
     24== 2. !OnTimeMeasure Installation Steps on !PlanetLab: ==
     25
     26=== 2.1 Requirements ===
     27The !OnTimeMeasure software package has the following requirements:
     28
     29A. ''Operating System:'' Fedora 8[[BR]]
     30
     31B. ''Pre-requisite Software:'' MySQL, Graphite, Perl, Python, Iperf, Ruby, Bwctl-server, Bwctl-client, Cairo, Python_Twisted, Python_Piddle, perl-CPAN[[BR]]
     32
     33C. ''Perl Modules:'' Config::Natural, POSIX, Sys::HostIP, DBI, IO::Socket::SSL, Log::Log4perl, Net::SSLeay, Math::Random, YAML[[BR]]
     34
     35'''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. [[BR]]
     36
     37D. ''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
     38
     39E. ''User Accounts:'' User must have registered accounts in the [http://ontime.oar.net OnTimeMeasure Researcher Web-portal] and [https://www.planet-lab.org/ PlanetLab].
     40
     41=== 2.2 !PlanetLab Slice Creation and Configuration ===
     42'''Note:''' To obtain detailed information about !PlanetLab slice creation, please refer to the [https://www.planet-lab.org/tutorial ''PlanetLab Tutorial''][[BR]]
     43
     44!PlanetLab slice can be created using the web interface by logging into your account or by using the sfi-client (CLI).
     45
     46=== 2.3 Software Installation ===
     47When all the slivers are "Ready", login to the [http://ontime.oar.net OnTimeMeasure Researcher Web-portal] and provide the Slice RSpec information before proceeding to install the measurement instance within the !PlanetLab slice. [[BR]]
     48
     49Next, 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)
     50
     51'''Note:''' In order to install any software using yum, use --nogpgcheck, otherwise installation will fail on !PlanetLab nodes.
     52
     53Install make and gcc
     54{{{
     55yum --nogpgcheck install make
     56yum --nogpgcheck install gcc
     57}}}
     58
     59__'''''On the Root Beacon:'''''__
     60
     61__Software installation__
     62{{{
     63wget http://ontime.oar.net/download/OnTimeMeasure-v1.0.tar.gz
     64tar xzf OnTimeMeasure-v1.0.tar.gz
     65tar xzf RootBeacon.tar.gz
     66cd RootBeacon/InstallScript
     67chmod +x ontime_software_install.sh
     68}}}
     69Edit “ontime_software_install.sh” and add --nogpgcheck in all occurrences of “yum install” statements. Your yum install statements should look like this:[[BR]]
     70yum --nogpgcheck install packagename
     71{{{
     72./ontime_software_install.sh
     73}}}
     74
     75__Perl CPAN Module Installation__ [[BR]]
     76
     77The Comprehensive Perl Archive Network (CPAN) tools is used to install the Perl modules listed in the System Requirement section and is installed by the ontime_software_install.sh script. 
     78
     79'''Note:''' The CPAN configuration must point to Internet2 Perl CPAN repository
     80
     81{{{
     82sudo perl -MCPAN -e shell
     83cpan>  o conf urllist push ftp://cpan.uchicago.edu/pub/CPAN/
     84cpan>  o conf prerequisites_policy follow
     85cpan>  o conf commit
     86cpan>  exit
     87chmod +x ontime_perlmodule_install.sh
     88./ontime_perlmodule_install.sh
     89}}}
     90
     91If some module fails to install, force install the module using CPAN, otherwise you may receive errors while trying to run file_server.pl and node_scheduler.pl later.
     92
     93{{{
     94sudo perl –MCPAN –e shell
     95cpan> force install modulename
     96}}}
     97
     98__MySQL Initialization__
     99
     100{{{
     101mysqladmin -u root password '<new-password>'
     102}}}
     103
     104__Graphite and Twisted Installation__
     105
     106Edit ontime_graphite_install.sh to add --nogpgcheck in all the “yum install” statements
     107{{{
     108chmod +x ontime_graphite_install.sh
     109sudo ./ontime_graphite_install.sh
     110}}}
     111
     112__'''''On a Node Beacon:'''''__
     113
     114__Software installation__
     115{{{
     116wget http://ontime.oar.net/download/OnTimeMeasure-v1.0.tar.gz
     117tar xzf OnTimeMeasure-v1.0.tar.gz
     118tar xzf NodeBeacon.tar.gz
     119cd NodeBeacon/InstallScript
     120chmod +x ontime_software_install.sh
     121}}}
     122Edit ontime_graphite_install.sh to add --nogpgcheck in all the “yum install” statements
     123{{{
     124./ontime_software_install.sh
     125}}}
     126
     127__Perl CPAN Module Installation__ [[BR]]
     128
     129The Comprehensive Perl Archive Network (CPAN) tools is used to install the Perl modules listed in the System Requirement section and is installed by the ontime_software_install.sh script. 
     130
     131'''Note:''' The CPAN configuration must point to Internet2 Perl CPAN repository
     132
     133{{{
     134sudo perl -MCPAN -e shell
     135cpan>  o conf urllist push ftp://cpan.uchicago.edu/pub/CPAN/
     136cpan>  o conf prerequisites_policy follow
     137cpan>  o conf commit
     138cpan>  exit
     139chmod +x ontime_perlmodule_install.sh
     140./ontime_perlmodule_install.sh
     141}}}
     142If some module fails to install, force install the module using CPAN as explained earlier.
     143
     144=== 2.4 Software Configuration ===
     145
     146'''Centralized Case:'''
     147
     148__'''''On the Root Beacon:'''''__
     149
     150__MySQL configuration__
     151
     152{{{
     153cd RootBeacon/InstallScript
     154mysql -u root -p < BuildWebServicesDatabase.sql
     155mysql -u root -p < BuildMeasurementDatabase.sql
     156mysql -u root –p
     157}}}
     158At the mysql prompt, type
     159{{{
     160CREATE USER 'collector'@'%' IDENTIFIED BY '<collector password>';
     161GRANT ALL PRIVILEGES ON `Measurements` .  * TO 'collector'@'%';
     162GRANT ALL PRIVILEGES ON `WebServices` .  * TO 'collector'@'%';
     163exit
     164}}}
     165'''Note 1:''' Please use the <collector password> provided as part of the Slice information at Step 2 in the Researcher Web-portal.
     166
     167'''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
     168
     169__Graphite Configuration__
     170
     171Initialize the graphite:
     172{{{
     173cd /opt/graphite/webapp/graphite/
     174sudo python manage.py syncdb
     175}}}
     176
     177'''Note:''' For the first time execution, you will be prompted for creating a 'root' user.
     178
     179Run the graphite and carbon daemons
     180
     181{{{
     182cd /opt/graphite/
     183python bin/carbon-cache.py start
     184sudo chmod -R 777 /opt/graphite/storage
     185nohup /opt/graphite/bin/run-graphite-devel-server.py /opt/graphite &
     186}}}
     187
     188'''Note:'''For some reason screen fails to work on !PlanetLab
     189
     190Then open <root_beacon_ip_address>:8080 in browser. No Error message should be received in order to proceed.
     191
     192__Root Beacon invocation options configuration__
     193
     194{{{
     195cd RootBeacon/InstallScript
     196perl config_wizard.pl
     197}}}
     198Follow the steps as directed by the wizard script.
     199
     200__'''''On a Node Beacon:'''''__
     201
     202__Node Beacon invocation options configuration__
     203
     204{{{
     205cd NodeBeacon/InstallScript
     206perl config_wizard.pl
     207}}}
     208Follow the steps as directed by the wizard script.
     209
     210__Node Beacon invocation options configuration__
     211
     212
     213=== 2.5 Software Invocation ===
     214
     215'''Centralized Case:'''
     216
     217__'''''On the Root Beacon:'''''__
     218
     219Go to "Collector/" and run
     220{{{
     221chmod +x ../AnalysisScripts/Plateau/plateau.exe
     222chmod +x ../AnalysisScripts/Forecast/forecaster/add_forecast
     223nohup perl collector.pl &
     224}}}
     225Then, go to "../!RootScheduler/"
     226{{{
     227nohup perl file_server.pl &
     228nohup perl action_script.pl &
     229}}}
     230No 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.
     231
     232__'''''On a Node Beacon:'''''__
     233
     234Go to 'Datagen/certs' run
     235
     236{{{
     237chmod +x createSSL.sh
     238./createSSL.sh
     239cd ..
     240nohup perl file_server.pl &
     241nohup perl node_scheduler.pl &
     242}}}
     243