Changes between Version 1 and Version 2 of OTM-Control
- Timestamp:
- 03/08/11 20:42:31 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OTM-Control
v1 v2 1 1 = !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''' 4 4 5 5 ''Software License:'' [http://www.geni.net/wp-content/uploads/2009/02/geniprojlic.pdf ''GENI Project License (GPL)''] 6 6 7 7 == 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 8 This 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 15 The [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 17 Before proceeding further, we highly recommend reading the [http://groups.geni.net/geni/attachment/wiki/OnTimeMeasure/OnTimeMeasure_Tutorial.pdf Experimenter Tutorial]. 18 19 For 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 25 Before 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 35 Features implemented in !OnTime Control include: 36 * Manage requests for centralized measurement 14 37 * Start/Stop measurement service 15 38 * Check measurement service status 16 39 * Query measurement results 17 40 * Query measurement archive 41 * Run a distributed measurement request 18 42 19 43 == 2. Requirements == … … 23 47 B. Python 2.5.X or 2.6.X (NOTE: Current version is not compatible with Python 2.7 or 3.0) 24 48 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. 26 50 27 51 == 3. Installation and Configuration == … … 31 55 Copy the config_example.yaml as config.yaml and edit it with any text editor. 32 56 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 == 57 Follow 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 == 36 62 37 63 === 4.1 Check measurement service status === … … 40 66 41 67 Example: 42 68 {{{ 69 python service_status.py 70 }}} 43 71 [[Image(service_status.PNG)]] 44 72 73 NOTE: The status of collector would be 'Initializing...' before you conduct the operation in 4.2 and 4.3 74 45 75 === 4.2 Manage measurement tasks === 46 76 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: 48 78 49 79 {{{ … … 85 115 86 116 An example: 87 117 {{{ 118 python task_manage.py -c measurement.yaml 119 }}} 88 120 [[Image(task_manage.PNG)]] 89 121 122 '''Note''': The above instruction corresponds to the [http://ontime.oar.net/demo/request_specification.htm "Request Specification"] step in the web portal. 123 90 124 === 4.3 Measurement service control === 91 125 92 126 "service_control.py" controls the measurement service. Supported parameters are "start", "stop", "restart". 127 {{{ 128 python service_control.py restart 129 }}} 93 130 94 131 [[Image(service_control.PNG)]] … … 111 148 An example query: 112 149 {{{ 113 python query.py -f "201 0-09-15 11:00:00" -t "2010-09-30 12:00:00" -s node1 -d node2-m RoundTripDelay -r TimeSeries150 python query.py -f "2011-03-07 18:00:00" -t "2011-03-08 20:00:00" -s SALT -d WASH -m RoundTripDelay -r TimeSeries 114 151 }}} 115 152 116 153 [[Image(query.PNG)]] 117 154 118 === 5. Query measurement archive === 155 156 In 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. 157 The 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 === 119 163 120 164 "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 {{{ 166 python 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 175 Create your own measurement configuration file(such as "distributed_tasks.yaml") by following the example and comments in the file "distributed_task_example.yaml" 176 177 An 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 192 tasks: 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 212 Then run the "distributed_measure.py" with parameter "-c <measurement_config_file.yaml>". 213 214 An example: 215 {{{ 216 python distributed_measure.py -c distributed_tasks.yaml 217 }}} 218 [[Image(distribute_measurement.PNG)]]