[[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)]] || ||
|| Meso-scale Interoperability (EG and IG) ||[[Color(#63B8FF,In Progress)]]|| Waiting on !OpenFlow set-up to OpenFlow Core||
|| !OpenFlow over Stitched connection to remote InstaGENI|| || Waiting on Stitching set-up to GENI Core||
|| !OpenFlow over Stitched connection to remote 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.'''
= Meso-scale OpenFlow Connection =
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.
Create a sliver at NCSU2 FOAM Aggregate:
{{{
$ omni createsliver -a ncsu2-eg-of CG-CT-4 ./CG-CT-4-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-4 expires on 2014-12-22 14:39:31 UTC
13:15:12 INFO : Creating sliver(s) from rspec file ./CG-CT-4-openflow-eg-ncsu2.rspec for slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-4
13:15:13 INFO : Got return from CreateSliver for slice CG-CT-4 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-4 ./CG-CT-4-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:
{{{
$ omni createsliver -a ncsu2-eg CG-CT-4 ./CG-CT-4-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-4 expires on 2014-12-22 14:39:31 UTC
13:15:21 INFO : Creating sliver(s) from rspec file ./CG-CT-4-eg-ncsu2.rspec for slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-4
13:15:25 INFO : Got return from CreateSliver for slice CG-CT-4 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-4 ./CG-CT-4-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:
{{{
$ omni createsliver -a gpo-ig-of CG-CT-4 ./CG-CT-4-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-4 expires on 2014-12-22 14:39:31 UTC
13:15:31 INFO : Creating sliver(s) from rspec file ./CG-CT-4-openflow-ig-gpo.rspec for slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-4
13:15:32 INFO : Got return from CreateSliver for slice CG-CT-4 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-4 ./CG-CT-4-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:
{{{
$ omni createsliver -a gpo-ig CG-CT-4 ./CG-CT-4-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-4 expires on 2014-12-22 14:39:31 UTC
13:15:40 INFO : Creating sliver(s) from rspec file ./CG-CT-4-ig-gpo.rspec for slice urn:publicid:IDN+ch.geni.net:ln-test+slice+CG-CT-4
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-4 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-4 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-4 ./CG-CT-4-ig-gpo.rspec
Result Summary: Got Reserved resources RSpec from instageni-gpolab-bbn-com. Reservation at gpo-ig in slice CG-CT-4 expires at 2014-12-22 14:39:31 (UTC).
13:15:55 INFO : ======================================================
}}}
Determine login to each host:
{{{
$ readyToLogin -a gpo-ig CG-CT-4
...
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-4
...
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
}}}