wiki:GIR3.1_OnTimeMeasuraments

Version 2 (modified by lnevers@bbn.com, 13 years ago) (diff)

--

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.
  1. Installation and configuration of OnTimeMeasure were simplified. The entire installation and configuration can be completed within 5 minutes.
  1. 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:
    1. OnTimeMeasure-ProtoGENI
    2. OnTimeMeasure-PlanetLab
    3. OnTimeMeasure-CRON
    4. OnTimeMeasure-InsTools
  1. Measurement Service status reporting support, which allows checking item-by-item both on the Web-portal and by the command-line OnTimeControl tool.
  1. 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 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:

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 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 Install Procedure. This is not being capture here, because the 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
    
  1. 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...'}
    
  2. 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]
    
  1. 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.

  1. 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 Fedora LAMP and Ubuntu LAMP.
  1. 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

  1. Initialize Database by opening a browser session to <server_IP>/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"

  1. Restart the http server:
 $ sudo /sbin/service httpd restart
  1. 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 <lnevers@sendaria.gpolab.bbn.com>');  // 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
    
  1. User can now connect to the portal at http://hostname/UserLogin.php (where hostname is the OnTimeBeacon nodes).
  1. Once connected user can define and start monitoring. This is not changed since the GIR2.1 OnTime evaluation so it is not captured here.

Attachments (4)

Download all attachments as: .zip