Changes between Version 10 and Version 11 of IMInteroperability/GIMIInstaGENITestCase


Ignore:
Timestamp:
05/13/13 13:54:05 (7 years ago)
Author:
divyashri.bhat@gmail.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IMInteroperability/GIMIInstaGENITestCase

    v10 v11  
    1313
    1414{{{
    15 <rspec type="request" generated_by="Flack" generated="2013-05-08T15:51:25Z" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd " xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.geni.net/resources/rspec/3">
    16   <node client_id="nodeA" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
    17     <rs:vnode name="pcvm2-2"/>
     15<rspec type="request" generated_by="Flack" generated="2013-05-13T17:48:51Z" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd " xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.geni.net/resources/rspec/3">
     16  <node client_id="nodeA" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc2" component_name="pc2" exclusive="false">
     17    <vnode name="pcvm2-2" xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
     18    <location latitude="42.389806" longitude="-71.147599" country="US"/>
    1819    <sliver_type name="emulab-openvz">
    1920      <disk_image name="urn:publicid:IDN+instageni.gpolab.bbn.com+image+emulab-net//GIMIomf"/>
     
    2526    <interface client_id="VM:if0">
    2627      <ip address="10.10.1.1" netmask="" type="ipv4"/>
    27       <flack:interface_info addressBound="false" bound="false"/>
     28      <flack:interface_info addressBound="true" bound="false"/>
    2829    </interface>
    2930    <flack:node_info x="152" y="74" unbound="true"/>
    3031  </node>
    31   <node client_id="nodeB" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1">
    32     <rs:vnode name="pcvm2-5"/>
     32  <node client_id="nodeB" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc2" component_name="pc2" exclusive="false">
     33    <vnode name="pcvm2-5" xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
     34    <location latitude="42.389806" longitude="-71.147599" country="US"/>
    3335    <sliver_type name="emulab-openvz">
    3436      <disk_image name="urn:publicid:IDN+instageni.gpolab.bbn.com+image+emulab-net//GIMIomf"/>
     
    4042    <interface client_id="VM-0:if0">
    4143      <ip address="10.10.1.2" netmask="" type="ipv4"/>
    42       <flack:interface_info addressBound="false" bound="false"/>
     44      <flack:interface_info addressBound="true" bound="false"/>
    4345    </interface>
    4446    <flack:node_info x="450" y="104" unbound="true"/>
    4547  </node>
    4648  <link client_id="lan0">
     49    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     50    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
    4751    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
    4852    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
     
    5458    <flack:link_info x="-1" y="-1" unboundVlantag="true"/>
    5559  </link>
     60  <client:client_info name="Flack" environment="Flash Version: LNX 11,2,202,280, OS: Linux 3.5.0-28-generic, Arch: x86, Screen: 1680x1050 @ 72 DPI with touchscreen type none" version="v14.91" url="https://www.emulab.net/protogeni/flack2/flack.swf"/>
     61  <flack:slice_info view="graph"/>
    5662</rspec>
    5763}}}
     
    8187
    8288{{{
    83 #
    84 # Copyright (c) 2012 National ICT Australia (NICTA), Australia
    85 #
    86 # Permission is hereby granted, free of charge, to any person obtaining a copy
    87 # of this software and associated documentation files (the "Software"), to deal
    88 # in the Software without restriction, including without limitation the rights
    89 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    90 # copies of the Software, and to permit persons to whom the Software is
    91 # furnished to do so, subject to the following conditions:
    92 #
    93 # The above copyright notice and this permission notice shall be included in
    94 # all copies or substantial portions of the Software.
    95 #
    96 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    97 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    98 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
    99 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    100 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    101 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    102 # THE SOFTWARE.
    103 #
    104 defApplication('oml:app:ping', 'ping') do |a|
    105   a.version(2, 9, 0)
    106   a.shortDescription = "Wrapper around ping"
    107   a.description = "This application runs the system ping, parses its output and reports the measurements via OML"
    108   a.path = "/root/ping-oml2"
    109 
    110   a.defProperty('dest_addr', 'Address to ping', 'a', {:type => :string, :dynamic => false})
    111   a.defProperty('count', 'Number of times to ping', 'c', {:type => :integer, :dynamic => false})
    112   a.defProperty('interval', 'Interval between pings in s', 'i', {:type => :integer, :dynamic => false})
    113   a.defProperty('quiet', 'Don\'t show ping output on the console', 'q', {:type => :boolean, :dynamic => false})
    114   a.defProperty('inet6', 'Use ping6 rather than ping', '6', {:type => :boolean, :dynamic => false})
    115 
    116   a.defMeasurement('ping') do |m|
    117     m.defMetric('dest_addr',:string)
    118     m.defMetric('ttl',:int)
    119     m.defMetric('rtt',:float)
    120     m.defMetric('rtt_unit',:string)
     89defProperty('source1', "nodeA", "ID of a resource")
     90defProperty('source2', "nodeB", "ID of a resource")
     91#defProperty('sink2', "nodeB", "ID of a sink")
     92#defProperty('sink3', "nodeC", "ID of a sink")
     93#defProperty('sink4', "nodeD", "ID of a sink")
     94#defProperty('sink5', "nodeE", "ID of a sink")
     95
     96defProperty('sinkaddr11', '10.10.1.1', "Ping destination address")
     97defProperty('sinkaddr12', '10.10.1.2', "Ping destination address")
     98
     99defApplication('ping_app', 'pingmonitor') do |a|
     100    a.path = "/root/pingWrap.rb"
     101    a.version(1, 2, 0)
     102    a.shortDescription = "Wrapper around ping"
     103    a.description = "ping application"
     104    a.defProperty('dest_addr', 'Address to ping', '-a', {:type => :string, :dynamic => false})
     105    a.defProperty('count', 'Number of times to ping', '-c', {:type => :integer, :dynamic => false})
     106    a.defProperty('interval', 'Interval between pings in s', '-i', {:type => :integer, :dynamic => false})
     107   
     108    a.defMeasurement('myping') do |m|
     109    #a.defMeasurement('myping', '') do |m|
     110     m.defMetric('dest_addr',:string)
     111     m.defMetric('ttl',:int)
     112     m.defMetric('rtt',:float)
     113     m.defMetric('rtt_unit',:string)
     114    end
     115end
     116
     117defGroup('Source1', property.source1) do |node|
     118  node.addApplication("ping_app") do |app|
     119    app.setProperty('dest_addr', property.sinkaddr12)
     120    app.setProperty('count', 30)
     121    app.setProperty('interval', 1)
     122    app.measure('myping', :samples => 1)
    121123  end
    122 
    123   a.defMeasurement('summary') do |m|
    124     m.defMetric('ntransmitted',:int)
    125     m.defMetric('nreceived',:int)
    126     m.defMetric('lossratio',:float)
    127     m.defMetric('runtime',:float)
    128     m.defMetric('runtime_unit',:string)
     124end
     125defGroup('Source2', property.source2) do |node|
     126  node.addApplication("ping_app") do |app|
     127    app.setProperty('dest_addr', property.sinkaddr11)
     128    app.setProperty('count', 30)
     129    app.setProperty('interval', 1)
     130    app.measure('myping', :samples => 1)
    129131  end
    130132
    131   a.defMeasurement('rtt_stats') do |m|
    132     m.defMetric('min',:float)
    133     m.defMetric('avg',:float)
    134     m.defMetric('max',:float)
    135     m.defMetric('mdev',:float)
    136     m.defMetric('rtt_unit',:string)
    137   end
    138 end
    139 
    140  #Example use with OMF:
    141  #dbhatabc is the hostname of my source node
    142  #dbhatxyz is the hostname of my sink node
    143 defProperty('source', "nodeA", "ID of a resource")
    144 defProperty('sink', "nodeB", "ID of a resource")
    145 defProperty('sinkaddr', "10.10.1.2", "Ping destination address")
    146 defGroup('Source', property.source) do |node|
    147   node.addApplication("oml:app:ping") do |app|
    148     app.setProperty('dest_addr', property.sinkaddr)
    149     app.setProperty('count', 5)
    150     app.setProperty('interval', 1)
    151     app.measure('ping', :samples => 1)
    152   end
    153 end
    154 
    155 defGroup('Sink', property.sink) do |node|
    156 end
     133end
     134
     135
     136
     137#defGroup('Sink1', property.sink1) do |node|
     138#end
     139
     140#defGroup('Sink2', property.sink2) do |node|
     141#end
     142
     143#defGroup('Sink3', property.sink3) do |node|
     144#end
     145
     146#defGroup('Sink4', property.sink4) do |node|
     147#end
     148
     149#defGroup('Sink5', property.sink5) do |node|
     150#end
    157151
    158152onEvent(:ALL_UP_AND_INSTALLED) do |event|
    159153  info "Starting the ping"
    160   group('Source').startApplications
    161     wait 6
    162  info "Stopping the ping"
    163   group('Source').stopApplications
     154  allGroups.startApplications
     155  wait 30
     156  info "Stopping the ping"
     157  allGroups.stopApplications
    164158  Experiment.done
     159end
     160
     161defGraph 'RTT' do |g|
     162  g.ms('myping').select(:oml_seq, :dest_addr, :rtt)#.where(:dest_addr => "192.168.5.12")
     163  g.caption "RTT of received packets."
     164  g.type 'line_chart3'
     165  g.mapping :x_axis => :oml_seq, :y_axis => :rtt, :group_by => :dest_addr
     166#    g.group_by(:dest_addr)
     167  g.xaxis :legend => 'oml_seq'
     168  g.yaxis :legend => 'rtt', :ticks => {:format => 's'}
    165169end
    166170
     
    182186
    183187{{{
    184 INFO NodeHandler: OMF Experiment Controller 5.4 (git c005675)
    185  INFO NodeHandler: Slice ID: dbhatomf
    186  INFO NodeHandler: Experiment ID: dbhatomf-ping
     188omf-5.4 exec --no-am -e dbhatinstageni-ping_all -S dbhatinstageni step1-ping_all.rb
     189
     190 INFO NodeHandler: OMF Experiment Controller 5.4 (git c005675)
     191 INFO NodeHandler: Slice ID: dbhatinstageni
     192 INFO NodeHandler: Experiment ID: dbhatinstageni-ping_all
    187193 INFO NodeHandler: Message authentication is disabled
    188194 WARN NodeHandler: AM support disabled - any service calls will fail!
     
    191197 INFO property.resetTries: resetTries = 1 (Fixnum)
    192198 INFO Experiment: load system:exp:eventlib
    193  INFO Experiment: load ping.rb
    194  INFO property.source: source = "dbhatabc" (String)
    195  INFO property.sink: sink = "dbhatxyz" (String)
    196  INFO property.sinkaddr: sinkaddr = "10.10.1.2" (String)
     199 INFO Experiment: load step1-ping_all.rb
     200 INFO property.source1: source1 = "nodeA" (String)
     201 INFO property.source2: source2 = "nodeB" (String)
     202 INFO property.sinkaddr11: sinkaddr11 = "10.10.1.1" (String)
     203 INFO property.sinkaddr12: sinkaddr12 = "10.10.1.2" (String)
    197204 INFO Topology: Loading topology 'nodeA'.
    198205 INFO Topology: Loading topology 'nodeB'.
     206 INFO GraphDescription: REPORT:START: RTT
     207 INFO GraphDescription: REPORT:TYPE: line_chart3
     208 INFO GraphDescription: REPORT:MS:default: SELECT%20%22oml_seq%22,%20%22dest_addr%22,%20%22rtt%22%20FROM%20%22pingWrap_myping%22
     209 INFO GraphDescription: REPORT:MAPPING: %7B%22y_axis%22:%22rtt%22,%22group_by%22:%22dest_addr%22,%22x_axis%22:%22oml_seq%22%7D
     210 INFO GraphDescription: REPORT:AXIS: %7B%22y%22:%7B%22legend%22:%22rtt%22,%22ticks%22:%7B%22format%22:%22s%22%7D%7D,%22x%22:%7B%22legend%22:%22oml_seq%22%7D%7D
     211 INFO GraphDescription: REPORT:CAPTION: RTT%20of%20received%20packets.
     212 INFO GraphDescription: REPORT:STOP
    199213 INFO Experiment: Switching ON resources which are OFF
    200214 INFO ALL_UP_AND_INSTALLED: Event triggered. Starting the associated tasks.
    201215 INFO exp: Starting the ping
    202  INFO exp: Request from Experiment Script: Wait for 6s....
     216 INFO exp: Request from Experiment Script: Wait for 30s....
    203217 INFO exp: Stopping the ping
    204218 INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
     
    206220 INFO NodeHandler: Shutting down experiment, please wait...
    207221 INFO NodeHandler:
    208  INFO run: Experiment dbhatomf-ping finished after 0:16
    209 
    210 }}}
     222 INFO run: Experiment dbhatinstageni-ping_all finished after 0:46
     223
     224
     225}}}