Changes between Version 1 and Version 2 of OTM-Control


Ignore:
Timestamp:
03/08/11 20:42:31 (9 years ago)
Author:
Prasad Calyam
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OTM-Control

    v1 v2  
    11= !OnTime Control User Manual =
    2 '''Prasad Calyam, Kunpeng Zhu'''[[BR]]
    3 '''Jan 18, 2011'''
     2'''Prasad Calyam, Kunpeng Zhu, Yingxiao Xu'''[[BR]]
     3'''Mar 07, 2011'''
    44
    55''Software License:'' [http://www.geni.net/wp-content/uploads/2009/02/geniprojlic.pdf ''GENI Project License (GPL)'']
    66
    77== 1. Overview ==
    8 !OnTime Control is a command-line interface client for users to login, manage slice information and control Node/Root Beacons within their slices in an ''automated manner''[[BR]]
    9 
    10 NOTE: Typically, users need to install !OnTime Control software on their desktops along with other experiment workflow tools such as GUSH; !OnTime Control provides a way to control the measurement service in an automated manner versus using the !OnTimeMeasure web-portal to control the measurement service in an ''interactive manner''.
    11 
    12 Features implemented include:
    13  * Manage measurement tasks
     8This document describes the installation, configuration and usage of !OnTimeMeasure on !PlanetLab. !OnTimeMeasure is a measurement service for the GENI facility users. The measurement service can be used to perform centralized and distributed orchestration and provisioning of measurements within experiment slices for purposes such as:
     9
     10 * Network paths monitoring
     11 * Network weather forecasting
     12 * Network performance anomaly detection
     13 * Network-bottleneck fault-location diagnosis
     14
     15The [http://ontime.oar.net ''OnTimeMeasure researcher web-portal''] enables a ProtoGENI/Emulab and !PlanetLab user to register, create and monitor experiment slices on geographically distributed resources. [[BR]]
     16
     17Before proceeding further, we highly recommend reading the [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/OnTimeMeasure_Tutorial.pdf Experimenter Tutorial].
     18
     19For details regarding !OnTimeMeasure, please visit [http://groups.geni.net/geni/wiki/OnTimeMeasure OnTimeMeasure Wiki].[[BR]]
     20
     21!OnTime Control is a command-line interface client for !OnTimeMeasure users to login, manage slice information and control Node/Root Beacons within their slices in an ''automated manner''[[BR]]
     22
     23'''Note:''' Typically, users need to install !OnTime Control software on their desktops along with other experiment workflow tools such as Gush; !OnTime Control provides a way to control the measurement service in an automated manner versus using the !OnTimeMeasure web-portal to control the measurement service in an ''interactive manner''.
     24
     25Before proceeding further, we highly recommend reading the [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/OnTimeMeasure_Tutorial.pdf Experimenter Tutorial].
     26
     27!OnTimeMeasure User Workflow Steps:
     28
     29   1. Install !OnTimeMeasure software / !OnTime Contol ''(Contents of this wiki)''
     30   2. Configure / Resource Setup
     31   3. Submit Measurement Request
     32   4. Manage Measurement Service
     33   5. Query data/graphs/archive/dashboard
     34
     35Features implemented in !OnTime Control include:
     36 * Manage requests for centralized measurement
    1437 * Start/Stop measurement service
    1538 * Check measurement service status
    1639 * Query measurement results
    1740 * Query measurement archive
     41 * Run a distributed measurement request
    1842
    1943== 2. Requirements ==
     
    2347B. Python 2.5.X or 2.6.X (NOTE: Current version is not compatible with Python 2.7 or 3.0)
    2448
    25 '''Note''': [http://www.activestate.com/activepython/downloads ActivePython] is recommended for Windows users.
     49'''Note''': [http://www.activestate.com/activepython/downloads ActivePython] is recommended for Windows OS users.
    2650
    2751== 3. Installation and Configuration ==
     
    3155Copy the config_example.yaml as config.yaml and edit it with any text editor.
    3256
    33 Follow instructions within the file to configure the !OnTime Control software. It is strongly suggested to use the "direct" connection mode. The "portal" mode should only be used when the !OnTime Control cannot connect to the Root Beacon directly.
    34 
    35 == 4. Usage ==
     57Follow instructions within the file to configure the !OnTime Control software. It is strongly suggested to use the "direct" connection mode. The "portal" mode is a legacy capability.
     58
     59'''Note''': The above instruction corresponds to the [http://ontime.oar.net/demo/resource_setup.htm "Resource Setup"] step in the web portal.
     60
     61== 4. Usage for centralized measurement ==
    3662
    3763=== 4.1 Check measurement service status ===
     
    4066
    4167Example:
    42 
     68{{{
     69python service_status.py
     70}}}
    4371[[Image(service_status.PNG)]]
    4472
     73NOTE:  The status of collector would be 'Initializing...' before you conduct the operation in 4.2 and 4.3
     74
    4575=== 4.2 Manage measurement tasks ===
    4676
    47 "task_manage.py" manages the measurement tasks, which are configured in a YAML file. An example "measurement.yaml" is included in the package with contents:
     77"task_manage.py" manages the measurement tasks (i.e., requests), which are configured in a YAML file. An example "measurement.yaml" is included in the package with contents:
    4878
    4979{{{
     
    85115
    86116An example:
    87 
     117{{{
     118python task_manage.py -c measurement.yaml
     119}}}
    88120[[Image(task_manage.PNG)]]
    89121
     122'''Note''': The above instruction corresponds to the [http://ontime.oar.net/demo/request_specification.htm "Request Specification"] step in the web portal.
     123
    90124=== 4.3  Measurement service control ===
    91125
    92126"service_control.py" controls the measurement service. Supported parameters are "start", "stop", "restart".
     127{{{
     128python service_control.py restart
     129}}}
    93130
    94131[[Image(service_control.PNG)]]
     
    111148An example query:
    112149{{{
    113 python query.py -f "2010-09-15 11:00:00" -t "2010-09-30 12:00:00" -s node1 -d node2 -m RoundTripDelay -r TimeSeries
     150python query.py -f "2011-03-07 18:00:00" -t "2011-03-08 20:00:00" -s SALT -d WASH -m RoundTripDelay -r TimeSeries
    114151}}}
    115152
    116153[[Image(query.PNG)]]
    117154
    118 === 5. Query measurement archive ===
     155
     156In this example, two file 20110307215921_Ping_RoundTripDelay.txt and 20110307215921_Ping_RoundTripDelay.png were created in folder C:\!OnTimeControl to display the result in text and graph plots.
     157The result can also be accessed from the URL listed.
     158
     159'''Note ''': The above instruction corresponds to the [http://ontime.oar.net/demo/measurement_query.htm "Measurement Query"] step in the web portal.
     160
     161
     162===  4.5. Query measurement archive for centralized measurement ===
    119163
    120164"request_measurement_archive.py" queries the measurement archive in the Root Beacon and automatically downloads the archive into a local folder.
    121 
    122 [[Image(dump_measurement_db.PNG)]]
     165{{{
     166python request_measurement_archive.py
     167}}}
     168
     169[[Image(measurement_archive.PNG)]]
     170
     171== 5. Usage for distributed measurement ==
     172
     173"distributed_measure.py" manages the measurement tasks, which are configured in a YAML file.
     174
     175Create your own measurement configuration file(such as "distributed_tasks.yaml") by following the example and comments in the file "distributed_task_example.yaml"
     176
     177An example "distributed_task_example.yaml" is included in the package with contents:
     178
     179{{{
     180# Measurement task settings
     181# Hint: A space is required after ':'
     182##################################################
     183# Measurement tasks
     184# Supported metrics:
     185# - RoundtripDelay
     186# - Throughput
     187# - Loss
     188# - Jitter
     189# - RouteChanges
     190##################################################
     191
     192tasks:
     193- source: WASH
     194  destination: SALT
     195  metric: RoundTripDelay
     196
     197- source: WASH
     198  destination: SALT
     199  metric: Throughput
     200
     201- source: SALT
     202  destination: WASH
     203  metric: Jitter
     204
     205- source: SALT
     206  destination: WASH
     207  metric: RouteChanges
     208
     209}}}
     210
     211
     212Then run the "distributed_measure.py" with parameter "-c <measurement_config_file.yaml>".
     213
     214An example:
     215{{{
     216python distributed_measure.py -c distributed_tasks.yaml
     217}}}
     218[[Image(distribute_measurement.PNG)]]