Changes between Version 1 and Version 2 of Tutorials/a0Basic/Tutorial4


Ignore:
Timestamp:
Jun 10, 2016, 11:57:08 AM (8 years ago)
Author:
seskar
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/a0Basic/Tutorial4

    v1 v2  
    11[[TOC(Tutorials/a0Basic*)]]
    22
    3 == !WiSHFUL Tutorial: Basic Controller-Agent Interaction ==
     3== WiSHFUL Tutorial: Basic Controller-Agent Interaction ==
    44
    55=== Prerequisites ===
     
    99=== About This Experiment ===
    1010
    11 This tutorial illustartes use of WiSHFUL framework for experiment orchestration. In this experiment script, we'll use a WiSHFUL Controller and Agent. This experiment assumes usinge reference WiSHFUL image that is available as '''wishful.ndz''' and is design for use in SB4.
     11This tutorial illustrates basic usage of [http://www.wishful-project.eu/ WiSHFUL experimentation platform]. The actual experiment script assumes usage of reference [wiki:Documentation/cImages/wishful WiSHFUL image ('''wishful.ndz''')] and is explicitly designed for use in [wiki:Hardware/bDomains/cSandboxes/dSB4 SB4] (if you want to run this tutorial on a different domain or with a different set of nodes, you have to modify controller configuration file in the image).
    1212
    1313=== Experiment Script ===
    1414
    15 The experiment script.
    16 
    17 * [attachment:wishful_simple.rb Experiment Script]
     15The basic OMF experiment script for running the WiSHFUL Simple example is in the [attachment:wishful_simple.rb wishful_simple.rb attachment]
    1816
    1917Relevant sections of the script code are:
    2018
    21 '''1. Define the set of nodes and path for the WiSHFUL directory:
    22 '''
    23 '''2. Define WiSSHFUL Controller and Agent application that will run on nodes:'''
    24 
    25  We use ''defApplication'' to create two reference application names: ''controller'' and ''agent'' that are used later in the script to actually execute corresponding WiSHFUL components.
     19'''1. Define the set of nodes and path for the WiSHFUL scripts directory:'''
    2620{{{
    27 defApplication('iperf', 'iperf-oml2') do |app|
     21defProperty('contr', 'node2-1', 'WiSHFUL Controller Node')
     22defProperty('agent', 'node1-1', 'WiSHUL Agent Node')
     23defProperty('path','/root/wishful/examples/simple/',"Path to WiSHFUL configuration directory")
     24defProperty('duration', 60, "Seconds to run the application")
    2825}}}
    2926
    30 The actual path to the applications in the node is defined as follows.
     27'''2. Define WiSSHFUL Controller and Agent applications that will run on the nodes:'''
     28 We use ''defApplication'' to create two reference application names: ''controller'' and ''agent'' that are used later in the script to actually execute corresponding WiSHFUL components (in this case the path is based on WiSHFUL image installation location in ''/root/wishful'' and the execution of an example scripts and configurations that are in the ''examples/simple'' sub-directory). Each application receives configuration file name as the (only) command line option.
    3129{{{
    32 app.path =
     30defApplication('controller') do |app|
     31  app.description = 'WiSHFUL Simple Controller Program'
     32  app.path = property.path+'wishful_simple_controller'
     33  app.defProperty('config', 'Configuration file', '--config', {:type => :string})
     34end
     35
     36defApplication('agent') do |app|
     37  app.description = 'WiSHFUL Simple Agent Program'
     38  app.path = property.path+'wishful_simple_agent'
     39  app.defProperty('config', 'Configuration file', '--config', {:type => :string})
     40end
    3341}}}
    3442
     43 Define twor groups of nodes (in this case having a single node in each) and adding corresponding controller and agent applications and their configuration file name.
     44{{{
     45defGroup( 'Controllers', property.contr ) do |node|
     46  node.addApplication( "controller" ) do |app|
     47    app.setProperty('config', property.path+'controller_config.yaml')
     48  end
     49end
    3550
    36  The actual experiment has the 10 second delay before the call to ''startApplications'' (to "warm up" nodes) that is followed by 60 seconds of run-time during which WiSHFUL controller manages corresponding agerm. Finally all applications are stopped and the experiment exits out.
     51defGroup( 'Agents', property.agent ) do |node|
     52  node.addApplication( "agent" ) do |app|
     53    app.setProperty('config', property.path+'agent_config.yaml')
     54  end
     55end
     56}}}
    3757
     58The actual experiment has the 10 second delay before the call to ''startApplications'' (to "warm up" nodes) that is followed by 60 seconds of run-time during which WiSHFUL controller manages corresponding agent. Finally all applications are stopped and the experiment exits.
    3859
    3960=== Executing the Experiment Script ===
     
    5172Wait about 1 minute before proceeding to allow the nodes time to boot up.
    5273
    53 Run the experiment:{{{
     74Grab the experiment script with:
     75{{{
     76  wget ''
     77}}}
     78
     79Run the experiment:
     80{{{
    5481user@console:~$ omf exec wishful_simple.rb --duration 60
    5582}}}
     
    5784The output of this script should be similar to the following:
    5885{{{
    59 user@console.sb4:~# omf exec wishful_simple.rb 
    60 
     86user@console.sb4:~# omf exec wishful_simple.rb
     87 
    6188 INFO NodeHandler: OMF Experiment Controller 5.4 (git 861d645)
    6289 INFO NodeHandler: Reading configuration file /etc/omf-expctl-5.4/services.yaml
     
    6693 INFO NodeHandler: Add domain http - http://external1.orbit-lab.org:5054/
    6794 INFO NodeHandler: Slice ID: default_slice (default)
    68  INFO NodeHandler: Experiment ID: default_slice-2016-06-10t04.50.48.026-04.00
     95 INFO NodeHandler: Experiment ID: default_slice-2016-06-10t07.29.39.183-04.00
    6996 INFO NodeHandler: Message authentication is disabled
    7097 INFO Experiment: load system:exp:stdlib
     
    76103 INFO property.contr: contr = "node2-1" (String)
    77104 INFO property.agent: agent = "node1-1" (String)
     105 INFO property.path: path = "/root/wishful/examples/simple/" (String)
     106 INFO property.duration: duration = 60 (Fixnum)
     107 INFO exp: Controller will be on node2-1.
     108 INFO exp: Agent will be on node1-1.
    78109 INFO ALL_UP_AND_INSTALLED: Event triggered. Starting the associated tasks.
    79110 INFO exp: Wait for all nodes to come up
     
    81112 INFO BRING_UP: Event triggered. Starting the associated tasks.
    82113 INFO Experiment: Bringing up resources
    83  INFO exp: Both controller and agent are started...
     114 INFO exp: Both controller and agent started...
    84115 INFO exp: Request from Experiment Script: Wait for 60s....
    85  INFO exp: Both controller and agent are stopped...
     116 INFO exp: Both controller and agent stopped...
    86117 INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
    87118 INFO NodeHandler:
    88119 INFO NodeHandler: Shutting down experiment, please wait...
    89120 INFO NodeHandler:
    90  INFO run: Experiment default_slice-2016-06-10t04.50.48.026-04.00 finished after 1:20
     121 INFO run: Experiment default_slice-2016-06-10t07.29.39.183-04.00 finished after 1:20
    91122}}}
    92123
     
    99130Partial contents of this file is:
    100131{{{
    101 2016-06-10 04:51:13 DEBUG nodeHandler::AppContext: Starting application 'controller#1'
    102 2016-06-10 04:51:13 DEBUG nodeHandler::set::Controllers: Send ('Controllers') - '<EXECUTE><TARGET>Controllers</TARGET><APPID>controller#1<
    103 /APPID><PATH>/root/wishful/examples/simple/wishful_simple_controller</PATH><ENV></ENV><CMDLINEARGS>--config /root/wishful/examples/simple/
    104 controller_config.yaml</CMDLINEARGS></EXECUTE>'
    105 2016-06-10 04:51:13 DEBUG nodeHandler::set::Agents: Start all applications
    106 2016-06-10 04:51:13 DEBUG nodeHandler::AppContext: Starting application 'agent#1'
    107 2016-06-10 04:51:13 DEBUG nodeHandler::set::Agents: Send ('Agents') - '<EXECUTE><TARGET>Agents</TARGET><APPID>agent#1</APPID><PATH>/root/w
    108 ishful/examples/simple/wishful_simple_agent</PATH><ENV></ENV><CMDLINEARGS>--config /root/wishful/examples/simple/agent_config.yaml</CMDLIN
    109 EARGS></EXECUTE>'
    110 2016-06-10 04:51:13 DEBUG nodeHandler::AgentCommands: APP_EVENT STARTED from: 'controller#1' (node2-1.sb4.orbit-lab.org) - msg: ''
    111 2016-06-10 04:51:13 INFO nodeHandler::exp: Both controller and agent are started...
    112 2016-06-10 04:51:13 INFO nodeHandler::exp: Request from Experiment Script: Wait for 50s....
    113 2016-06-10 04:51:13 DEBUG nodeHandler::AgentCommands: APP_EVENT STARTED from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: ''
    114 2016-06-10 04:51:14 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    115 1:14,022 - SimpleModule2.myFunc_1() - INFO - This function is executed on agent start'
    116 2016-06-10 04:51:15 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    117 1:15,711 - pyre_discovery_module.main.discovery_task() - INFO - Discovered Controller DL-tcp://10.14.2.1:8990, UL-tcp://10.14.2.1:8989'
    118 2016-06-10 04:51:17 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    119 1:17,724 - pyre_discovery_module.main.discovery_task() - INFO - Discovered Controller DL-tcp://10.14.2.1:8990, UL-tcp://10.14.2.1:8989'
    120 2016-06-10 04:51:18 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    121 1:18,052 - SimpleModule2.myFunc_3() - INFO - This function is executed on connection to global controller'
    122 2016-06-10 04:51:23 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    123 1:23,712 - SimpleModule2.myFunc_5() - INFO - This function is executed before first UPI call to module'
    124 2016-06-10 04:51:23 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    125 1:23,719 - SimpleModule2.send_to_module() - WARNING - Exception: function radio.clean_per_flow_tx_power_table was not correctly executed;
    126 error msg: wrong'
    127 2016-06-10 04:51:26 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    128 1:26,471 - SimpleModule2.before_set_channel() - INFO - This function is executed before set_channel'
    129 2016-06-10 04:51:26 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    130 1:26,471 - SimpleModule2.set_channel() - INFO - Simple Module sets channel: 4 on interface: wlan1'
    131 2016-06-10 04:51:26 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    132 1:26,471 - SimpleModule2.after_set_channel() - INFO - This function is executed after set_channel'
    133 2016-06-10 04:51:33 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    134 1:33,735 - SimpleModule2.send_to_module() - WARNING - Exception: function radio.clean_per_flow_tx_power_table was not correctly executed;
    135 error msg: wrong'
    136 2016-06-10 04:51:36 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:5
    137 1:36,487 - SimpleModule2.before_set_channel() - INFO - This function is executed before set_channel'
    138 2016-06-10 04:51:36 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:36,487 - SimpleMod
    139 ule2.set_channel() - INFO - Simple Module sets channel: 4 on interface: wlan1'
    140 2016-06-10 04:51:36 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:36,487 - SimpleMod
    141 ule2.after_set_channel() - INFO - This function is executed after set_channel'
    142 2016-06-10 04:51:43 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:43,743 - SimpleMod
    143 ule2.send_to_module() - WARNING - Exception: function radio.clean_per_flow_tx_power_table was not correctly executed; error msg: wrong'
    144 2016-06-10 04:51:46 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:46,495 - SimpleMod
    145 ule2.before_set_channel() - INFO - This function is executed before set_channel'
    146 2016-06-10 04:51:46 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:46,496 - SimpleMod
    147 ule2.set_channel() - INFO - Simple Module sets channel: 4 on interface: wlan1'
    148 2016-06-10 04:51:46 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:46,496 - SimpleMod
    149 ule2.after_set_channel() - INFO - This function is executed after set_channel'
    150 2016-06-10 04:51:53 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:53,756 - SimpleMod
    151 ule2.send_to_module() - WARNING - Exception: function radio.clean_per_flow_tx_power_table was not correctly executed; error msg: wrong'
    152 2016-06-10 04:51:56 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:56,508 - SimpleMod
    153 ule2.before_set_channel() - INFO - This function is executed before set_channel'
    154 2016-06-10 04:51:56 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:56,508 - SimpleMod
    155 ule2.set_channel() - INFO - Simple Module sets channel: 4 on interface: wlan1'
    156 2016-06-10 04:51:56 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 04:51:56,508 - SimpleMod
    157 ule2.after_set_channel() - INFO - This function is executed after set_channel'
    158 
     1322016-06-10 07:29:54 DEBUG nodeHandler::set::Controllers: Start all applications
     1332016-06-10 07:29:54 DEBUG nodeHandler::AppContext: Starting application 'controller#1'
     1342016-06-10 07:29:54 DEBUG nodeHandler::set::Controllers: Send ('Controllers') - '<EXECUTE><TARGET>Controllers</TARGET><APPID>controller#1</APPID><PATH>/root/wishful/examples/simple/wishful_
     135simple_controller</PATH><ENV></ENV><CMDLINEARGS>--config /root/wishful/examples/simple/controller_config.yaml</CMDLINEARGS></EXECUTE>'
     1362016-06-10 07:29:54 DEBUG nodeHandler::set::Agents: Start all applications
     1372016-06-10 07:29:54 DEBUG nodeHandler::AppContext: Starting application 'agent#1'
     1382016-06-10 07:29:54 DEBUG nodeHandler::set::Agents: Send ('Agents') - '<EXECUTE><TARGET>Agents</TARGET><APPID>agent#1</APPID><PATH>/root/wishful/examples/simple/wishful_simple_agent</PATH><
     139ENV></ENV><CMDLINEARGS>--config /root/wishful/examples/simple/agent_config.yaml</CMDLINEARGS></EXECUTE>'
     1402016-06-10 07:29:54 DEBUG nodeHandler::AgentCommands: APP_EVENT STARTED from: 'controller#1' (node2-1.sb4.orbit-lab.org) - msg: ''
     1412016-06-10 07:29:54 INFO nodeHandler::exp: Both controller and agent started...
     1422016-06-10 07:29:54 INFO nodeHandler::exp: Request from Experiment Script: Wait for 60s....
     1432016-06-10 07:29:54 DEBUG nodeHandler::AgentCommands: APP_EVENT STARTED from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: ''
     1442016-06-10 07:29:55 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:29:55,152 - SimpleModule2.myFunc_1() - INFO - This f
     145unction is executed on agent start'
     1462016-06-10 07:29:57 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:29:57,030 - pyre_discovery_module.main.discovery_tas
     147k() - INFO - Discovered Controller DL-tcp://10.14.2.1:8990, UL-tcp://10.14.2.1:8989'
     1482016-06-10 07:29:59 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:29:59,038 - pyre_discovery_module.main.discovery_tas
     149k() - INFO - Discovered Controller DL-tcp://10.14.2.1:8990, UL-tcp://10.14.2.1:8989'
     1502016-06-10 07:29:59 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:29:59,186 - SimpleModule2.myFunc_3() - INFO - This f
     151unction is executed on connection to global controller'
     1522016-06-10 07:30:05 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:05,027 - SimpleModule2.myFunc_5() - INFO - This f
     153unction is executed before first UPI call to module'
     1542016-06-10 07:30:05 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:05,032 - SimpleModule2.send_to_module() - WARNING
     155 - Exception: function radio.clean_per_flow_tx_power_table was not correctly executed; error msg: wrong'
     1562016-06-10 07:30:07 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:07,850 - SimpleModule2.before_set_channel() - INF
     157O - This function is executed before set_channel'
     1582016-06-10 07:30:07 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:07,851 - SimpleModule2.set_channel() - INFO - Sim
     159ple Module sets channel: 4 on interface: wlan1'
     1602016-06-10 07:30:07 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:07,851 - SimpleModule2.after_set_channel() - INFO
     161 - This function is executed after set_channel'
     1622016-06-10 07:30:15 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:15,045 - SimpleModule2.send_to_module() - WARNING
     163 - Exception: function radio.clean_per_flow_tx_power_table was not correctly executed; error msg: wrong'
     1642016-06-10 07:30:17 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:17,867 - SimpleModule2.before_set_channel() - INF
     165O - This function is executed before set_channel'
     1662016-06-10 07:30:17 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:17,867 - SimpleModule2.set_channel() - INFO - Sim
     167ple Module sets channel: 4 on interface: wlan1'
     1682016-06-10 07:30:17 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:17,867 - SimpleModule2.after_set_channel() - INFO
     169 - This function is executed after set_channel'
     1702016-06-10 07:30:25 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:25,058 - SimpleModule2.send_to_module() - WARNING
     171 - Exception: function radio.clean_per_flow_tx_power_table was not correctly executed; error msg: wrong'
     1722016-06-10 07:30:27 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:27,879 - SimpleModule2.before_set_channel() - INF
     173O - This function is executed before set_channel'
     1742016-06-10 07:30:27 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:27,879 - SimpleModule2.set_channel() - INFO - Sim
     175ple Module sets channel: 4 on interface: wlan1'
     1762016-06-10 07:30:27 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:27,879 - SimpleModule2.after_set_channel() - INFO
     177 - This function is executed after set_channel'
     1782016-06-10 07:30:35 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:35,071 - SimpleModule2.send_to_module() - WARNING
     179 - Exception: function radio.clean_per_flow_tx_power_table was not correctly executed; error msg: wrong'
     1802016-06-10 07:30:37 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:37,892 - SimpleModule2.before_set_channel() - INF
     181O - This function is executed before set_channel'
     1822016-06-10 07:30:37 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:37,892 - SimpleModule2.set_channel() - INFO - Sim
     183ple Module sets channel: 4 on interface: wlan1'
     1842016-06-10 07:30:37 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:37,892 - SimpleModule2.after_set_channel() - INFO
     185 - This function is executed after set_channel'
     1862016-06-10 07:30:45 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:45,083 - SimpleModule2.send_to_module() - WARNING
     187 - Exception: function radio.clean_per_flow_tx_power_table was not correctly executed; error msg: wrong'
     1882016-06-10 07:30:47 DEBUG nodeHandler::AgentCommands: APP_EVENT STDERR from: 'agent#1' (node1-1.sb4.orbit-lab.org) - msg: '2016-06-10 07:30:47,904 - SimpleModule2.before_set_channel() - INF
     189O - This function is executed before set_channel'
    159190}}}