Changes between Version 15 and Version 16 of OnTime-Installv1


Ignore:
Timestamp:
06/23/10 18:02:48 (9 years ago)
Author:
Prasad Calyam
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OnTime-Installv1

    v15 v16  
    11= !OnTimeMeasure-GENI Installation Document =
    2 '''Prasad Calyam, Weiping Mandrawa, Kunpeng Zhu'''[[BR]]
     2'''Prasad Calyam, Kunpeng Zhu'''[[BR]]
    33'''May 31, 2010'''[[BR]]
    44
    55''Software License:'' [http://www.geni.net/wp-content/uploads/2009/02/geniprojlic.pdf ''GENI Project License (GPL)''] [[BR]]
    66
    7 == 1. System Requirements: ==
    8 A. Operating System: Fedora[[BR]]
    9 
    10 B. Software: MySQL, Graphite, Perl, Python, Iperf, Ruby, Bwctl-server, Bwctl-client, Python_Twisted, Python_Piddle, perl-CPAN[[BR]]
    11 
    12 C. Perl Modules: Config::Natural, POSIX, Sys::HostIP, DBI, IO::SOCKET::SSL, Log::Log4perl:Net::SSLeay, Math::Random, YAML[[BR]]
    13 
    14 The Prerequisites Software and Perl Modules installation is handled by the scripts delivered in the OnTimeMeasure-GENI-v1.0 package. See following sections for details.
    15                
    16 == 2. !OnTimeMeasure-GENI Installation: ==
    17 
    18 !OnTimeMeasure-GENI 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:
     7== 1. Getting Started ==
     8This document describes the installation, configuration and usage of !OnTimeMeasure-v1.0, 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:
    199
    2010 * Network paths monitoring
     
    2313 * Network-bottleneck fault-location diagnosis
    2414
    25 The [http://ontime.oar.net ''OnTimeMeasure researcher web-portal''] enables a ProtoGENI/Emulab user to register, create and monitor experiment slices on a geographically distributed backbone encompassing Internet2 resources with experiment nodes at Kansas, Washington and Utah locations.
    26 
    27 An example deployment of centralized !OnTimeMeasure-GENI could feature 1 Root Beacon at Kansas, and 2 Node Beacons at Washington and Utah locations, respectively.
    28 
    29 An example deployment of distributed !OnTimeMeasure-GENI could feature Node Beacons at Kansas, Washington and Utah locations, respectively.
    30 
    31 === 2.1 ProtoGENI Slice Creation and Configuration ===
     15The [http://ontime.oar.net ''OnTimeMeasure researcher web-portal''] enables a ProtoGENI/Emulab user to register, create and monitor experiment slices on a geographically distributed backbone encompassing Internet2 resources with experiment nodes at Kansas, Washington and Utah locations. [[BR]]
     16
     17Before proceeding further, we highly recommend reading the [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/OnTimeMeasure-v1_Tutorial_061610.pdf Early Experimenter Tutorial].
     18       
     19== 2. !OnTimeMeasure Installation: ==
     20
     21=== 2.1 Requirements ===
     22The !OnTimeMeasure software package has the following requirements:
     23
     24A. ''Operating System:'' Fedora[[BR]]
     25
     26B. ''Pre-requisite Software:'' MySQL, Graphite, Perl, Python, Iperf, Ruby, Bwctl-server, Bwctl-client, Python_Twisted, Python_Piddle, perl-CPAN[[BR]]
     27
     28C. ''Perl Modules:'' Config::Natural, POSIX, Sys::HostIP, DBI, IO::SOCKET::SSL, Log::Log4perl:Net::SSLeay, Math::Random, YAML[[BR]]
     29
     30'''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]]
     31
     32D. ''Open ports:'' For !RootBeacon server: MySQL TCP/3306, Graphite TCP/2003 and TCP/8080, Collector TCP/7777; For !NodeBeacon server: BWCTL TCP/4823, Nodescheduler TCP/17249
     33
     34E. ''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]
     35
     36=== 2.2 ProtoGENI Slice Creation and Configuration ===
    3237'''Note:''' To obtain detailed information about ProtoGENI slice creation, please refer to the [https://users.emulab.net/trac/protogeni/wiki/TutorialNew ''ProtoGENI Tutorial''][[BR]]
    3338
     
    7883</rspec>
    7984}}}
    80 To check availability of nodes to include in an RSpec, please refer to the [https://www.emulab.net/nodecontrol_list.php3?showtype=widearea&typefilter=pcpg,pcpg-i2 ''Emulab web-page'']. Note that you will need to have an Emulab account to access the web-page.[[BR]]
    81 
    82 === 2.2 Sliver Creation and Management ===
     85To check availability of nodes to include in an RSpec, please refer to the [http://www.protogeni.net/trac/protogeni/wiki/FlashInterface ''ProtoGENI Flash Interface''].
     86
     87=== 2.3 Sliver Creation and Management ===
    8388
    8489-       Register a slice
     
    102107}}}
    103108
    104 Note: You may need to renew your sliver just after successful creation. For this,
     109'''Note:''' You may need to renew your sliver just after successful creation. For this,
    105110{{{
    106111renewsliver –n <slice name> <time>
     
    109114
    110115
    111 === 2.3 Software Installation ===
    112 When all the slivers are "Ready", login to each of the servers and run the following commands to setup the environment:
    113 
    114 ''Get RPM key from Internet2''[[BR]]
    115 '''Note:''' RPM key is needed to allow software installation through Internet2 network
    116 
    117 Software install on: [(Centralized: root beacon, node beacon), (Distributed: node beacon)]
    118 
    119 {{{
     116=== 2.4 Software Installation ===
     117When 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 ProtoGENI slice. [[BR]]
     118
     119'''Note:''' Slice RSpec should include reservation of any required measurement resources.[[BR]]
     120
     121Once you have provided the RSpec information, you will have received download information about the ''!OnTimeMeasure-v1.0.tar.gz'' software.[[BR]]
     122In case you have not received this information, please email - pcalyam@osc.edu [[BR]]
     123
     124Once you have downloaded the tar file, untar/unzip to see that !OnTimeMeasure-v1.0.tar.gz contains:[[BR]]
     125
     126 * !NodeBeacon/Centralized.tar.gz
     127 * !NodeBeacon/Distributed.tar.gz
     128 * !RootBeacon/RootBeacon.tar.gz
     129 * README.txt
     130
     131Next, login using SSH to each of the servers, copy the appropriate tar files over, untar them, and run the following commands to setup the measurement instance environment:
     132
     133'''Centralized Case:'''
     134
     135''On the Root Beacon Server:''
     136
     137Software installation:
     138{{{
     139tar xzf RootBeacon.tar.gz
    120140cd RootBeacon/InstallScript
    121141chmod +x ontime_software_install.sh
     
    123143}}}
    124144
    125 ''Perl CPAN Module Installation'' [[BR]]
     145Perl CPAN Module Installation [[BR]]
     146
    126147The 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. 
    127148
    128149'''Note:''' The CPAN configuration must point to Internet2 Perl CPAN repository
    129 
    130 Software install on: [(Centralized: root beacon, node beacon), (Distributed: node beacon)]
    131150
    132151{{{
     
    140159}}}
    141160
    142 Additional software install only on the [(Centralized: root beacon)] -
    143 
     161MySQL Initialization
    144162
    145163{{{
     
    147165}}}
    148166
    149 ''!OnTimeMeasure-GENI Software Installation''
    150 
    151 Software install on: [(Centralized: root beacon, node beacon), (Distributed: node beacon)]
    152 
    153 To obtain download information about the ''!OnTimeMeasure-v1.0.tar.gz'' software, please email - pcalyam@osc.edu [[BR]]
    154 
    155 Once you have downloaded the tar file, untar/unzip on root beacon and node beacons.
    156 
    157 === 2.4 Software Configuration ===
    158 
    159 ''NTP Configuration''
    160 
    161 Software configuration on: [(Distributed: node beacon)][[BR]]
     167Graphite and Twisted Installation
     168
     169{{{
     170cd RootBeacon/InstallScript
     171chmod +x ontime_graphite_install.sh
     172sudo ./ontime_graphite_install.sh
     173}}}
     174
     175''On a Node Beacon Server:''
     176
     177Software installation:
     178{{{
     179tar xzf NodeBeacon.tar.gz
     180cd NodeBeacon/InstallScript
     181chmod +x ontime_software_install.sh
     182./ontime_software_install.sh
     183}}}
     184
     185Perl CPAN Module Installation [[BR]]
     186
     187The 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. 
     188
     189'''Note:''' The CPAN configuration must point to Internet2 Perl CPAN repository
     190
     191{{{
     192$ sudo perl -MCPAN -e shell
     193        cpan[1]>  o conf urllist push ftp://cpan.uchicago.edu/pub/CPAN/
     194cpan[1]>  o conf prerequisites_policy follow
     195cpan[1]>  o conf commit
     196cpan[1]>  exit
     197$ chmod +x ontime_perlmodule_install.sh
     198$ ./ontime_perlmodule_install.sh
     199}}}
     200
     201'''Distributed Case:'''
     202
     203''On a Node Beacon Server:''
     204
     205Software installation:
     206{{{
     207tar xzf Distributed.tar.gz
     208cd Distributed/InstallScript
     209chmod +x ontime_software_install.sh
     210./ontime_software_install.sh
     211}}}
     212
     213Perl CPAN Module Installation [[BR]]
     214
     215The 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. 
     216
     217'''Note:''' The CPAN configuration must point to Internet2 Perl CPAN repository
     218
     219{{{
     220$ sudo perl -MCPAN -e shell
     221        cpan[1]>  o conf urllist push ftp://cpan.uchicago.edu/pub/CPAN/
     222cpan[1]>  o conf prerequisites_policy follow
     223cpan[1]>  o conf commit
     224cpan[1]>  exit
     225$ chmod +x ontime_perlmodule_install.sh
     226$ ./ontime_perlmodule_install.sh
     227}}}
     228
     229=== 2.5 Software Configuration ===
     230
     231'''Centralized Case:'''
     232
     233''On the Root Beacon Server:''
     234
     235MySQL configuration
     236
     237{{{
     238cd RootBeacon/InstallScript
     239mysql -u root -p < BuildWebServicesDatabase.sql
     240mysql -u root -p < BuildMeasurementDatabase.sql
     241mysql -u root –p
     242}}}
     243At the mysql prompt, type
     244{{{
     245CREATE USER 'collector'@'%' IDENTIFIED BY '<collector password>';
     246GRANT ALL PRIVILEGES ON `Measurements` .  * TO 'collector'@'%';
     247GRANT ALL PRIVILEGES ON `WebServices` .  * TO 'collector'@'%';
     248}}}
     249
     250'''Note:''' 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
     251
     252Graphite Configuration
     253
     254Initialize the graphite:
     255{{{
     256cd /opt/graphite/webapp/graphite/
     257sudo python manage.py syncdb
     258}}}
     259
     260'''Note:''' For the first time execution, you will be prompted for creating a 'root' user.
     261
     262Run the graphite and carbon daemons
     263
     264{{{
     265cd /opt/graphite/
     266python bin/carbon-cache.py start
     267nohup /opt/graphite/bin/run-graphite-devel-server.py /opt/graphite &
     268}}}
     269
     270SCP configuration
     271
     272{{{
     273ssh-keygen -t rsa
     274cat .ssh/id_rsa.pub | ssh uploader@ontime.oar.net "cat >> .ssh/authorized_keys"
     275}}}
     276Use the default settings and the password for user uploader is 'uploader'
     277
     278''On a Node Beacon Server:''
     279
     280SCP configuration
     281
     282{{{
     283ssh-keygen -t rsa
     284cat .ssh/id_rsa.pub | ssh uploader@ontime.oar.net "cat >> .ssh/authorized_keys"
     285}}}
     286Use the default settings and the password for user uploader is 'uploader'
     287
     288'''Distributed Case:'''
     289
     290''On a Node Beacon Server:''
     291
     292NTP Configuration
     293
     294Software configuration on
    162295
    163296{{{
     
    173306}}}
    174307
    175 ''BWCTL Configuration''[[BR]]
    176 
    177 
    178 Software configuration on: [(Distributed: node beacon)]
    179 
    180 Edit the BWCTL config: /etc/bwctld/bwctld.conf [[BR]]
     308BWCTL Configuration
     309
     310Edit the BWCTL config: /etc/bwctld/bwctld.conf
    181311
    182312Remove the comments on the below lines and edit them as:
     
    185315sync_fuzz 5
    186316}}}
     317
    187318Edit the BWCTL limits: /etc/bwctld/bwctld.limits
    188319Change the regular limit to:
     320
    189321{{{
    190322limit regular with parent=root, \
     
    197329'''Note:''' For more detailed instructions to configure NTP and BWCTL, please refer to the BWCTL Tool website. (http://www.internet2.edu/performance/bwctl/)
    198330
    199 ''Database Configuration''[[BR]]
    200 
    201 Software configuration on: [(Centralized: root beacon)]
    202 {{{
    203 cd RootBeacon/InstallScript
    204 mysql -u root -p < BuildWebServicesDatabase.sql
    205 mysql -u root -p < BuildMeasurementDatabase.sql
    206 mysql -u root –p
    207 }}}
    208 At the mysql prompt, type
    209 {{{
    210 CREATE USER 'collector'@'%' IDENTIFIED BY '<collector password>';
    211 GRANT ALL PRIVILEGES ON `Measurements` .  * TO 'collector'@'%';
    212 GRANT ALL PRIVILEGES ON `WebServices` .  * TO 'collector'@'%';
    213 }}}
    214 
    215 
    216 ''Graphite and Twisted Installation''[[BR]]
    217 
    218 Go to install script folder and run: [(Centralized: root beacon)]
    219 {{{
    220 cd RootBeacon/InstallScript
    221 chmod +x ontime_graphite_install.sh
    222 sudo ./ontime_graphite_install.sh
    223 }}}
    224 
    225 ''Graphite Configuration and daemon start''[[BR]]
    226 
    227 Initialize the graphite: [(Centralized: root beacon)]
    228 {{{
    229 cd /opt/graphite/webapp/graphite/
    230 sudo python manage.py syncdb
    231 }}}
    232 
    233 '''Note:''' For the first time execution, you will be prompted for creating a 'root' user
    234 
    235 Run the graphite and carbon deamon: [(Centralized: root beacon)]
    236 {{{
    237 cd /opt/graphite/
    238 python bin/carbon-cache.py start
    239 nohup /opt/graphite/bin/run-graphite-devel-server.py /opt/graphite &
    240 }}}
    241 
    242 SCP configuration: [(Centralized: root beacon, node beacon), (Distributed: node beacon)]
    243 
    244 run:
     331
     332SCP configuration
     333
    245334{{{
    246335ssh-keygen -t rsa
     
    249338Use the default settings and the password for user uploader is 'uploader'
    250339
    251 === 2.5 Software Invocation ===
    252 
    253 Once all necessary software has been installed, please follow instructions as described below:
    254 
    255 ''On Root Beacons'' in the Centralized Orchestration Case -
    256 
    257 Software invocation on: [(Centralized: node beacon)]
    258 
    259 Edit !NodeScheduler/etc/node.conf to configure the node scheduler, and go to 'Datagen/certs' run and type
     340=== 2.6 Software Invocation ===
     341
     342'''Centralized Case:'''
     343
     344''On the Root Beacon Server:''
     345
     346Edit !RootBeacon/etc/root.conf and measurement.conf as guided by in-file comments, and then go to "Collector/" and run
     347{{{
     348nohup perl collector.pl &
     349}}}
     350Next, go to "!RootScheduler/"
     351{{{
     352nohup perl action_script.pl &
     353}}}
     354
     355''On a Node Beacon Server:''
     356
     357Edit !NodeBeacon/etc/node.conf and runtool.conf as guided by in-file comments, and then go to 'Datagen/certs' run
     358
    260359{{{
    261360chmod +x createSSL.sh
    262361./createSSL.sh
    263 }}}
    264 Then go to the 'Datagen' folder and type
    265 {{{
    266 perl node_scheduler.pl
    267 }}}
    268          
    269 ''On Node Beacons'' in the Centralized Orchestration Case -
    270 
    271 Software invocation on: [(Centralized: root beacon)]
    272 
    273 Edit !NodeScheduler/etc/root.conf to configure the root scheduler, and go to "Collector/" and type
    274 {{{
    275 perl collector.pl
    276 }}}
    277 Next, go to "!RootScheduler/"
    278 {{{
    279 perl action_script.pl
    280 }}}
    281 
    282 ''On Node Beacons'' in the Distributed Orchestration Case -
    283 
    284 Software invocation on: [(Distributed: node beacon)]
    285 
    286 Edit Distributed/etc/node.conf to configure the node scheduler, and go to Distributed/Scheduler/ and type
    287 {{{
    288 perl node_scheduler.pl
     362cd ..
     363nohup perl node_scheduler.pl &
     364}}}
     365     
     366
     367'''Distributed Case:'''
     368
     369''On a Node Beacon Server:''
     370
     371Edit Distributed/etc/node.conf as guided by in-file comments, and then go to Distributed/Datagen/ and run
     372{{{
     373nohup perl node_scheduler.pl &
    289374}}}
    290375