[[PageOutline]]
= CG-EXP-5: OpenFlow Support =
This test uses resources in the NCSU2 Cisco rack. Note the following Omni nick names are used:
{{{
ncsu2-eg=urn:publicid:IDN+exogeni.net:ncsu2vmsite+authority+am,https://ncsu2-hn.exogeni.net:11443/orca/xmlrpc
ncsu2-eg-of=urn:publicid:IDN+openflow:foam:ncsu2-hn.exogeni.net+authority+am,https://ncsu2-hn.exogeni.net:3626/foam/gapi/2
}}}
== Test Status ==
This section captures the status for each step in the acceptance test plan.
|| '''!OpenFlow Test''' ||'''State''' || ''' !Tickets/Comments''' ||
|| [wiki:GENIRacksHome/CiscoGENIRacks/AcceptanceTestStatus/CG-EXP-5#OpenFlowCommands OpenFlow Commands]||[[Color(green,Pass)]] || ||
|| Shared OF VLAN Interoperability (EG and IG) ||[[Color(green,Pass)]]|| ||
|| !OpenFlow over Stitched connection to remote InstaGENI||N/A ||Not yet available for evaluation in ExoGENI.||
|| !OpenFlow over Stitched connection to remote ExoGENI || N/A||Not yet available for evaluation in ExoGENI ||
[[BR]]
|| '''State Legend''' || '''Description''' ||
|| [[Color(green,Pass)]] || Test completed and met all criteria ||
|| [[Color(#98FB98,Pass: most criteria)]] || Test completed and met most criteria. Exceptions documented ||
|| [[Color(red,Fail)]] || Test completed and failed to meet criteria. ||
|| [[Color(yellow,Complete)]] || Test completed but will require re-execution due to expected changes ||
|| [[Color(orange,Blocked)]] || Blocked by ticketed issue(s). ||
|| [[Color(#63B8FF,In Progress)]] || Currently under test. ||
[[BR]]
= !OpenFlow Commands =
Verify !OpenFlow Aggregate version:
{{{
$ omni getversion -a ncsu2-eg-of
12:17:14 INFO : Loading agg_nick_cache file '/home/lnevers/.gcf/agg_nick_cache'
12:17:14 INFO : Loading config file '/home/lnevers/.gcf/omni_config'
12:17:14 INFO : Using control framework portal
12:17:14 INFO : Member Authority is https://ch.geni.net/MA (from config)
12:17:14 INFO : Slice Authority is https://ch.geni.net/SA (from config)
12:17:14 INFO : Substituting AM nickname ncsu2-eg-of with URL https://ncsu2-hn.exogeni.net:3626/foam/gapi/2, URN urn:publicid:IDN+openflow:foam:ncsu2-hn.exogeni.net+authority+am
12:17:15 INFO : AM ncsu2-eg-of URN: urn:publicid:IDN+openflow:foam:ncsu2-hn.exogeni.net+authority+am (url: https://ncsu2-hn.exogeni.net:3626/foam/gapi/2) has version:
12:17:15 INFO : { 'flowvisor_version': '0.8.1',
'foam_version': '0.14.0',
'geni_ad_rspec_versions': [ { 'extensions': [ 'http://www.geni.net/resources/rspec/ext/openflow/3',
'http://geni.bssoftworks.com/rspec/ext/topo/1'],
'namespace': 'http://www.geni.net/resources/rspec/3',
'schema': 'http://www.geni.net/resources/rspec/3/ad.xsd',
'type': 'GENI',
'version': '3'}],
'geni_api': 2,
'geni_api_versions': { '1': 'https://152.48.13.190:3626/foam/gapi/1',
'2': 'https://152.48.13.190:3626/foam/gapi/2'},
'geni_request_rspec_versions': [ { 'extensions': [ 'http://www.geni.net/resources/rspec/ext/openflow/3'],
'namespace': 'http://www.geni.net/resources/rspec/3',
'schema': 'http://www.geni.net/resources/rspec/3/request.xsd',
'type': 'GENI',
'version': '3'}],
'openflow_auto_approval': 'disabled',
'site_info': { 'admin-email': 'foam-admin@gpolab.bbn.com'}}
12:17:15 INFO : ------------------------------------------------------
12:17:15 INFO : Completed getversion:
Options as run:
aggregate: ['ncsu2-eg-of']
framework: portal
noGetVersionCache: True
project: ln-test
Args: getversion
Result Summary:
Got version for ncsu2-eg-of
12:17:15 INFO : ======================================================
}}}
''' Note: same version as other ExoGENI FOAM aggregates'''
Verify !OpenFlow Advertisement:
{{{
11:31:40 INFO : Loading agg_nick_cache file '/home/lnevers/.gcf/agg_nick_cache'
11:31:40 INFO : Loading config file '/home/lnevers/.gcf/omni_config'
11:31:40 INFO : Using control framework portal
11:31:40 INFO : Member Authority is https://ch.geni.net/MA (from config)
11:31:40 INFO : Slice Authority is https://ch.geni.net/SA (from config)
11:31:40 INFO : Substituting AM nickname ncsu2-eg-of with URL https://ncsu2-hn.exogeni.net:3626/foam/gapi/2, URN urn:publicid:IDN+openflow:foam:ncsu2-hn.exogeni.net+authority+am
11:31:41 INFO : Listed advertised resources at 1 out of 1 possible aggregates.
11:31:41 INFO :
11:31:41 INFO :
11:31:41 INFO :
11:31:41 INFO : ------------------------------------------------------
11:31:41 INFO : Completed listresources:
Options as run:
aggregate: ['ncsu2-eg-of']
framework: portal
project: ln-test
Args: listresources
Result Summary: Queried resources from 1 of 1 aggregate(s).
11:31:41 INFO : ======================================================
}}}
Ran ''rspeclint'' on the list resources output:
{{{
$ rspeclint rspec-openflow-foam-ncsu2-hn-exogeni-net.xml
Failed to load schema for namespace http://www.geni.net/resources/rspec/ext/openflow/3 from location http://www.geni.net/resources/rspec/ext/openflow/3/of-ad.xsd
: Schemas parser error : Failed to locate the main schema resource at 'http://www.geni.net/resources/rspec/ext/openflow/3/of-ad.xsd'.
}}}
'''Note: Fails with a known !OpenFlow issue, not a Cisco rack issue.'''
== Shared OF VLAN Interoperability ==
A special set up was put in place to allow a shared VLAN between GPO IG and NCSU2 EG. The following were executes to test the setup using [http://groups.geni.net/geni/browser/trunk/GENIRacks/CiscoGENI/RSpecs/AcceptanceTests/CG-CT-5-openflow-eg-ncsu2.rspec CG-CT-5-openflow-eg-ncsu2.rspec]:
Create a sliver at NCSU2 FOAM Aggregate:
{{{
$ omni createsliver -a ncsu2-eg-of CG-CT-5 ./CG-CT-5-openflow-eg-ncsu2.rspec
13:15:11 INFO : Loading agg_nick_cache file '/home/lnevers/.gcf/agg_nick_cache'
13:15:11 INFO : Loading config file '/home/lnevers/.gcf/omni_config'
13:15:11 INFO : Using control framework portal
13:15:11 INFO : Member Authority is https://ch.geni.net/MA (from config)
13:15:11 INFO : Slice Authority is https://ch.geni.net/SA (from config)
13:15:11 INFO : Substituting AM nickname ncsu2-eg-of with URL https://ncsu2-hn.exogeni.net:3626/foam/gapi/2, URN urn:publicid:IDN+openflow:foam:ncsu2-hn.exogeni.net+authority+am
13:15:12 INFO : Slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-5 expires on 2014-12-22 14:39:31 UTC
13:15:12 INFO : Creating sliver(s) from rspec file ./CG-CT-5-openflow-eg-ncsu2.rspec for slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-5
13:15:13 INFO : Got return from CreateSliver for slice CG-CT-5 at ncsu2-eg-of:
13:15:13 INFO :
13:15:13 INFO :
13:15:13 INFO :
13:15:13 INFO : ------------------------------------------------------
13:15:13 INFO : Completed createsliver:
Options as run:
aggregate: ['ncsu2-eg-of']
framework: portal
project: ln-test
Args: createsliver CG-CT-5 ./CG-CT-5-openflow-eg-ncsu2.rspec
Result Summary: Got Reserved resources RSpec from openflow-foam-ncsu2-hn-exogeni-net
13:15:13 INFO : ======================================================
}}}
Create sliver to get compute resources at NCSU2 EG using [http://groups.geni.net/geni/browser/trunk/GENIRacks/CiscoGENI/RSpecs/AcceptanceTests/CG-CT-5-eg-ncsu2.rspec CG-CT-5-eg-ncsu2.rspec]:
{{{
$ omni createsliver -a ncsu2-eg CG-CT-5 ./CG-CT-5-eg-ncsu2.rspec
13:15:21 INFO : Loading agg_nick_cache file '/home/lnevers/.gcf/agg_nick_cache'
13:15:21 INFO : Loading config file '/home/lnevers/.gcf/omni_config'
13:15:21 INFO : Using control framework portal
13:15:21 INFO : Member Authority is https://ch.geni.net/MA (from config)
13:15:21 INFO : Slice Authority is https://ch.geni.net/SA (from config)
13:15:21 INFO : Substituting AM nickname ncsu2-eg with URL https://ncsu2-hn.exogeni.net:11443/orca/xmlrpc, URN urn:publicid:IDN+exogeni.net:ncsu2vmsite+authority+am
13:15:21 INFO : Slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-5 expires on 2014-12-22 14:39:31 UTC
13:15:21 INFO : Creating sliver(s) from rspec file ./CG-CT-5-eg-ncsu2.rspec for slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-5
13:15:25 INFO : Got return from CreateSliver for slice CG-CT-5 at ncsu2-eg:
13:15:25 INFO :
13:15:25 INFO :
13:15:25 INFO :
#!/bin/bash
# Automatically generated boot script
eval "/bin/sh -c \"hostname ncsu2-vm\""
#!/bin/bash
# Automatically generated boot script
eval "/bin/sh -c \"hostname ncsu2-vm1\""
13:15:25 INFO : ------------------------------------------------------
13:15:25 INFO : Completed createsliver:
Options as run:
aggregate: ['ncsu2-eg']
framework: portal
project: ln-test
Args: createsliver CG-CT-5 ./CG-CT-5-eg-ncsu2.rspec
Result Summary: Got Reserved resources RSpec from exogeni-net-ncsu2vmsite
13:15:25 INFO : ======================================================
}}}
Create a sliver at the GPO IG FOAM Aggregate using [http://groups.geni.net/geni/browser/trunk/GENIRacks/CiscoGENI/RSpecs/AcceptanceTests/CG-CT-5-openflow-ig-gpo.rspec CG-CT-5-openflow-ig-gpo.rspec]:
{{{
$ omni createsliver -a gpo-ig-of CG-CT-5 ./CG-CT-5-openflow-ig-gpo.rspec
13:15:30 INFO : Loading agg_nick_cache file '/home/lnevers/.gcf/agg_nick_cache'
13:15:30 INFO : Loading config file '/home/lnevers/.gcf/omni_config'
13:15:30 INFO : Using control framework portal
13:15:30 INFO : Member Authority is https://ch.geni.net/MA (from config)
13:15:30 INFO : Slice Authority is https://ch.geni.net/SA (from config)
13:15:30 INFO : Substituting AM nickname gpo-ig-of with URL https://foam.instageni.gpolab.bbn.com:3626/foam/gapi/2, URN urn:publicid:IDN+openflow:foam:foam.instageni.gpolab.bbn.com+authority+am
13:15:31 INFO : Slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-5 expires on 2014-12-22 14:39:31 UTC
13:15:31 INFO : Creating sliver(s) from rspec file ./CG-CT-5-openflow-ig-gpo.rspec for slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-5
13:15:32 INFO : Got return from CreateSliver for slice CG-CT-5 at ig-of-bbn:
13:15:32 INFO :
13:15:32 INFO :
13:15:32 INFO :
13:15:33 INFO : ------------------------------------------------------
13:15:33 INFO : Completed createsliver:
Options as run:
aggregate: ['gpo-ig-of']
framework: portal
project: ln-test
Args: createsliver CG-CT-5 ./CG-CT-5-openflow-ig-gpo.rspec
Result Summary: Got Reserved resources RSpec from openflow-foam-foam-instageni-gpolab-bbn-com
13:15:33 INFO : ======================================================
}}}
Create sliver to get compute resources at GPO IG using [http://groups.geni.net/geni/browser/trunk/GENIRacks/CiscoGENI/RSpecs/AcceptanceTests/CG-CT-5-ig-gpo.rspec CG-CT-5-ig-gpo.rspec].
{{{
$ omni createsliver -a gpo-ig CG-CT-5 ./CG-CT-5-ig-gpo.rspec
13:15:40 INFO : Loading agg_nick_cache file '/home/lnevers/.gcf/agg_nick_cache'
13:15:40 INFO : Loading config file '/home/lnevers/.gcf/omni_config'
13:15:40 INFO : Using control framework portal
13:15:40 INFO : Member Authority is https://ch.geni.net/MA (from config)
13:15:40 INFO : Slice Authority is https://ch.geni.net/SA (from config)
13:15:40 INFO : Substituting AM nickname gpo-ig with URL https://boss.instageni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0, URN urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm
13:15:40 INFO : Slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-5 expires on 2014-12-22 14:39:31 UTC
13:15:40 INFO : Creating sliver(s) from rspec file ./CG-CT-5-ig-gpo.rspec for slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-5
13:15:55 INFO : (PG log url - look here for details on any failures: https://boss.instageni.gpolab.bbn.com/spewlogfile.php3?logfile=6c74cc0537cbeace3dfe101d7c5fffd4)
13:15:55 INFO : Got return from CreateSliver for slice CG-CT-5 at gpo-ig:
13:15:55 INFO :
13:15:55 INFO :
13:15:55 INFO :
13:15:55 INFO : Reservation at gpo-ig in slice CG-CT-5 expires at 2014-12-22 14:39:31 (UTC).
13:15:55 INFO : ------------------------------------------------------
13:15:55 INFO : Completed createsliver:
Options as run:
aggregate: ['gpo-ig']
framework: portal
project: ln-test
Args: createsliver CG-CT-5 ./CG-CT-5-ig-gpo.rspec
Result Summary: Got Reserved resources RSpec from instageni-gpolab-bbn-com. Reservation at gpo-ig in slice CG-CT-5 expires at 2014-12-22 14:39:31 (UTC).
13:15:55 INFO : ======================================================
}}}
Determine login to each host:
{{{
$ readyToLogin -a gpo-ig CG-CT-5
...
gpo-ig's geni_status is: ready
User lnevers logs in to gpo-ig using:
ssh -p 31802 -i /home/lnevers/.ssh/geni_cert_portal_key lnevers@pc1.instageni.gpolab.bbn.com
$ readyToLogin -a ncsu2-eg CG-CT-5
...
ncsu2-vm's geni_status is: ready
User lnevers logs in to ncsu2-vm using:
ssh -i /home/lnevers/.ssh/geni_cert_portal_key lnevers@152.48.13.193
ncsu2-vm1's geni_status is: ready
User lnevers logs in to ncsu2-vm1 using:
ssh -i /home/lnevers/.ssh/geni_cert_portal_key lnevers@152.48.13.194
}}}
=== Measurements ===
''Collected: 2014-12-16''
'''Iperf from GPO IG VM to NCSU2 EG VM (TCP) - TCP window size: 23.5 KB '''
__One Client_
{{{
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.0 sec 888 MBytes 124 Mbits/sec
}}}
__Five Clients__
{{{
[ ID] Interval Transfer Bandwidth
[ 6] 0.0-60.0 sec 848 MBytes 119 Mbits/sec
[ 4] 0.0-60.0 sec 1001 MBytes 140 Mbits/sec
[ 5] 0.0-60.0 sec 870 MBytes 122 Mbits/sec
[ 3] 0.0-60.0 sec 883 MBytes 123 Mbits/sec
[ 7] 0.0-60.0 sec 887 MBytes 124 Mbits/sec
[SUM] 0.0-60.0 sec 4.38 GBytes 627 Mbits/sec
}}}
__Ten Clients__
{{{
[ ID] Interval Transfer Bandwidth
[ 7] 0.0-60.0 sec 430 MBytes 60.1 Mbits/sec
[ 9] 0.0-60.0 sec 473 MBytes 66.2 Mbits/sec
[ 4] 0.0-60.0 sec 582 MBytes 81.3 Mbits/sec
[ 8] 0.0-60.0 sec 701 MBytes 97.9 Mbits/sec
[ 10] 0.0-60.0 sec 521 MBytes 72.8 Mbits/sec
[ 3] 0.0-60.0 sec 502 MBytes 70.2 Mbits/sec
[ 5] 0.0-60.0 sec 472 MBytes 66.0 Mbits/sec
[ 6] 0.0-60.0 sec 572 MBytes 80.0 Mbits/sec
[ 11] 0.0-60.0 sec 612 MBytes 85.5 Mbits/sec
[ 12] 0.0-60.0 sec 564 MBytes 78.9 Mbits/sec
[SUM] 0.0-60.0 sec 5.30 GBytes 758 Mbits/sec
}}}
'''Iperf from GPO IG VM to NCSU2 EG VM (UDP) - 1470 byte datagrams & UDP buffer size: XXX KByte '''
{{{
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.0 sec 719 MBytes 101 Mbits/sec
[ 3] Sent 512799 datagrams
[ 3] Server Report:
[ 3] 0.0-60.2 sec 68.4 MBytes 9.52 Mbits/sec 15.564 ms 463959/512737 (90%)
[ 3] 0.0-60.2 sec 1 datagrams received out-of-order
}}}
'''Ping from GPO IG VM to NCSU2 EG VM '''
{{{
60 packets transmitted, 60 received, 0% packet loss, time 59076ms
rtt min/avg/max/mdev = 16.813/17.082/17.611/0.223 ms
}}}
'''Iperf from NCSU2 EG VM to GPO IG VM (TCP) - TCP window size: 85.0 KB '''
__One Client_
{{{
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.3 sec 36.2 MBytes 5.05 Mbits/sec
}}}
__Five Clients__
{{{
[ ID] Interval Transfer Bandwidth
[ 7] 0.0-60.2 sec 37.9 MBytes 5.28 Mbits/sec
[ 6] 0.0-60.4 sec 37.1 MBytes 5.15 Mbits/sec
[ 4] 0.0-60.4 sec 39.8 MBytes 5.52 Mbits/sec
[ 5] 0.0-60.5 sec 38.2 MBytes 5.31 Mbits/sec
[ 3] 0.0-60.7 sec 37.6 MBytes 5.20 Mbits/sec
[SUM] 0.0-60.7 sec 191 MBytes 26.4 Mbits/sec
}}}
__Ten Clients__
{{{
[ ID] Interval Transfer Bandwidth
[ 11] 0.0-60.2 sec 40.9 MBytes 5.70 Mbits/sec
[ 8] 0.0-60.2 sec 36.9 MBytes 5.14 Mbits/sec
[ 6] 0.0-60.2 sec 35.6 MBytes 4.96 Mbits/sec
[ 9] 0.0-60.2 sec 36.4 MBytes 5.07 Mbits/sec
[ 4] 0.0-60.2 sec 39.8 MBytes 5.54 Mbits/sec
[ 5] 0.0-60.2 sec 39.4 MBytes 5.48 Mbits/sec
[ 7] 0.0-60.3 sec 35.5 MBytes 4.94 Mbits/sec
[ 3] 0.0-60.4 sec 38.5 MBytes 5.35 Mbits/sec
[ 10] 0.0-60.4 sec 38.5 MBytes 5.35 Mbits/sec
[ 12] 0.0-60.4 sec 39.8 MBytes 5.52 Mbits/sec
[SUM] 0.0-60.4 sec 381 MBytes 53.0 Mbits/sec
}}}
'''Iperf from NCSU2 EG VM to GPO IG VM (UDP) - 1470 byte datagrams & UDP buffer size: 208 KByte '''
{{{
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.0 sec 719 MBytes 101 Mbits/sec
[ 3] Sent 512821 datagrams
[ 3] Server Report:
[ 3] 0.0-60.3 sec 475 MBytes 66.2 Mbits/sec 15.645 ms 173744/512757 (34%)
}}}
'''Ping from NCSU2 EG VM to GPO IG VM '''
{{{
60 packets transmitted, 60 received, 0% packet loss, time 59073ms
rtt min/avg/max/mdev = 16.888/17.183/18.795/0.351 ms
}}}
== !OpenFlow over Stitched connection to remote InstaGENI ==
== !OpenFlow over Stitched connection to remote ExoGENI ==