48 | | <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"/> |
51 | | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
52 | | <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/> |
| 62 | <node client_id="nodeD" 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"> |
| 63 | <rs:vnode name="pcvm1-8"/> |
| 64 | <sliver_type name="emulab-openvz"> |
| 65 | <disk_image name="urn:publicid:IDN+instageni.gpolab.bbn.com+image+emulab-net//GIMIomf"/> |
| 66 | </sliver_type> |
| 67 | <services> |
| 68 | <execute command="sudo sh /local/postboot_script.sh" shell="sh"/> |
| 69 | <install install_path="/local" url="http://emmy9.casa.umass.edu/InstaGENI_Images/install-script.tar.gz"/> |
| 70 | </services> |
| 71 | <interface client_id="VM-1:if0"> |
| 72 | <ip address="192.168.1.13" netmask="" type="ipv4"/> |
| 73 | <flack:interface_info addressBound="false" bound="false"/> |
| 74 | </interface> |
| 75 | <interface client_id="VM-1:if1"> |
| 76 | <ip address="192.168.3.13" netmask="" type="ipv4"/> |
| 77 | <flack:interface_info addressBound="false" bound="false"/> |
| 78 | </interface> |
| 79 | <flack:node_info x="564" y="168" unbound="true"/> |
| 80 | </node> |
| 81 | <node client_id="nodeC" 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"> |
| 82 | <rs:vnode name="pcvm1-6"/> |
| 83 | <sliver_type name="emulab-openvz"> |
| 84 | <disk_image name="urn:publicid:IDN+instageni.gpolab.bbn.com+image+emulab-net//GIMIomf"/> |
| 85 | </sliver_type> |
| 86 | <services> |
| 87 | <execute command="sudo sh /local/postboot_script.sh" shell="sh"/> |
| 88 | <install install_path="/local" url="http://emmy9.casa.umass.edu/InstaGENI_Images/install-script.tar.gz"/> |
| 89 | </services> |
| 90 | <interface client_id="VM-2:if0"> |
| 91 | <ip address="192.168.3.12" netmask="" type="ipv4"/> |
| 92 | <flack:interface_info addressBound="false" bound="false"/> |
| 93 | </interface> |
| 94 | <interface client_id="VM-2:if1"> |
| 95 | <ip address="192.168.5.12" netmask="" type="ipv4"/> |
| 96 | <flack:interface_info addressBound="false" bound="false"/> |
| 97 | </interface> |
| 98 | <interface client_id="VM-2:if2"> |
| 99 | <ip address="192.168.6.12" netmask="" type="ipv4"/> |
| 100 | <flack:interface_info addressBound="false" bound="false"/> |
| 101 | </interface> |
| 102 | <interface client_id="nodeC:if0"> |
| 103 | <ip address="192.168.2.12" netmask="" type="ipv4"/> |
| 104 | <flack:interface_info addressBound="false" bound="false"/> |
| 105 | </interface> |
| 106 | <flack:node_info x="352" y="252" unbound="true"/> |
| 107 | </node> |
| 108 | <node client_id="nodeE" 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"> |
| 109 | <rs:vnode name="pcvm1-9"/> |
| 110 | <sliver_type name="emulab-openvz"> |
| 111 | <disk_image name="urn:publicid:IDN+instageni.gpolab.bbn.com+image+emulab-net//GIMIomf"/> |
| 112 | </sliver_type> |
| 113 | <services> |
| 114 | <execute command="sudo sh /local/postboot_script.sh" shell="sh"/> |
| 115 | <install install_path="/local" url="http://emmy9.casa.umass.edu/InstaGENI_Images/install-script.tar.gz"/> |
| 116 | </services> |
| 117 | <interface client_id="VM-3:if0"> |
| 118 | <ip address="192.168.6.14" netmask="" type="ipv4"/> |
| 119 | <flack:interface_info addressBound="false" bound="false"/> |
| 120 | </interface> |
| 121 | <flack:node_info x="364" y="389" unbound="true"/> |
| 122 | </node> |
| 123 | <link client_id="link0"> |
| 124 | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
| 125 | <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/> |
| 126 | <interface_ref client_id="VM-0:if0"/> |
56 | | <property source_id="VM-0:if0" dest_id="VM:if0"/> |
57 | | <link_type name="lan"/> |
58 | | <flack:link_info x="-1" y="-1" unboundVlantag="true"/> |
59 | | </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"/> |
| 130 | <flack:link_info x="-1" y="-1" unboundVlantag="true"/> |
| 131 | </link> |
| 132 | <link client_id="link1"> |
| 133 | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
| 134 | <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/> |
| 135 | <interface_ref client_id="VM:if1"/> |
| 136 | <interface_ref client_id="VM-1:if0"/> |
| 137 | <property source_id="VM:if1" dest_id="VM-1:if0"/> |
| 138 | <property source_id="VM-1:if0" dest_id="VM:if1"/> |
| 139 | <flack:link_info x="-1" y="-1" unboundVlantag="true"/> |
| 140 | </link> |
| 141 | <link client_id="link2"> |
| 142 | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
| 143 | <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/> |
| 144 | <interface_ref client_id="VM-1:if1"/> |
| 145 | <interface_ref client_id="VM-2:if0"/> |
| 146 | <property source_id="VM-1:if1" dest_id="VM-2:if0"/> |
| 147 | <property source_id="VM-2:if0" dest_id="VM-1:if1"/> |
| 148 | <flack:link_info x="-1" y="-1" unboundVlantag="true"/> |
| 149 | </link> |
| 150 | <link client_id="link3"> |
| 151 | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
| 152 | <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/> |
| 153 | <interface_ref client_id="VM-0:if1"/> |
| 154 | <interface_ref client_id="VM-2:if1"/> |
| 155 | <property source_id="VM-0:if1" dest_id="VM-2:if1"/> |
| 156 | <property source_id="VM-2:if1" dest_id="VM-0:if1"/> |
| 157 | <flack:link_info x="-1" y="-1" unboundVlantag="true"/> |
| 158 | </link> |
| 159 | <link client_id="link4"> |
| 160 | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
| 161 | <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/> |
| 162 | <interface_ref client_id="VM-2:if2"/> |
| 163 | <interface_ref client_id="VM-3:if0"/> |
| 164 | <property source_id="VM-2:if2" dest_id="VM-3:if0"/> |
| 165 | <property source_id="VM-3:if0" dest_id="VM-2:if2"/> |
| 166 | <flack:link_info x="-1" y="-1" unboundVlantag="true"/> |
| 167 | </link> |
| 168 | <link client_id="link5"> |
| 169 | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
| 170 | <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/> |
| 171 | <interface_ref client_id="nodeB:if0"/> |
| 172 | <interface_ref client_id="nodeC:if0"/> |
| 173 | <property source_id="nodeB:if0" dest_id="nodeC:if0"/> |
| 174 | <property source_id="nodeC:if0" dest_id="nodeB:if0"/> |
| 175 | <flack:link_info x="-1" y="-1" unboundVlantag="true"/> |
| 176 | </link> |
102 | | defProperty('sinkaddr11', '10.10.1.1', "Ping destination address") |
103 | | defProperty('sinkaddr12', '10.10.1.2', "Ping destination address") |
| 223 | defProperty('sinkaddr11', '192.168.16.10', "Ping destination address") |
| 224 | defProperty('sinkaddr12', '192.168.5.12', "Ping destination address") |
| 225 | |
| 226 | defProperty('sinkaddr21', '192.168.4.11', "Ping destination address") |
| 227 | defProperty('sinkaddr22', '192.168.2.12', "Ping destination address") |
| 228 | defProperty('sinkaddr23', '192.168.1.13', "Ping destination address") |
| 229 | |
| 230 | defProperty('sinkaddr31', '192.168.5.11', "Ping destination address") |
| 231 | defProperty('sinkaddr32', '192.168.2.10', "Ping destination address") |
| 232 | defProperty('sinkaddr33', '192.168.3.13', "Ping destination address") |
| 233 | defProperty('sinkaddr34', '192.168.6.14', "Ping destination address") |
| 234 | |
| 235 | defProperty('sinkaddr41', '192.168.1.10', "Ping destination address") |
| 236 | defProperty('sinkaddr42', '192.168.3.12', "Ping destination address") |
| 237 | |
| 238 | defProperty('sinkaddr51', '192.168.6.12', "Ping destination address") |
133 | | app.setProperty('dest_addr', property.sinkaddr11) |
134 | | app.setProperty('count', 30) |
135 | | app.setProperty('interval', 1) |
136 | | app.measure('myping', :samples => 1) |
137 | | end |
138 | | |
139 | | end |
140 | | |
141 | | |
142 | | |
143 | | #defGroup('Sink1', property.sink1) do |node| |
144 | | #end |
| 277 | app.setProperty('dest_addr', property.sinkaddr21) |
| 278 | app.setProperty('count', 30) |
| 279 | app.setProperty('interval', 1) |
| 280 | app.measure('myping', :samples => 1) |
| 281 | end |
| 282 | |
| 283 | node.addApplication("ping_app") do |app| |
| 284 | app.setProperty('dest_addr', property.sinkaddr22) |
| 285 | app.setProperty('count', 30) |
| 286 | app.setProperty('interval', 1) |
| 287 | app.measure('myping', :samples => 1) |
| 288 | end |
| 289 | |
| 290 | node.addApplication("ping_app") do |app| |
| 291 | app.setProperty('dest_addr', property.sinkaddr23) |
| 292 | app.setProperty('count', 30) |
| 293 | app.setProperty('interval', 1) |
| 294 | app.measure('myping', :samples => 1) |
| 295 | end |
| 296 | end |
| 297 | |
| 298 | defGroup('Source3', property.source3) do |node| |
| 299 | node.addApplication("ping_app") do |app| |
| 300 | app.setProperty('dest_addr', property.sinkaddr31) |
| 301 | app.setProperty('count', 30) |
| 302 | app.setProperty('interval', 1) |
| 303 | app.measure('myping', :samples => 1) |
| 304 | end |
| 305 | |
| 306 | node.addApplication("ping_app") do |app| |
| 307 | app.setProperty('dest_addr', property.sinkaddr32) |
| 308 | app.setProperty('count', 30) |
| 309 | app.setProperty('interval', 1) |
| 310 | app.measure('myping', :samples => 1) |
| 311 | end |
| 312 | |
| 313 | node.addApplication("ping_app") do |app| |
| 314 | app.setProperty('dest_addr', property.sinkaddr33) |
| 315 | app.setProperty('count', 30) |
| 316 | app.setProperty('interval', 1) |
| 317 | app.measure('myping', :samples => 1) |
| 318 | end |
| 319 | |
| 320 | node.addApplication("ping_app") do |app| |
| 321 | app.setProperty('dest_addr', property.sinkaddr34) |
| 322 | app.setProperty('count', 30) |
| 323 | app.setProperty('interval', 1) |
| 324 | app.measure('myping', :samples => 1) |
| 325 | end |
| 326 | end |
| 327 | |
| 328 | defGroup('Source4', property.source4) do |node| |
| 329 | node.addApplication("ping_app") do |app| |
| 330 | app.setProperty('dest_addr', property.sinkaddr41) |
| 331 | app.setProperty('count', 30) |
| 332 | app.setProperty('interval', 1) |
| 333 | app.measure('myping', :samples => 1) |
| 334 | end |
| 335 | |
| 336 | node.addApplication("ping_app") do |app| |
| 337 | app.setProperty('dest_addr', property.sinkaddr42) |
| 338 | app.setProperty('count', 30) |
| 339 | app.setProperty('interval', 1) |
| 340 | app.measure('myping', :samples => 1) |
| 341 | end |
| 342 | end |
| 343 | |
| 344 | defGroup('Source5', property.source5) do |node| |
| 345 | node.addApplication("ping_app") do |app| |
| 346 | app.setProperty('dest_addr', property.sinkaddr51) |
| 347 | app.setProperty('count', 30) |
| 348 | app.setProperty('interval', 1) |
| 349 | app.measure('myping', :samples => 1) |
| 350 | end |
| 351 | end |
| 352 | |
| 353 | |
| 354 | |
190 | | The exp_name can be anything you wish to call your experiment. Preferably you could have your exp_name as slicename+exp_name. e.g. dbhatomf_ping_all[[BR]] |
191 | | The slice_name has to be the slice_name on which you wish to run the experiment. |
192 | | |
193 | | Shown below is my log after a successful run of the experiment script. |
194 | | |
195 | | {{{ |
196 | | |
197 | | |
198 | | INFO NodeHandler: OMF Experiment Controller 5.4 (git c005675) |
199 | | INFO NodeHandler: Slice ID: dbhatinstageni |
200 | | INFO NodeHandler: Experiment ID: dbhatinstageni-ping_all |
201 | | INFO NodeHandler: Message authentication is disabled |
202 | | WARN NodeHandler: AM support disabled - any service calls will fail! |
203 | | INFO Experiment: load system:exp:stdlib |
204 | | INFO property.resetDelay: resetDelay = 210 (Fixnum) |
205 | | INFO property.resetTries: resetTries = 1 (Fixnum) |
206 | | INFO Experiment: load system:exp:eventlib |
207 | | INFO Experiment: load step1-ping_all.rb |
208 | | INFO property.source1: source1 = "nodeA" (String) |
209 | | INFO property.source2: source2 = "nodeB" (String) |
210 | | INFO property.sinkaddr11: sinkaddr11 = "10.10.1.1" (String) |
211 | | INFO property.sinkaddr12: sinkaddr12 = "10.10.1.2" (String) |
212 | | INFO Topology: Loading topology 'nodeA'. |
213 | | INFO Topology: Loading topology 'nodeB'. |
214 | | INFO GraphDescription: REPORT:START: RTT |
215 | | INFO GraphDescription: REPORT:TYPE: line_chart3 |
216 | | INFO GraphDescription: REPORT:MS:default: SELECT%20%22oml_seq%22,%20%22dest_addr%22,%20%22rtt%22%20FROM%20%22pingWrap_myping%22 |
217 | | INFO GraphDescription: REPORT:MAPPING: %7B%22y_axis%22:%22rtt%22,%22group_by%22:%22dest_addr%22,%22x_axis%22:%22oml_seq%22%7D |
218 | | 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 |
219 | | INFO GraphDescription: REPORT:CAPTION: RTT%20of%20received%20packets. |
220 | | INFO GraphDescription: REPORT:STOP |
221 | | INFO Experiment: Switching ON resources which are OFF |
222 | | INFO ALL_UP_AND_INSTALLED: Event triggered. Starting the associated tasks. |
223 | | INFO exp: Starting the ping |
224 | | INFO exp: Request from Experiment Script: Wait for 30s.... |
225 | | INFO exp: Stopping the ping |
226 | | INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks. |
227 | | INFO NodeHandler: |
228 | | INFO NodeHandler: Shutting down experiment, please wait... |
229 | | INFO NodeHandler: |
230 | | INFO run: Experiment dbhatinstageni-ping_all finished after 0:46 |
231 | | |
232 | | |
233 | | }}} |
| 403 | In your browser, open Labwiki. [[BR]] |
| 404 | |
| 405 | Type in your slice name exactly as it is in the GENI Portal. Type in any experiment name you like.[[BR]] |
| 406 | |
| 407 | Set graph to "true".[[BR]] |
| 408 | |
| 409 | [[Image(insta_labwiki1.png)]] |
| 410 | |
| 411 | Click on "Start Experiment"[[BR]] |
| 412 | |
| 413 | |
| 414 | Shown below is a screen shot of the ping-all experiment. |
| 415 | |
| 416 | [[Image(insta_labwiki2.png)]] |