| 1 | = GR-EXP-6: GRAM and Meso-scale Multi-site !OpenFlow Acceptance Test = |
| 2 | |
| 3 | This page captures status for the test case GR-EXP-6. For additional information see the [wiki:GENIRacksHome/GRAMRacks/AcceptanceTestStatusMay2013 Acceptance Test Status - May 2013] page overall status, or the [wiki:GENIRacksHome/AcceptanceTests/GRAMAcceptanceTestsPlan GRAM Acceptance Test Plan] for details about the planned evaluation. |
| 4 | |
| 5 | |
| 6 | |
| 7 | ''Last Update: 2013/05/17" |
| 8 | |
| 9 | || '''Step''' || '''State''' ||''' Notes ''' || '''Tickets''' || |
| 10 | || Step 1 ||[[span(Pass, style=background-color: green )]] || || || |
| 11 | || Step 2 ||[[span(Pass, style=background-color: green )]] || || |
| 12 | || Step 3 ||[[span(Pass: most criteria, style=background-color: #98FB98)]]||Aggregate retains information for failed sliver||# 71 || |
| 13 | || Step 4 ||[[span(Pass, style=background-color: green )]] || || || |
| 14 | || Step 5 ||[[span(Pass, style=background-color: green )]] || || || |
| 15 | || Step 6 ||[[span(Pass: most criteria, style=background-color: #98FB98)]]||Unable to request IP Address||#56 || |
| 16 | || Step 7 ||[[span(Pass, style=background-color: green )]] || || || |
| 17 | || Step 8 ||[[span(Pass, style=background-color: green )]] || || || |
| 18 | || Step 9 ||[[span(Pass, style=background-color: green )]] || || || |
| 19 | || Step 10 ||[[span(Pass, style=background-color: green )]] || || || |
| 20 | || Step 11 ||[[span(Pass, style=background-color: green )]] || || || |
| 21 | || Step 12 ||[[span(Fail, style=background-color: red)]] ||Cannot install Iperf for baseline measurements ||#57 || |
| 22 | || Step 13 ||[[span(Pass, style=background-color: green )]] || || |
| 23 | || Step 14 ||[[span(Pass, style=background-color: green )]] || || || |
| 24 | || Step 15 ||[[span(Pass, style=background-color: green )]] || || || |
| 25 | || Step 16 ||[[span(Pass, style=background-color: green )]] || || || |
| 26 | || Step 17 ||[[span(Fail, style=background-color: red)]] ||No tools available to install static flows into controller|| || |
| 27 | || Step 18 ||[[span(Fail, style=background-color: red)]] ||No tools available to install static flows into controller|| || |
| 28 | || Step 19 ||[[span(Pass, style=background-color: green )]] || || || |
| 29 | |
| 30 | [[BR]] |
| 31 | || '''State Legend''' || '''Description''' || |
| 32 | ||[[span(Pass, style=background-color: green )]] || Test completed and met all criteria || |
| 33 | ||[[span(Pass: most criteria, style=background-color: #98FB98)]]|| Test completed and met most criteria. Exceptions documented || |
| 34 | ||[[span(Fail, style=background-color: red)]] || Test completed and failed to meet criteria. || |
| 35 | ||[[span(Complete, style=background-color: yellow)]] || Test completed but will require re-execution due to expected changes || |
| 36 | ||[[span(Blocked, style=background-color: orange)]] || Blocked by ticketed issue(s). || |
| 37 | ||[[span(In Progress, style=background-color: #63B8FF)]]|| Currently under test. || |
| 38 | |
| 39 | = Test Plan Steps = |
| 40 | This test case uses the following aggregate nick_names: |
| 41 | {{{ |
| 42 | gram=,https://128.89.91.170:5001 |
| 43 | }}} |
| 44 | |
| 45 | ''Evaluation Note:'' Test case in in one rack, there are no remote !OpenFlow aggregates. |
| 46 | |
| 47 | |
| 48 | ''Evaluation Note:'' Failed sliver information is preserved in the aggregate. Ticket #71 |
| 49 | |
| 50 | |
| 51 | ''Evaluation Note:'' Experimenter is not able to request IP addresses Ticket #56 |
| 52 | |
| 53 | |
| 54 | '' Evaluation Note:'' Cannot install iperf for baseline measurements, No sudo. Ticket #57 |
| 55 | |
| 56 | |
| 57 | '' Evaluation Note:'' No tools available to install static flows into controller. This is not a GRAM issue, but prevents steps 17 and 18 from being executed. |
| 58 | |
| 59 | == Step 1. As Experimenter1, request !ListResources from BBN GRAM == |
| 60 | As experimenter lnevers requested a list of resources: |
| 61 | |
| 62 | {{{ |
| 63 | $ omni.py listresources -a gram2 -V2 |
| 64 | INFO:omni:Loading config file /home/lnevers/.gcf/omni_config |
| 65 | INFO:omni:Using control framework gram |
| 66 | INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN |
| 67 | INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN |
| 68 | INFO:omni:Listed advertised resources at 1 out of 1 possible aggregates. |
| 69 | INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN |
| 70 | INFO:omni:<?xml version="1.0" ?> |
| 71 | INFO:omni: <!-- Resources at AM: |
| 72 | URN: unspecified_AM_URN |
| 73 | URL: https://128.89.91.170:5002 |
| 74 | --> |
| 75 | INFO:omni: <rspec type="advertisement" xmlns="http://www.geni.net/resources/rspec/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/ad.xsd http://www.geni.net/resources/rspec/ext/opstate/1 http://www.geni.net/resources/rspec/ext/opstate/1/ad.xsd"> <node client_id="VM" component_id="urn:public:geni:gpo:vm+ca262be4-0bd5-48a9-a2ba-e0a7d94ca9a4" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" component_name="ca262be4-0bd5-48a9-a2ba-e0a7d94ca9a4" exclusive="False"> <node_type type_name="m1.tiny"/> |
| 76 | <node_type type_name="m1.small"/> |
| 77 | <node_type type_name="m1.medium"/> |
| 78 | <node_type type_name="m1.large"/> |
| 79 | <node_type type_name="m1.xlarge"/> |
| 80 | <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/> |
| 81 | <sliver_type name="m1.small"/> |
| 82 | <available now="True"/> |
| 83 | </node></rspec> |
| 84 | INFO:omni: ------------------------------------------------------------ |
| 85 | INFO:omni: Completed listresources: |
| 86 | |
| 87 | Options as run: |
| 88 | aggregate: ['gram2'] |
| 89 | framework: gram |
| 90 | Args: listresources |
| 91 | Result Summary: Queried resources from 1 of 1 aggregate(s). |
| 92 | INFO:omni: ============================================================ |
| 93 | }}} |
| 94 | |
| 95 | == Step 2. Review list resources and determine !OpenFlow resources == |
| 96 | |
| 97 | There is no way to review available !OpenFlow resources. It is possible to get a list from VMOC of the resources allocation in the switch, a registry of active slices and VLANs configured. |
| 98 | |
| 99 | {{{ |
| 100 | lnevers@boscontroller:~$ echo "dump" |nc localhost 7001 |
| 101 | }}} |
| 102 | |
| 103 | |
| 104 | == Step 3. Define a request RSpec for a VM at the BBN GRAM. == |
| 105 | The following RSpec was defined: |
| 106 | {{{ |
| 107 | <?xml version="1.0" encoding="UTF-8"?> |
| 108 | <rspec type="request" |
| 109 | xmlns="http://www.geni.net/resources/rspec/3" |
| 110 | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
| 111 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 112 | xsi:schemaLocation="http://www.geni.net/resources/rspec/3 |
| 113 | http://www.geni.net/resources/rspec/ext/openflow/3 |
| 114 | http://www.geni.net/resources/rspec/3/request.xsd"> |
| 115 | |
| 116 | <node client_id="of-vm1" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" > |
| 117 | <sliver_type name="m1.small"> |
| 118 | <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/> |
| 119 | </sliver_type> |
| 120 | <interface client_id="of-vm1:if0" > |
| 121 | </interface> |
| 122 | </node> |
| 123 | |
| 124 | <node client_id="of-vm2" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" > |
| 125 | <sliver_type name="m1.small"> |
| 126 | <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/> |
| 127 | </sliver_type> |
| 128 | <interface client_id="of-vm2:if0" > |
| 129 | </interface> |
| 130 | </node> |
| 131 | |
| 132 | <link client_id="link-vm1-vm2"> |
| 133 | <interface_ref client_id="of-vm1:if0"/> |
| 134 | <interface_ref client_id="of-vm2:if0"/> |
| 135 | </link> |
| 136 | <openflow:controller url="tcp:10.10.8.71:6633" type="primary"/> |
| 137 | </rspec> |
| 138 | |
| 139 | }}} |
| 140 | |
| 141 | == Step 4. Create the first slice. == |
| 142 | Create the slice: |
| 143 | {{{ |
| 144 | $ omni.py createslice ln6633 |
| 145 | INFO:omni:Loading config file /home/lnevers/.gcf/omni_config |
| 146 | INFO:omni:Using control framework gram |
| 147 | INFO:omni:Created slice with Name ln6633, URN urn:publicid:IDN+geni:bos:gcf+slice+ln6633, Expiration 2013-05-17 15:25:34 |
| 148 | INFO:omni: ------------------------------------------------------------ |
| 149 | INFO:omni: Completed createslice: |
| 150 | |
| 151 | Options as run: |
| 152 | framework: gram |
| 153 | |
| 154 | Args: createslice ln6633 |
| 155 | |
| 156 | Result Summary: Created slice with Name ln6633, URN urn:publicid:IDN+geni:bos:gcf+slice+ln6633, Expiration 2013-05-17 15:25:34 |
| 157 | |
| 158 | INFO:omni: ============================================================ |
| 159 | |
| 160 | }}} |
| 161 | |
| 162 | == Step 5. Create a sliver using the RSpecs defined above. == |
| 163 | |
| 164 | '''Note:''' Failed sliver information is preserved in the aggregate. Ticket #71 |
| 165 | {{{ |
| 166 | |
| 167 | $ omni.py -a gram2 -V2 createsliver ln6633 ./GR-EXP-6.rspec |
| 168 | INFO:omni:Loading config file /home/lnevers/.gcf/omni_config |
| 169 | INFO:omni:Using control framework gram |
| 170 | INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN |
| 171 | WARNING:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+ln6633 expires in <= 3 hours |
| 172 | INFO:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+ln6633 expires on 2013-05-17 15:25:34 UTC |
| 173 | INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN |
| 174 | INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN |
| 175 | INFO:omni:Creating sliver(s) from rspec file ./GR-EXP-6.rspec for slice urn:publicid:IDN+geni:bos:gcf+slice+ln6633 |
| 176 | |
| 177 | INFO:omni:Got return from CreateSliver for slice ln6633 at https://128.89.91.170:5002: |
| 178 | INFO:omni:<?xml version="1.0" ?> |
| 179 | INFO:omni: <!-- Reserved resources for: |
| 180 | Slice: ln6633 |
| 181 | at AM: |
| 182 | URN: unspecified_AM_URN |
| 183 | URL: https://128.89.91.170:5002 |
| 184 | --> |
| 185 | INFO:omni: |
| 186 | <rspec type="manifest" xmlns="http://www.geni.net/resources/rspec/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/ext/openflow/3 http://www.geni.net/resources/rspec/3/manifest.xsd"> |
| 187 | <node client_id="of-vm1" component_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute2" component_manager_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm" exclusive="false" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm0c7363a9-3bbc-4d6f-ab60-af67667a0232"> |
| 188 | <interface client_id="of-vm1:if0" mac_address="fa:16:3e:27:43:6b" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface35638f90-4383-440b-897e-f76f35a24c7d"> |
| 189 | <ip address="10.0.70.100" type="ip"/> |
| 190 | </interface> |
| 191 | <sliver_type name="m1.small"> |
| 192 | <disk_image name="urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04" os="Linux" version="12"/> |
| 193 | </sliver_type> |
| 194 | <services> |
| 195 | <login authentication="ssh-keys" hostname="boscontroller" port="3000" username="lnevers"/> |
| 196 | </services> |
| 197 | <host name="of-vm1"/> |
| 198 | </node> |
| 199 | <link client_id="link-vm1-vm2" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+link8f732665-cf1f-4d25-8dd8-70ca48fa62d0"> |
| 200 | <interface_ref client_id="of-vm1:if0"/> |
| 201 | <interface_ref client_id="of-vm2:if0"/> |
| 202 | </link> |
| 203 | <node client_id="of-vm2" component_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute1" component_manager_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm" exclusive="false" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vmca506e79-be07-4c71-8bcf-c04325ac967b"> |
| 204 | <interface client_id="of-vm2:if0" mac_address="fa:16:3e:13:66:fa" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface1be51546-51fc-46fb-9411-04c4966d5d25"> |
| 205 | <ip address="10.0.70.101" type="ip"/> |
| 206 | </interface> |
| 207 | <sliver_type name="m1.small"> |
| 208 | <disk_image name="urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04" os="Linux" version="12"/> |
| 209 | </sliver_type> |
| 210 | <services> |
| 211 | <login authentication="ssh-keys" hostname="boscontroller" port="3001" username="lnevers"/> |
| 212 | </services> |
| 213 | <host name="of-vm2"/> |
| 214 | </node> |
| 215 | </rspec> |
| 216 | |
| 217 | INFO:omni: ------------------------------------------------------------ |
| 218 | INFO:omni: Completed createsliver: |
| 219 | Options as run: |
| 220 | aggregate: ['gram2'] |
| 221 | framework: gram |
| 222 | |
| 223 | Args: createsliver ln6633 ./GR-EXP-6.rspec |
| 224 | Result Summary: Got Reserved resources RSpec from 128-89-91-170-5002 |
| 225 | INFO:omni: ============================================================ |
| 226 | |
| 227 | }}} |
| 228 | |
| 229 | == Step 6. Log in to each of the systems, verify IP address assignment. Send traffic to the other system, leave traffic running. == |
| 230 | |
| 231 | ''Note:'' Unable to verify IP Addresses, experimenter cannot request IP Addresses from GRAM, ticket #56. |
| 232 | |
| 233 | Get login information: |
| 234 | {{{ |
| 235 | $ egrep login ln6633-manifest-rspec-128-89-91-170-5002.xml |
| 236 | <login authentication="ssh-keys" hostname="boscontroller" port="3000" username="lnevers"/> |
| 237 | <login authentication="ssh-keys" hostname="boscontroller" port="3001" username="lnevers"/> |
| 238 | }}} |
| 239 | Log in to first host: |
| 240 | {{{ |
| 241 | $ ssh 128.89.91.170 -p 3000 |
| 242 | lnevers@of-vm1:~$ ifconfig eth1 |
| 243 | eth1 Link encap:Ethernet HWaddr fa:16:3e:27:43:6b |
| 244 | inet addr:10.0.70.100 Bcast:10.0.70.255 Mask:255.255.255.0 |
| 245 | inet6 addr: fe80::f816:3eff:fe27:436b/64 Scope:Link |
| 246 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
| 247 | RX packets:128 errors:0 dropped:0 overruns:0 frame:0 |
| 248 | TX packets:22 errors:0 dropped:0 overruns:0 carrier:0 |
| 249 | collisions:0 txqueuelen:1000 |
| 250 | RX bytes:20707 (20.7 KB) TX bytes:3821 (3.8 KB) |
| 251 | lnevers@of-vm2:~$ ifconfig eth1 |
| 252 | eth1 Link encap:Ethernet HWaddr fa:16:3e:13:66:fa |
| 253 | inet addr:10.0.70.101 Bcast:10.0.70.255 Mask:255.255.255.0 |
| 254 | inet6 addr: fe80::f816:3eff:fe13:66fa/64 Scope:Link |
| 255 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
| 256 | RX packets:99 errors:0 dropped:0 overruns:0 frame:0 |
| 257 | TX packets:19 errors:0 dropped:0 overruns:0 carrier:0 |
| 258 | collisions:0 txqueuelen:1000 |
| 259 | RX bytes:15620 (15.6 KB) TX bytes:3630 (3.6 KB) |
| 260 | |
| 261 | }}} |
| 262 | |
| 263 | Log in to second host: |
| 264 | {{{ |
| 265 | $ ssh 128.89.91.170 -p 3001 |
| 266 | lnevers@of-vm2:~$ ifconfig eth1 |
| 267 | eth1 Link encap:Ethernet HWaddr fa:16:3e:13:66:fa |
| 268 | inet addr:10.0.70.101 Bcast:10.0.70.255 Mask:255.255.255.0 |
| 269 | inet6 addr: fe80::f816:3eff:fe13:66fa/64 Scope:Link |
| 270 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
| 271 | RX packets:99 errors:0 dropped:0 overruns:0 frame:0 |
| 272 | TX packets:19 errors:0 dropped:0 overruns:0 carrier:0 |
| 273 | collisions:0 txqueuelen:1000 |
| 274 | RX bytes:15620 (15.6 KB) TX bytes:3630 (3.6 KB) |
| 275 | lnevers@of-vm2:~$ ping 10.0.70.100 |
| 276 | PING 10.0.70.100 (10.0.70.100) 56(84) bytes of data. |
| 277 | 64 bytes from 10.0.70.100: icmp_req=1 ttl=64 time=1.57 ms |
| 278 | 64 bytes from 10.0.70.100: icmp_req=2 ttl=64 time=0.978 ms |
| 279 | 64 bytes from 10.0.70.100: icmp_req=3 ttl=64 time=0.873 ms |
| 280 | 64 bytes from 10.0.70.100: icmp_req=4 ttl=64 time=0.947 ms |
| 281 | 64 bytes from 10.0.70.100: icmp_req=5 ttl=64 time=0.864 ms |
| 282 | }}} |
| 283 | |
| 284 | |
| 285 | Verified VMOC information for the two node experiment: |
| 286 | {{{ |
| 287 | lnevers@boscontroller:~$ echo "dump" |nc localhost 7001 >>GR-EXP-6-vmoc |
| 288 | lnevers@boscontroller:~$ tail -10 GR-EXP-6-vmoc |
| 289 | |
| 290 | VMOC Slice Registry: |
| 291 | urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-13: {'vlan_configurations': [], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-13'} |
| 292 | urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-1: {'vlan_configurations': [], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-1'} |
| 293 | urn:publicid:IDN+geni:bos:gcf+slice+lngram: {'vlan_configurations': [], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+lngram'} |
| 294 | urn:publicid:IDN+geni:bos:gcf+slice+ln6633: {'vlan_configurations': [{'vlan': 1001, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+ln6633'} |
| 295 | https://localhost:9000 |
| 296 | tcp:10.10.8.71:6633 |
| 297 | {'vlan_configurations': [{'vlan': 1001, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+ln6633'} |
| 298 | 1001: {'vlan_configurations': [{'vlan': 1001, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+ln6633'} |
| 299 | |
| 300 | }}} |
| 301 | |
| 302 | == Step 7. As Experimenter2, define a request RSpec for two VMs at BBN GRAM. == |
| 303 | |
| 304 | As lnevers2, defined the following RSpec: |
| 305 | {{{ |
| 306 | <?xml version="1.0" encoding="UTF-8"?> |
| 307 | <rspec type="request" |
| 308 | xmlns="http://www.geni.net/resources/rspec/3" |
| 309 | xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3" |
| 310 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 311 | xsi:schemaLocation="http://www.geni.net/resources/rspec/3 |
| 312 | http://www.geni.net/resources/rspec/ext/openflow/3 |
| 313 | http://www.geni.net/resources/rspec/3/request.xsd"> |
| 314 | |
| 315 | <node client_id="exp2-of-vm1" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" > |
| 316 | <interface client_id="exp2-of-vm1:if0" > |
| 317 | </interface> |
| 318 | </node> |
| 319 | |
| 320 | <node client_id="exp2-of-vm2" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" > |
| 321 | <interface client_id="exp2-of-vm2:if0" > |
| 322 | </interface> |
| 323 | </node> |
| 324 | |
| 325 | <link client_id="exp2-vm1-vm2"> |
| 326 | <interface_ref client_id="exp2-of-vm1:if0"/> |
| 327 | <interface_ref client_id="exp2-of-vm2:if0"/> |
| 328 | </link> |
| 329 | <openflow:controller url="tcp:10.10.8.71:6633" type="primary"/> |
| 330 | </rspec> |
| 331 | }}} |
| 332 | |
| 333 | == Step 8. Create a second slice == |
| 334 | |
| 335 | As lnevers2, created slice: |
| 336 | {{{ |
| 337 | $ omni.py createslice GR-EXP-6-2 |
| 338 | INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config |
| 339 | INFO:omni:Using control framework gram |
| 340 | INFO:omni:Created slice with Name GR-EXP-6-2, URN urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2, Expiration 2013-05-17 15:54:30 |
| 341 | INFO:omni: ------------------------------------------------------------ |
| 342 | INFO:omni: Completed createslice: |
| 343 | |
| 344 | Options as run: |
| 345 | framework: gram |
| 346 | |
| 347 | Args: createslice GR-EXP-6-2 |
| 348 | |
| 349 | Result Summary: Created slice with Name GR-EXP-6-2, URN urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2, Expiration 2013-05-17 15:54:30 |
| 350 | |
| 351 | INFO:omni: ============================================================ |
| 352 | |
| 353 | }}} |
| 354 | |
| 355 | == Step 9. Create a second sliver via AM API V3 == |
| 356 | |
| 357 | Created sliver via AM API V3. First allocated resources: |
| 358 | {{{ |
| 359 | $ omni.py allocate GR-EXP-6-2 -a gram -V3 ./GR-EXP-6-2.rspec |
| 360 | INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config |
| 361 | INFO:omni:Using control framework gram |
| 362 | INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN |
| 363 | WARNING:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 expires in <= 3 hours |
| 364 | INFO:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 expires on 2013-05-17 15:54:30 UTC |
| 365 | INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN |
| 366 | INFO:omni:Allocate slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 at https://128.89.91.170:5001: |
| 367 | INFO:omni:{ |
| 368 | "geni_rspec": "<?xml version=\"1.0\" ?> |
| 369 | INFO:omni: <!-- Reserved resources for: |
| 370 | Slice: GR-EXP-6-2 |
| 371 | at AM: |
| 372 | URN: unspecified_AM_URN |
| 373 | URL: https://128.89.91.170:5001 |
| 374 | --> |
| 375 | INFO:omni: <rspec type=\"manifest\" xmlns=\"http://www.geni.net/resources/rspec/3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/ext/openflow/3 http://www.geni.net/resources/rspec/3/manifest.xsd\"> \n <node client_id=\"exp2-of-vm1\" component_manager_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm\" exclusive=\"false\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm7eb21a0f-a59e-4a83-96b2-53df196057d0\"> \n <interface client_id=\"exp2-of-vm1:if0\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface052ebf9a-083f-4836-abd2-0d8d849623ca\"/> \n <sliver_type name=\"m1.small\"> \n <disk_image name=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04\" os=\"Linux\" version=\"12\"/> \n </sliver_type> \n <host name=\"exp2-of-vm1\"/> \n </node> \n <node client_id=\"exp2-of-vm2\" component_manager_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm\" exclusive=\"false\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vmff538923-1154-4b9e-be2d-ad5a010ebaa0\"> \n <interface client_id=\"exp2-of-vm2:if0\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface2a49e96f-ee7a-45c0-984c-c0dbfadb0b27\"/> \n <sliver_type name=\"m1.small\"> \n <disk_image name=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04\" os=\"Linux\" version=\"12\"/> \n </sliver_type> \n <host name=\"exp2-of-vm2\"/> \n </node> \n <link client_id=\"exp2-vm1-vm2\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+linka21589dd-1f36-4839-a704-01e21b6bfb75\"> \n <interface_ref client_id=\"exp2-of-vm1:if0\"/> \n <interface_ref client_id=\"exp2-of-vm2:if0\"/> \n </link> \n</rspec>", |
| 376 | "geni_slivers": [ |
| 377 | { |
| 378 | "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm7eb21a0f-a59e-4a83-96b2-53df196057d0", |
| 379 | "geni_expires": "2013-05-17T14:06:24.886914+00:00", |
| 380 | "geni_allocation_status": "geni_allocated", |
| 381 | "geni_operational_status": "geni_notready", |
| 382 | "geni_error": "" |
| 383 | }, |
| 384 | { |
| 385 | "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vmff538923-1154-4b9e-be2d-ad5a010ebaa0", |
| 386 | "geni_expires": "2013-05-17T14:06:24.886914+00:00", |
| 387 | "geni_allocation_status": "geni_allocated", |
| 388 | "geni_operational_status": "geni_notready", |
| 389 | "geni_error": "" |
| 390 | }, |
| 391 | { |
| 392 | "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+linka21589dd-1f36-4839-a704-01e21b6bfb75", |
| 393 | "geni_expires": "2013-05-17T14:06:24.886914+00:00", |
| 394 | "geni_allocation_status": "geni_allocated", |
| 395 | "geni_operational_status": "geni_notready", |
| 396 | "geni_error": "" |
| 397 | } |
| 398 | ] |
| 399 | } |
| 400 | INFO:omni:All slivers expire on '2013-05-17T14:06:24.886914' |
| 401 | INFO:omni: ------------------------------------------------------------ |
| 402 | INFO:omni: Completed allocate: |
| 403 | |
| 404 | Options as run: |
| 405 | aggregate: ['gram'] |
| 406 | api_version: 3 |
| 407 | framework: gram |
| 408 | |
| 409 | Args: allocate GR-EXP-6-2 ./GR-EXP-6-2.rspec |
| 410 | |
| 411 | Result Summary: Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 expires in <= 3 hours on 2013-05-17 15:54:30 UTC |
| 412 | Allocated slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 at https://128.89.91.170:5001. |
| 413 | Next sliver expiration: 2013-05-17T14:06:24.886914 |
| 414 | INFO:omni: ============================================================ |
| 415 | }}} |
| 416 | |
| 417 | Then provisioned resources: |
| 418 | {{{ |
| 419 | $ omni.py provision GR-EXP-6-2 -a gram -V3 |
| 420 | INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config |
| 421 | INFO:omni:Using control framework gram |
| 422 | INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN |
| 423 | WARNING:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 expires in <= 3 hours |
| 424 | INFO:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 expires on 2013-05-17 15:54:30 UTC |
| 425 | INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN |
| 426 | INFO:omni:Provision slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 at https://128.89.91.170:5001 |
| 427 | INFO:omni:{ |
| 428 | "geni_rspec": "<?xml version=\"1.0\" ?> |
| 429 | INFO:omni: <!-- Provision slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 at AM URL https://128.89.91.170:5001 --> |
| 430 | INFO:omni: <rspec type=\"manifest\" xmlns=\"http://www.geni.net/resources/rspec/3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/ext/openflow/3 http://www.geni.net/resources/rspec/3/manifest.xsd\"> \n <link client_id=\"exp2-vm1-vm2\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+linka21589dd-1f36-4839-a704-01e21b6bfb75\"> \n <interface_ref client_id=\"exp2-of-vm1:if0\"/> \n <interface_ref client_id=\"exp2-of-vm2:if0\"/> \n </link> \n <node client_id=\"exp2-of-vm2\" component_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute1\" component_manager_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm\" exclusive=\"false\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vmff538923-1154-4b9e-be2d-ad5a010ebaa0\"> \n <interface client_id=\"exp2-of-vm2:if0\" mac_address=\"fa:16:3e:c9:95:2a\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface2a49e96f-ee7a-45c0-984c-c0dbfadb0b27\"> \n <ip address=\"10.0.71.101\" type=\"ip\"/> \n </interface> \n <sliver_type name=\"m1.small\"> \n <disk_image name=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04\" os=\"Linux\" version=\"12\"/> \n </sliver_type> \n <services> \n <login authentication=\"ssh-keys\" hostname=\"boscontroller\" port=\"3003\" username=\"lnevers2\"/> \n </services> \n <host name=\"exp2-of-vm2\"/> \n </node> \n <node client_id=\"exp2-of-vm1\" component_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute2\" component_manager_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm\" exclusive=\"false\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm7eb21a0f-a59e-4a83-96b2-53df196057d0\"> \n <interface client_id=\"exp2-of-vm1:if0\" mac_address=\"fa:16:3e:a4:df:3f\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface052ebf9a-083f-4836-abd2-0d8d849623ca\"> \n <ip address=\"10.0.71.100\" type=\"ip\"/> \n </interface> \n <sliver_type name=\"m1.small\"> \n <disk_image name=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04\" os=\"Linux\" version=\"12\"/> \n </sliver_type> \n <services> \n <login authentication=\"ssh-keys\" hostname=\"boscontroller\" port=\"3004\" username=\"lnevers2\"/> \n </services> \n <host name=\"exp2-of-vm1\"/> \n </node> \n</rspec>", |
| 431 | "geni_slivers": [ |
| 432 | { |
| 433 | "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+linka21589dd-1f36-4839-a704-01e21b6bfb75", |
| 434 | "geni_expires": "2013-05-17T15:54:30+00:00", |
| 435 | "geni_allocation_status": "geni_provisioned", |
| 436 | "geni_operational_status": "geni_ready", |
| 437 | "geni_error": "" |
| 438 | }, |
| 439 | { |
| 440 | "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vmff538923-1154-4b9e-be2d-ad5a010ebaa0", |
| 441 | "geni_expires": "2013-05-17T15:54:30+00:00", |
| 442 | "geni_allocation_status": "geni_provisioned", |
| 443 | "geni_operational_status": "geni_notready", |
| 444 | "geni_error": "" |
| 445 | }, |
| 446 | { |
| 447 | "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm7eb21a0f-a59e-4a83-96b2-53df196057d0", |
| 448 | "geni_expires": "2013-05-17T15:54:30+00:00", |
| 449 | "geni_allocation_status": "geni_provisioned", |
| 450 | "geni_operational_status": "geni_notready", |
| 451 | "geni_error": "" |
| 452 | } |
| 453 | ] |
| 454 | } |
| 455 | INFO:omni:All slivers expire on '2013-05-17T15:54:30' |
| 456 | INFO:omni: ------------------------------------------------------------ |
| 457 | INFO:omni: Completed provision: |
| 458 | |
| 459 | Options as run: |
| 460 | aggregate: ['gram'] |
| 461 | api_version: 3 |
| 462 | framework: gram |
| 463 | |
| 464 | Args: provision GR-EXP-6-2 |
| 465 | |
| 466 | Result Summary: Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 expires in <= 3 hours on 2013-05-17 15:54:30 UTC |
| 467 | Provisioned slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 at https://128.89.91.170:5001. |
| 468 | Next sliver expiration: 2013-05-17T15:54:30 |
| 469 | INFO:omni: ============================================================ |
| 470 | }}} |
| 471 | |
| 472 | |
| 473 | == Step 10. Log in to each of the systems in the slice, and send traffic to each other systems; leave traffic running == |
| 474 | |
| 475 | Determined login information: |
| 476 | {{{ |
| 477 | lnevers2@arendia:~$ omni.py describe GR-EXP-6-2 -a gram -V3 -o |
| 478 | lnevers2@arendia:~$ egrep login GR-EXP-6-2-describe-128-89-91-170-5001.json |
| 479 | <login authentication=\"ssh-keys\" hostname=\"boscontroller\" port=\"3003\" username=\"lnevers2\"/> |
| 480 | <login authentication=\"ssh-keys\" hostname=\"boscontroller\" port=\"3004\" username=\"lnevers2\"/> |
| 481 | }}} |
| 482 | |
| 483 | Logged into first host: |
| 484 | {{{ |
| 485 | lnevers2@arendia:~$ ssh 128.89.91.170 -p 3003 |
| 486 | |
| 487 | lnevers2@exp2-of-vm1:~$ ifconfig eth1 |
| 488 | eth1 Link encap:Ethernet HWaddr fa:16:3e:a4:df:3f |
| 489 | inet addr:10.0.71.100 Bcast:10.0.71.255 Mask:255.255.255.0 |
| 490 | inet6 addr: fe80::f816:3eff:fea4:df3f/64 Scope:Link |
| 491 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
| 492 | RX packets:97 errors:0 dropped:0 overruns:0 frame:0 |
| 493 | TX packets:19 errors:0 dropped:0 overruns:0 carrier:0 |
| 494 | collisions:0 txqueuelen:1000 |
| 495 | RX bytes:15505 (15.5 KB) TX bytes:3114 (3.1 KB) |
| 496 | |
| 497 | lnevers2@exp2-of-vm1:~$ ping 10.0.71.101 |
| 498 | PING 10.0.71.101 (10.0.71.101) 56(84) bytes of data. |
| 499 | 64 bytes from 10.0.71.101: icmp_req=1 ttl=64 time=2.96 ms |
| 500 | 64 bytes from 10.0.71.101: icmp_req=2 ttl=64 time=0.734 ms |
| 501 | 64 bytes from 10.0.71.101: icmp_req=3 ttl=64 time=0.838 ms |
| 502 | 64 bytes from 10.0.71.101: icmp_req=4 ttl=64 time=0.717 ms |
| 503 | 64 bytes from 10.0.71.101: icmp_req=5 ttl=64 time=0.802 ms |
| 504 | }}} |
| 505 | |
| 506 | Logged into second host: |
| 507 | {{{ |
| 508 | lnevers2@arendia:~$ ssh 128.89.91.170 -p 3004 |
| 509 | |
| 510 | lnevers2@exp2-of-vm2:~$ ifconfig eth1 |
| 511 | eth1 Link encap:Ethernet HWaddr fa:16:3e:c9:95:2a |
| 512 | inet addr:10.0.71.101 Bcast:10.0.71.255 Mask:255.255.255.0 |
| 513 | inet6 addr: fe80::f816:3eff:fec9:952a/64 Scope:Link |
| 514 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
| 515 | RX packets:103 errors:0 dropped:0 overruns:0 frame:0 |
| 516 | TX packets:17 errors:0 dropped:0 overruns:0 carrier:0 |
| 517 | collisions:0 txqueuelen:1000 |
| 518 | RX bytes:15297 (15.2 KB) TX bytes:2980 (2.9 KB) |
| 519 | |
| 520 | lnevers2@exp2-of-vm2:~$ ping 10.0.71.100 |
| 521 | PING 10.0.71.100 (10.0.71.100) 56(84) bytes of data. |
| 522 | 64 bytes from 10.0.71.100: icmp_req=1 ttl=64 time=1.59 ms |
| 523 | 64 bytes from 10.0.71.100: icmp_req=2 ttl=64 time=0.778 ms |
| 524 | 64 bytes from 10.0.71.100: icmp_req=3 ttl=64 time=0.753 ms |
| 525 | |
| 526 | }}} |
| 527 | |
| 528 | |
| 529 | === Step 11. Verify that experiments traffic exchange === |
| 530 | |
| 531 | Verify that the 2 experiments run without impacting each other's traffic, and that data is exchanged over the path along which data is supposed to flow. |
| 532 | |
| 533 | |
| 534 | Verify that experiment 1 (GR-EXP-6) hosts cannot communicate with experiment 2 (GR-EXP-6-2) hosts: |
| 535 | {{{ |
| 536 | lnevers@of-vm1:~$ ping 10.0.71.100 |
| 537 | PING 10.0.71.100 (10.0.71.100) 56(84) bytes of data. |
| 538 | ^C |
| 539 | --- 10.0.71.100 ping statistics --- |
| 540 | 17 packets transmitted, 0 received, 100% packet loss, time 16000ms |
| 541 | lnevers@of-vm1:~$ |
| 542 | }}} |
| 543 | |
| 544 | Verify that experiment 2 (GR-EXP-6-2) hosts cannot communicate with experiment 1 (GR-EXP-6) hosts: |
| 545 | {{{ |
| 546 | lnevers2@exp2-of-vm1:~$ ping 10.0.70.100 |
| 547 | PING 10.0.70.100 (10.0.70.100) 56(84) bytes of data. |
| 548 | ^C |
| 549 | --- 10.0.70.100 ping statistics --- |
| 550 | 31 packets transmitted, 0 received, 100% packet loss, time 30239ms |
| 551 | lnevers2@exp2-of-vm1:~$ |
| 552 | }}} |
| 553 | |
| 554 | == Step 12. Review baseline monitoring statistics and checks. == |
| 555 | |
| 556 | '''Note:''' Cannot install iperf for baseline measurements. Ticket #57 |
| 557 | |
| 558 | == Step 13. As site administrator, identify all controllers that the BBN GRAM !OpenFlow switch is connected to. == |
| 559 | |
| 560 | Check the VMOC controller for the data path for each experiment (GR-EXP-6 and GR-EXP-6-2) on the controller : |
| 561 | {{{ |
| 562 | |
| 563 | lnevers@boscontroller:~$ echo "dump" |nc localhost 7001 |
| 564 | |
| 565 | ..... |
| 566 | VMOC Slice Registry: |
| 567 | urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-13: {'vlan_configurations': [], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-13'} |
| 568 | urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-1: {'vlan_configurations': [], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-1'} |
| 569 | urn:publicid:IDN+geni:bos:gcf+slice+lngram: {'vlan_configurations': [], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+lngram'} |
| 570 | urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2: {'vlan_configurations': [{'vlan': 1002, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+G |
| 571 | urn:publicid:IDN+geni:bos:gcf+slice+ln6633: {'vlan_configurations': [{'vlan': 1001, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+ln663 |
| 572 | https://localhost:9000 |
| 573 | tcp:10.10.8.71:6633 |
| 574 | {'vlan_configurations': [{'vlan': 1001, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+ln6633'} |
| 575 | {'vlan_configurations': [{'vlan': 1002, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2'} |
| 576 | 1001: {'vlan_configurations': [{'vlan': 1001, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+ln6633'} |
| 577 | 1002: {'vlan_configurations': [{'vlan': 1002, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2'} |
| 578 | |
| 579 | }}} |
| 580 | |
| 581 | Controller for each VLAN can be shown on the switch, which provide address and port number for the VMOC controller: |
| 582 | {{{ |
| 583 | bosswitch# show openflow 1001 |
| 584 | |
| 585 | Openflow Configuration - VLAN 1001 |
| 586 | |
| 587 | Openflow state [Disabled] : Disabled |
| 588 | Controller pseudo-URL : tcp:128.89.91.170:6633 |
| 589 | Listener pseudo-URL : |
| 590 | Openflow software rate limit [100] : 100 |
| 591 | Openflow connecting max backoff [60] : 60 |
| 592 | Openflow hardware acceleration [Enabled] : Enabled |
| 593 | Openflow hardware rate limit [0] : 0 |
| 594 | Openflow hardware stats max refresh rate [0] : 0 |
| 595 | Openflow fail-secure [Disabled] : Enabled |
| 596 | Second Controller pseudo-URL : |
| 597 | Third Controller pseudo-URL : |
| 598 | |
| 599 | Openflow Status - VLAN 1001 |
| 600 | |
| 601 | Switch MAC address : 00:25:61:36:9D:00 |
| 602 | Openflow datapath ID : 03E9002561369D00 |
| 603 | Instance not running, no controller connection |
| 604 | Number of hardware rules: 0 |
| 605 | |
| 606 | bosswitch# show openflow 1002 |
| 607 | |
| 608 | Openflow Configuration - VLAN 1002 |
| 609 | |
| 610 | Openflow state [Disabled] : Disabled |
| 611 | Controller pseudo-URL : tcp:128.89.91.170:6633 |
| 612 | Listener pseudo-URL : |
| 613 | Openflow software rate limit [100] : 100 |
| 614 | Openflow connecting max backoff [60] : 60 |
| 615 | Openflow hardware acceleration [Enabled] : Enabled |
| 616 | Openflow hardware rate limit [0] : 0 |
| 617 | Openflow hardware stats max refresh rate [0] : 0 |
| 618 | Openflow fail-secure [Disabled] : Enabled |
| 619 | Second Controller pseudo-URL : |
| 620 | Third Controller pseudo-URL : |
| 621 | |
| 622 | Openflow Status - VLAN 1002 |
| 623 | |
| 624 | Switch MAC address : 00:25:61:36:9D:00 |
| 625 | Openflow datapath ID : 03EA002561369D00 |
| 626 | Instance not running, no controller connection |
| 627 | Number of hardware rules: 0 |
| 628 | }}} |
| 629 | |
| 630 | |
| 631 | |
| 632 | |
| 633 | == Step 14. Set the hard and soft timeout of flowtable entries == |
| 634 | |
| 635 | The hard and soft timeouts defaults can be modified by editing the VMOC source file VMOCUtils.py found in /home/gram/gram/src/vmoc directory. |
| 636 | Default values are in VMOCUtils.py for soft timeout (idle_timeout) is 10 seconds, and for hard timeout the default is 30 seconds. |
| 637 | |
| 638 | |
| 639 | == Step 15. Get switch statistics and flowtable entries for slivers from the !OpenFlow switch. == |
| 640 | |
| 641 | Connect to switch and captured OpenFlow statistics: |
| 642 | {{{ |
| 643 | |
| 644 | |
| 645 | bosswitch# show openflow |
| 646 | |
| 647 | Openflow Configuration |
| 648 | |
| 649 | Openflow aggregate VLANs [Disabled] : |
| 650 | Openflow aggregate management VlanId [0] : 0 |
| 651 | Openflow second aggregate management VlanId [0] : 0 |
| 652 | Openflow aggregate configuration VlanId [0] : 0 |
| 653 | |
| 654 | VID State HW Controller Pseudo-URL Conn |
| 655 | ---- ----- --- -------------------------------------------------- ---- |
| 656 | 1000 Off On tcp:128.89.91.170:6633 No |
| 657 | 1001 Off On tcp:128.89.91.170:6633 No |
| 658 | 1002 Off On tcp:128.89.91.170:6633 No |
| 659 | 1003 Off On tcp:128.89.91.170:6633 No |
| 660 | 1004 Off On tcp:128.89.91.170:6633 No |
| 661 | 1005 On On tcp:128.89.91.170:6633 Yes |
| 662 | 1006 On On tcp:128.89.91.170:6633 Yes |
| 663 | 1007 On On tcp:128.89.91.170:6633 Yes |
| 664 | 1008 On On tcp:128.89.91.170:6633 Yes |
| 665 | 1009 On On tcp:128.89.91.170:6633 Yes |
| 666 | 1010 On On tcp:128.89.91.170:6633 Yes |
| 667 | |
| 668 | }}} |
| 669 | Show information for VLAN 1001 which is used by the first experiment (ln6633) |
| 670 | |
| 671 | {{{ |
| 672 | bosswitch# show openflow 1001 |
| 673 | |
| 674 | Openflow Configuration - VLAN 1001 |
| 675 | |
| 676 | Openflow state [Disabled] : Disabled |
| 677 | Controller pseudo-URL : tcp:128.89.91.170:6633 |
| 678 | Listener pseudo-URL : |
| 679 | Openflow software rate limit [100] : 100 |
| 680 | Openflow connecting max backoff [60] : 60 |
| 681 | Openflow hardware acceleration [Enabled] : Enabled |
| 682 | Openflow hardware rate limit [0] : 0 |
| 683 | Openflow hardware stats max refresh rate [0] : 0 |
| 684 | Openflow fail-secure [Disabled] : Enabled |
| 685 | Second Controller pseudo-URL : |
| 686 | Third Controller pseudo-URL : |
| 687 | |
| 688 | Openflow Status - VLAN 1001 |
| 689 | |
| 690 | Switch MAC address : 00:25:61:36:9D:00 |
| 691 | Openflow datapath ID : 03E9002561369D00 |
| 692 | Instance not running, no controller connection |
| 693 | Number of hardware rules: 0 |
| 694 | |
| 695 | bosswitch# show vlans 1001 |
| 696 | |
| 697 | Status and Counters - VLAN Information - VLAN 1001 |
| 698 | |
| 699 | VLAN ID : 1001 |
| 700 | Name : vlan1001 |
| 701 | Status : Port-based |
| 702 | Voice : No |
| 703 | Jumbo : No |
| 704 | |
| 705 | Port Information Mode Unknown VLAN Status |
| 706 | ---------------- -------- ------------ ---------- |
| 707 | 8 Tagged Learn Up |
| 708 | 16 Tagged Learn Up |
| 709 | 24 Tagged Learn Up |
| 710 | 34 Tagged Learn Up |
| 711 | }}} |
| 712 | |
| 713 | Show information for second experiment: |
| 714 | {{{ |
| 715 | |
| 716 | bosswitch# show vlan 1002 |
| 717 | |
| 718 | Status and Counters - VLAN Information - VLAN 1002 |
| 719 | |
| 720 | VLAN ID : 1002 |
| 721 | Name : vlan1002 |
| 722 | Status : Port-based |
| 723 | Voice : No |
| 724 | Jumbo : No |
| 725 | |
| 726 | Port Information Mode Unknown VLAN Status |
| 727 | ---------------- -------- ------------ ---------- |
| 728 | 8 Tagged Learn Up |
| 729 | 16 Tagged Learn Up |
| 730 | 24 Tagged Learn Up |
| 731 | 34 Tagged Learn Up |
| 732 | |
| 733 | bosswitch# show mac-address |
| 734 | |
| 735 | Status and Counters - Port Address Table |
| 736 | |
| 737 | MAC Address Port VLAN |
| 738 | ------------- ------ ---- |
| 739 | 001b21-bc2710 48 820 |
| 740 | 00c0b7-58dca9 48 820 |
| 741 | 782bcb-4f626e 48 820 |
| 742 | 782bcb-505c02 48 820 |
| 743 | 782bcb-506801 48 820 |
| 744 | 782bcb-506803 48 820 |
| 745 | 782bcb-51a684 48 820 |
| 746 | ccef48-675bd0 48 820 |
| 747 | fa163e-1366fa 8 1001 |
| 748 | fa163e-27436b 34 1001 |
| 749 | fa163e-f60aa6 16 1001 |
| 750 | fa163e-25abbf 16 1002 |
| 751 | fa163e-a4df3f 34 1002 |
| 752 | fa163e-c9952a 8 1002 |
| 753 | |
| 754 | }}} |
| 755 | The MAC address for port "8" for VLAN 1002 is for "of-vm2" for experiment GR-EXP-6-2. We show some traffic statistics for the VM "of-vm2" on port 8: |
| 756 | {{{ |
| 757 | bosswitch# show interfaces 8 |
| 758 | Status and Counters - Port Counters for port 8 |
| 759 | |
| 760 | Name : |
| 761 | MAC Address : 002561-369de0 |
| 762 | Link Status : Up |
| 763 | Totals (Since boot or last clear) : |
| 764 | Bytes Rx : 49,103,554 Bytes Tx : 245,278,086 |
| 765 | Unicast Rx : 200,103 Unicast Tx : 162,608 |
| 766 | Bcast/Mcast Rx : 84,953 Bcast/Mcast Tx : 1,259,131 |
| 767 | Errors (Since boot or last clear) : |
| 768 | FCS Rx : 0 Drops Tx : 0 |
| 769 | Alignment Rx : 0 Collisions Tx : 0 |
| 770 | Runts Rx : 0 Late Colln Tx : 0 |
| 771 | Giants Rx : 0 Excessive Colln : 0 |
| 772 | Total Rx Errors : 0 Deferred Tx : 0 |
| 773 | Others (Since boot or last clear) : |
| 774 | Discard Rx : 0 Out Queue Len : 0 |
| 775 | Unknown Protos : 0 |
| 776 | Rates (5 minute weighted average) : |
| 777 | Total Rx (bps) : 4,199,472 Total Tx (bps) : 4,037,200 |
| 778 | Unicast Rx (Pkts/sec) : 0 Unicast Tx (Pkts/sec) : 0 |
| 779 | B/Mcast Rx (Pkts/sec) : 0 B/Mcast Tx (Pkts/sec) : 0 |
| 780 | Utilization Rx : 00.41 % Utilization Tx : 00.40 % |
| 781 | }}} |
| 782 | |
| 783 | Show information for VLAN 1002 which is used by the second experiment (GR-EXP-6-2) |
| 784 | {{{ |
| 785 | bosswitch# show openflow 1002 |
| 786 | Openflow Configuration - VLAN 1002 |
| 787 | |
| 788 | Openflow state [Disabled] : Disabled |
| 789 | Controller pseudo-URL : tcp:128.89.91.170:6633 |
| 790 | Listener pseudo-URL : |
| 791 | Openflow software rate limit [100] : 100 |
| 792 | Openflow connecting max backoff [60] : 60 |
| 793 | Openflow hardware acceleration [Enabled] : Enabled |
| 794 | Openflow hardware rate limit [0] : 0 |
| 795 | Openflow hardware stats max refresh rate [0] : 0 |
| 796 | Openflow fail-secure [Disabled] : Enabled |
| 797 | Second Controller pseudo-URL : |
| 798 | Third Controller pseudo-URL : |
| 799 | |
| 800 | Openflow Status - VLAN 1002 |
| 801 | |
| 802 | Switch MAC address : 00:25:61:36:9D:00 |
| 803 | Openflow datapath ID : 03EA002561369D00 |
| 804 | Instance not running, no controller connection |
| 805 | Number of hardware rules: 0 |
| 806 | |
| 807 | }}} |
| 808 | |
| 809 | == Step 16. Get layer 2 topology information about slivers in each slice. == |
| 810 | |
| 811 | Form the controller: |
| 812 | {{{ |
| 813 | $ python /etc/gram/dump_gram_snapshot.py --directory . --snapshot 2013_05_17_09_56_24_0.json |
| 814 | Dumping snapshot 2013_05_17_09_56_24_0.json: |
| 815 | Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-2-exp1 |
| 816 | Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-1a |
| 817 | Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 |
| 818 | Sliver urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+linka21589dd-1f36-4839-a704-01e21b6bfb75 User: urn:publicid:IDN+geni:bos:gcf+user+lnevers2 |
| 819 | Sliver urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vmff538923-1154-4b9e-be2d-ad5a010ebaa0 User: urn:publicid:IDN+geni:bos:gcf+user+lnevers2 |
| 820 | Sliver urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface2a49e96f-ee7a-45c0-984c-c0dbfadb0b27 User: urn:publicid:IDN+geni:bos:gcf+user+lnevers2 |
| 821 | Sliver urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface052ebf9a-083f-4836-abd2-0d8d849623ca User: urn:publicid:IDN+geni:bos:gcf+user+lnevers2 |
| 822 | Sliver urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm7eb21a0f-a59e-4a83-96b2-53df196057d0 User: urn:publicid:IDN+geni:bos:gcf+user+lnevers2 |
| 823 | }}} |
| 824 | |
| 825 | From the snapshot 2013_05_17_10_01_50_0.json, ARP infornatib us available: |
| 826 | {{{ |
| 827 | "network_interfaces": ["urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface35638f90-4383-440b-897e-f76f35a24c7d"], "__type__": "VirtualMachine", "last_octet": "100", "operational_state": "geni_ready", "os_version": "12", "mgmt_net_addr": "192.168.10.4", "manifest_rspec": "<node client_id=\"of-vm1\" component_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute2\" component_manager_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm\" exclusive=\"false\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm0c7363a9-3bbc-4d6f-ab60-af67667a0232\"><interface client_id=\"of-vm1:if0\" mac_address=\"fa:16:3e:27:43:6b\ |
| 828 | }}} |
| 829 | |
| 830 | From VMOC, dumped all data and found the following information specific to VLAN 1001 for experiment 1: |
| 831 | {{{ |
| 832 | VMOCSwitchControllerMap: |
| 833 | Switches: |
| 834 | <vmoc.VMOCSwitchConnection.VMOCSwitchConnection object at 0x19b5950> |
| 835 | [VMOCControllerConnection DPID 282038087208836352 URL https://localhost:9000 VLAN 1001] |
| 836 | <vmoc.VMOCSwitchConnection.VMOCSwitchConnection object at 0x19b5910> |
| 837 | [VMOCControllerConnection DPID 285978736882785536 URL https://localhost:9000 VLAN 1001] |
| 838 | [VMOCControllerConnection DPID 285978736882785536 URL https://localhost:9000 VLAN 1001] |
| 839 | [VMOCControllerConnection DPID 285978736882785536 URL https://localhost:9000 VLAN 1001] |
| 840 | <vmoc.VMOCSwitchConnection.VMOCSwitchConnection object at 0x19b5890> |
| 841 | |
| 842 | [VMOCControllerConnection DPID 285978736882785536 URL https://localhost:9000 VLAN 1001] |
| 843 | <vmoc.VMOCSwitchConnection.VMOCSwitchConnection object at 0x19b5910> |
| 844 | |
| 845 | [VMOCControllerConnection DPID 285978736882785536 URL https://localhost:9000 VLAN 1001] |
| 846 | <vmoc.VMOCSwitchConnection.VMOCSwitchConnection object at 0x19b5910> |
| 847 | |
| 848 | [VMOCControllerConnection DPID 282038087208836352 URL https://localhost:9000 VLAN 1001] |
| 849 | <vmoc.VMOCSwitchConnection.VMOCSwitchConnection object at 0x19b5950> |
| 850 | |
| 851 | [VMOCControllerConnection DPID 285415786929364224 URL https://localhost:9000 VLAN 1001] |
| 852 | <vmoc.VMOCSwitchConnection.VMOCSwitchConnection object at 0x19b5890> |
| 853 | |
| 854 | |
| 855 | Controllers (by VLAN) |
| 856 | 1001 |
| 857 | [VMOCControllerConnection DPID 285978736882785536 URL https://localhost:9000 VLAN 1001] |
| 858 | [VMOCControllerConnection DPID 285978736882785536 URL https://localhost:9000 VLAN 1001] |
| 859 | [VMOCControllerConnection DPID 282038087208836352 URL https://localhost:9000 VLAN 1001] |
| 860 | [VMOCControllerConnection DPID 285978736882785536 URL https://localhost:9000 VLAN 1001] |
| 861 | [VMOCControllerConnection DPID 285415786929364224 URL https://localhost:9000 VLAN 1001] |
| 862 | |
| 863 | urn:publicid:IDN+geni:bos:gcf+slice+ln6633: {'vlan_configurations': [{'vlan': 1001, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+ln6633'} |
| 864 | {'vlan_configurations': [{'vlan': 1001, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+ln6633'} |
| 865 | 1002: {'vlan_configurations': [{'vlan': 1002, 'controller_url': u'tcp:10.10.8.71:6633'}], 'slice_id': u'urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2'} |
| 866 | }}} |
| 867 | |
| 868 | |
| 869 | }}} |
| 870 | == Step 17. Install layer 2 flows == |
| 871 | |
| 872 | Install flows that match only on layer 2 fields, and confirm whether the matching is done in hardware. |
| 873 | |
| 874 | '''Note:''' No tools are available to install static flows. |
| 875 | |
| 876 | == Step 18. Install layer 3 flows == |
| 877 | |
| 878 | If supported, install flows that match only on layer 3 fields, and confirm whether the matching is done in hardware |
| 879 | |
| 880 | '''Note:''' No tools are available to install static flows. |
| 881 | |
| 882 | == Step 19. Delete slivers. == |
| 883 | |
| 884 | As lnevers delete first sliver: |
| 885 | {{{ |
| 886 | $ omni.py deletesliver -a gram2 -V2 ln6633INFO:omni:Loading config file /home/lnevers/.gcf/omni_config |
| 887 | INFO:omni:Using control framework gram |
| 888 | INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN |
| 889 | WARNING:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+ln6633 expires in <= 3 hours |
| 890 | INFO:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+ln6633 expires on 2013-05-17 19:23:00 UTC |
| 891 | INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN |
| 892 | INFO:omni:Deleted sliver urn:publicid:IDN+geni:bos:gcf+slice+ln6633 on unspecified_AM_URN at https://128.89.91.170:5002 |
| 893 | INFO:omni: ------------------------------------------------------------ |
| 894 | INFO:omni: Completed deletesliver: |
| 895 | |
| 896 | Options as run: |
| 897 | aggregate: ['gram2'] |
| 898 | framework: gram |
| 899 | |
| 900 | Args: deletesliver ln6633 |
| 901 | |
| 902 | Result Summary: Deleted sliver urn:publicid:IDN+geni:bos:gcf+slice+ln6633 on unspecified_AM_URN at https://128.89.91.170:5002 |
| 903 | INFO:omni: ============================================================ |
| 904 | |
| 905 | }}} |
| 906 | |
| 907 | As lnevers2 delete second sliver: |
| 908 | {{{ |
| 909 | lnevers2@arendia:~$ omni.py delete GR-EXP-6-2 -a gram -V3 INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config |
| 910 | INFO:omni:Using control framework gram |
| 911 | INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN |
| 912 | WARNING:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 expires in <= 3 hours |
| 913 | INFO:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 expires on 2013-05-17 19:24:44 UTC |
| 914 | INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN |
| 915 | |
| 916 | INFO:omni:Deleted slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 on unspecified_AM_URN at https://128.89.91.170:5001 |
| 917 | INFO:omni:Deletion of slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 at AM URL https://128.89.91.170:5001 |
| 918 | INFO:omni:[] |
| 919 | INFO:omni: ------------------------------------------------------------ |
| 920 | INFO:omni: Completed delete: |
| 921 | |
| 922 | Options as run: |
| 923 | aggregate: ['gram'] |
| 924 | api_version: 3 |
| 925 | framework: gram |
| 926 | |
| 927 | Args: delete GR-EXP-6-2 |
| 928 | |
| 929 | Result Summary: Deleted slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+GR-EXP-6-2 on unspecified_AM_URN at https://128.89.91.170:5001 |
| 930 | |
| 931 | INFO:omni: ============================================================ |
| 932 | |
| 933 | }}} |