= !OnTime Measuraments Evaluation = On November 30, 2010 the '''!OnTimeMeasure v2.0''' !r524 software package was made available introducing the following features: 1. !OnTimeControl module, a command-line tool used to perform all the measurement service functions between client-and-server currently being done interactively with researcher web-portal (http://ontime.oar.net). This tool provides capabilities for integration with experiment work-flow tools such as GUSH. It can be configured to work with or without the web-portal. 2. Installation and configuration of !OnTimeMeasure were simplified. The entire installation and configuration can be completed within 5 minutes. 3. New GENI OS platforms are supported, including both Fedora and Ubuntu 64bit OS. Also, !OnTimeMeasure has been integrated to work with the following GENI projects: a. [http://groups.geni.net/geni/wiki/OnTime-Install OnTimeMeasure-ProtoGENI] b. [http://groups.geni.net/geni/wiki/OTM-PlanetLabInstall OnTimeMeasure-PlanetLab] c. [http://groups.geni.net/geni/wiki/OTM-CRONInstall OnTimeMeasure-CRON] d. [http://groups.geni.net/geni/wiki/OTM-InsToolsDemo OnTimeMeasure-InsTools] 4. Measurement Service status reporting support, which allows checking item-by-item both on the Web-portal and by the command-line !OnTimeControl tool. 5. Stability has been improved with many miscellaneous bug fixes. A second version was made available on January 13, 2011 the '''!OnTimeMeasure v2.0''' !r536 software package was made available new version delivered a PHP parse error resolution. This second version was successfully used to evaluate the new features. = On Time Measurement Tools Findings = Initial evaluation focused on documentation for !OnTimeControl module. Documentation for installation and configuration were initially vague. A second version was much more detailed an provided enough information to install and use the modules. A [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/OnTimeMeasure_Tutorial.pdf tutorial] was very useful in providing an overview of each component along with their architecture. The evaluation for the January 13th version was completed, some minor documentation changes are outstanding and will be verified in the next planned version which integrates !OnTimeMeasure tools with GUSH. = On Time Measurement Tools How-to = Initially reviewed the documentation for the new documents: * [http://groups.geni.net/geni/attachment/wiki/GIR3.1_OnTimeMeasuraments/OnTimeControl_Manual.pdf OnTimeControl User Manual] * [http://groups.geni.net/geni/attachment/wiki/GIR3.1_OnTimeMeasuraments/OnTimeBeacon_Installation.pdf OnTimeBeacon Installation] and later [http://groups.geni.net/geni/attachment/wiki/GIR3.1_OnTimeMeasuraments/OnTimeBeacon_Installation-1.pdf Updated OnTimeBeacon Installation] manual. * [http://groups.geni.net/geni/attachment/wiki/GIR3.1_OnTimeMeasuraments/OnTimeBeacon_UserManual.pdf OnTimeBeacon User Guide] Initial review of documents listed did not provide enough information to explain how the new modules fit into the existing set of tools. Found that a good overview of the entire !OnTimeMeasure system is available in the [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/OnTimeMeasure_Tutorial.pdf tutorial] which helped in understanding and planning the installation. Initial installation found a php parsing error which resulted in updated installation and new version of !OnTimeBeacon. Second version was installed and successfully configure to show the web portal using the instructions provided. Using this version was able to install the !RootBeacon, and !NodeBeacons as instructed in the [http://groups.geni.net/geni/wiki/OnTime-Install Install Procedure]. This is not being capture here, because the [http://groups.geni.net/geni/wiki/OnTime-Install Install Procedure] captures all required installation, configuration and run-time for the !RootBeacon and !NodeBeacon Nodes. Also the nodes used for !OnTimeControl and !OnTimeBeacon were gpolab nodes, while the nodes used as !RootBeacon and !NodeBeacon were emulab nodes. One issue was found with this version which was due to missing process in the start-up instructions. == !OnTimeControl How-to == After unpacking the !OnTimeControl-v2.0-build524.tar.gz file the following steps were executed: 1. Copied the file config_example.yaml to config.yaml and mofied to capture my nodes and their role, here is the content of the config.yaml used for testing: {{{ connection: direct ################################################## # Setup for direct connection ################################################## root_beacon: 155.98.39.97 db_user: collector db_pwd: collector nodes: - name: pc315 IP: 155.98.39.115 - name: pc299 IP: 155.98.39.99 }}} 2. Once the config.yaml is in place, it is possible to check the service status for the specified nodes: {{{ $ python service_status.py {'root_scheduler': 'OK', 'graphite': 'OK', 'file_server': 'OK', 'collector': 'OK...'} }}} 3. To define measurement task, modify the measurement.yaml file. Following is the measurement.yaml used for testing: {{{ pattern: Periodic links: - source: pc315 destination: pc299 metric: [Throughput, RoundtripDelay, Jitter, RouteChanges] - source: pc299 destination: pc315 metric: [Jitter,RoundtripDelay, Throughput, RouteChanges] }}} 4. To enable the measurement tasks defined in the that are configured in the measurement.yaml file, the following are run: {{{ $ python ./task_manage.py -c measurement.yaml All old tasks cleared 8 new tasks added You have to restart the measurement service to put them into effort $ python service_control.py stop stopped $ python service_control.py start running }}} At this point measurements are being collected on the !Nodebeacons and will be available for queries. 4. A query can be used to download the details for the specified options, following are example queries: {{{ $ python ./query.py -f "2011/01/31 14:16:40" -t "2011/02/01 16:16:40" -s pc315 -d pc299 -m RoundTripDelay -r TimeSeries http://155.98.39.97:17290/20110201162227_Ping_RoundTripDelay.txt $ python ./query.py -f "2011/01/31 14:16:40" -t "2011/02/01 16:16:40" -s pc315 -d pc299 -m Throughput -r TimeSeries http://155.98.39.97:17290/20110201162406_IperfTcp_Throughput.txt }}} The above result in files downloaded to the directory where the query is issued. The file downloaded files contains results for the specified time frame: {{{ $ more 20110201162227_Ping_RoundTripDelay.txt 2011-02-01 13:20:44 0.285 2011-02-01 13:48:43 0.429 2011-02-01 14:20:43 0.262 2011-02-01 14:48:43 0.508 2011-02-01 15:20:43 0.412 2011-02-01 15:48:44 0.453 $ more 20110201162406_IperfTcp_Throughput.txt 2011-02-01 13:18:43 94.4 2011-02-01 14:18:44 94.5 2011-02-01 15:18:43 94.4 }}} == !OnTimeBeacon How-to == 1. Evaluated included both Fedora and Ubuntu platform. Prerequisite for standard LAMP Severs was met by following suggested documentation for [http://fedorasolved.org/server-solutions/lamp-stack Fedora LAMP] and [http://www.unixmen.com/linux-tutorials/570-install-lamp-with-1-command-in-ubuntu-910 Ubuntu LAMP]. 2. Install pre-requisite software for Fedora: {{{ sudo yum install sendmail curl phpMyAdmin }}} For Ubuntu {{{ sudo apt-get install sendmail curl php5-curl phpmyadmin }}} '' Note: '' Sendmail package is not required, other package used in its place, Postfix on ubuntu'' 3. Initialize Database by opening a browser session to /phpmyadmin and logging in as root. Select "Import" panel and create a new database named "!OnTimeMeaure", and then import the "!OnTimeMeasure.sql" which locates in the "install" folder. '' Note: '' On Ubuntu node was not able to access phpmyadmin the following was added to the Apache configurations /etc/apache2/apache2.conf: '' "Include /etc/phpmyadmin/apache.conf" '' 4. Restart the http server: {{{ $ sudo /sbin/service httpd restart }}} 5. Unpacked the !OnTimeBeacon-v2.0-build536.tar.gz file and copied its contents to /var/www, then in the /var/www directory renamed the file "config_example.php" to "config.php" and modified to contain settings for the newly installed web portal: {{{ // ** MySQL ** // define('DB_NAME', 'OnTimeMeasure'); define('DB_USER', 'root'); define('DB_PASSWORD', 'XXXX'); define('DB_HOST', 'localhost'); // ** Email noticification **// define('MAIL_SENDER', 'Ontime Admin '); // Sender information showed in the notification emails define('ADMIN_EMAILS', 'lnevers@bbn.com'); // Administartor emails. Notification emails will be sent to the list when things appen in the web portal }}} 6. User can now connect to the portal at http://hostname/UserLogin.php (where hostname is the !OnTimeBeacon nodes). 7. Once connected user can define and start monitoring. This is not changed since the GIR2.1 [http://groups.geni.net/geni/wiki/GIR2.1_OnTimeMeasuraments OnTime evaluation] so it is not captured here.