= IG-EXP-5: InstaGENI Network Resources Acceptance Test = This page captures status for the test case IG-EXP-5, which verifies the ability to support !OpenFlow operations and integration with meso-scale compute resources and other compute resources external to the InstaGENI rack. For overall status see the [wiki:GENIRacksHome/InstageniRacks/AcceptanceTestStatus InstaGENI Acceptance Test Status] page. ''Last Update: 08/20/12'' = Test Status = This section captures the status for each step in the acceptance test plan. || '''Step''' || '''State''' ||''' Ticket ''' || '''Comments''' || || Step 1 ||[[Color(yellow,Complete)]] || ||Experiment modified to use Utah rack|| || Step 2 ||[[Color(yellow,Complete)]] || || || || Step 3 ||[[Color(yellow,Complete)]] || || || || Step 4 ||[[Color(yellow,Complete)]] || || || || Step 5 ||[[Color(yellow,Complete)]] || || || || Step 6 ||[[Color(yellow,Complete)]] || || || || Step 7 ||[[Color(yellow,Complete)]] || || || || Step 8 ||[[Color(yellow,Complete)]] || || || || Step 9 ||[[Color(yellow,Complete)]] || || || || Step 10 ||[[Color(yellow,Complete)]] || || || || Step 11 ||[[Color(yellow,Complete)]] || || || || Step 12 ||[[Color(yellow,Complete)]]|| || || || Step 13 ||[[Color(#63B8FF,In Progress)]]|| || || || Step 14 ||[[Color(yellow,Complete)]]|| || || || Step 15 ||[[Color(yellow,Complete)]]|| || || || Step 16 ||[[Color(yellow,Complete)]]|| || || || Step 17 ||[[Color(yellow,Complete)]]|| || || || Step 18 ||[[Color(yellow,Complete)]]|| || || || Step 19 ||[[Color(yellow,Complete)]]|| || || || Step 20 ||[[Color(yellow,Complete)]]|| || || || Step 21 ||[[Color(yellow,Complete)]]|| || || || Step 22 ||[[Color(yellow,Complete)]]|| || || || Step 23 ||[[Color(yellow,Complete)]]|| || || || Step 24 ||[[Color(yellow,Complete)]]|| || || || Step 25 ||[[Color(yellow,Complete)]]|| || || || Step 26 ||[[Color(#63B8FF,In Progress)]]|| || || || Step 27 ||[[Color(#63B8FF,In Progress)]]|| || || || Step 28 ||[[Color(yellow,Complete)]]|| || || || Step 29 ||[[Color(yellow,Complete)]]|| || || [[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]] = Test Plan Steps = This procedure are executed at Utah InstaGENI, not as originally planned at BBN additionally, due to rack delivery delays. Additioanlly, this procedure is also modified to use one set of user credentials, running two slices for one experiment. The Experiment IG-EXP-6 will cover multiple-user, multiple-controllers, multiple network segments scenario. The following aggregate managers nick_names are define in the omni_config used for this test: {{{ ig-utah=,http://utah.geniracks.net/protogeni/xmlrpc/am pg=,http://www.emulab.net/protogeni/xmlrpc/am pg2=,https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0 of-bbn=,https://foam.gpolab.bbn.com:3626/foam/gapi/1 of-clemson=,https://foam.clemson.edu:3626/foam/gapi/1 of-i2=,https://foam.net.internet2.edu:3626/foam/gapi/1 of-ig=,https://foam.utah.geniracks.net:3626/foam/gapi/1 of-rutgers=,https://nox.orbit-lab.org:3626/foam/gapi/1 plc-bbn=,http://myplc.gpolab.bbn.com:12346/ plc-clemson=,http://myplc.clemson.edu:12346/ }}} == 1. As Experimenter1, Determine BBN compute resources and define RSpec == Collect list resources from InstaGENI compute and network aggregate managers. {{{ $ omni.py -a ig-utah listresources -o $ omni.py -a pg listresources -o $ omni.py -a of-ig listresources -o $ omni.py -a of-i2 listresources -o }}} == 2. Determine remote meso-scale compute resources and define RSpec == The Rspecs defined for the 3 meso-scale sites: - 1 WAPG node (pg51) at Rutgers Site via Internet2 - 1 MyPLC node (planetlab4.clemson.edu) at Clemson Site via NLR - 1 MyPLC node (navis.gpolab.bbn.com) at BBN Site Via NLR == 3. Define a request RSpec for !OpenFlow network resources at the BBN InstaGENI AM == Defined the RSpec for the Utah !OpenFlow switch in the ExoGENI rack to the core VLAN 3716. The following RSPecx were used: * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-openflow-ig.rspec IG-EXP-5-openflow-ig.rspec] - Utah InstaGENI Rack FOAM Aggregate network resource request RSpec. * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-compute-ig.rspec IG-EXP-5-compute-ig.rspec] - Utah InstaGENI Rack FOAM Aggregate Network resources request Rspec. * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-compute-pg.rspec IG-EXP-5-compute-pg.rspec] - Utah ProtoGENI FOAM Aggregate Network resources request Rspec. == 4. Define a request RSpec for !OpenFlow network resources at the remote I2 Meso-scale site == An RSpec was defined for each site FOAM aggregate and compute resources aggregate. The following RSpec were used for the meso-scale sites: * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-wapg-rutgers.rspec IG-EXP-5-wapg-rutgers.rspec] - Rutgers WAPG nodes pg51 compute resource request RSpec. * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-openflow-rutgers.rspec IG-EXP-5-openflow-rutgers.rspec] - Rutgers FOAM Aggregate network resource request RSpec. * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-myplc-clemson.rspec IG-EXP-5-myplc-clemson.rspec] - Clemson MyPLC node planetlab4 compute resource request RSpec. * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-openflow-clemson.rspec IG-EXP-5-openflow-clemson.rspec] - Clemson FOAM Aggregate network resource request RSpec. * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-myplc-bbn.rspec IG-EXP-5-myplc-bbn.rspec] - BBN MyPLC node navis compute resource request RSpec. * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-openflow-bbn.rspec IG-EXP-5-openflow-bbn.rspec] - BBN FOAM Aggregate network resource request RSpec. == 5. Define a request RSpec for the !OpenFlow Core resources == The OF core resources for VLAN 3716 were defined as follows: * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-openflow-i2.rspec IG-EXP-5-openflow-i2.rspec] - Internet2 Core FOAM Aggregate network resources request RSpec. * [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-5/IG-EXP-5-openflow-nlr.rspec IG-EXP-5-openflow-nlr.rspec] - NLR Core FOAM Aggregate network resources request RSpec. == 6. Create the first slice == Created the first slice as with GPO ProtoGENI credentials: {{{ omni.py createslice IG-EXP-5 }}} == 7. Create a sliver for the BBN compute resources == Created slivers at the PG Utah compute resource aggregate {{{ omni.py -a pg createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-compute-pg.rspec }}} == 8. Create a sliver at the I2 meso-scale site using FOAM at site == Created a sliver at the Rutgers FOAM for VLAN 3716: {{{ ./src/omni.py -a of-rutgers createsliver IG-EXP-5-scenario1 instarspec/IG-EXP-5-openflow-rutgers.rspec }}} == 9. Create a sliver at of the BBN InstaGENI AM == Created slivers at: - InstaGENI rack compute resource aggregate - InstaGENI rack FOAM network resource aggregate {{{ omni.py -a ig createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-compute-ig.rspec omni.py -a of-ig createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-openflow-ig.rspec }}} To login to the compute resources above determine the following: {{{ omni.py -a ig sliverstatus IG-EXP-5 -o egrep "hostname|port" IG-EXP-5-sliverstatus-utah-geniracks-net-protogeni.json }}} == 10. Create a sliver for the !OpenFlow resources in the core == Created slivers at Internet2 and NLR FOAM network resource aggregate: {{{ omni.py -a of-i2 createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-openflow-i2.rspec omni.py -a of-nlr createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-openflow-nlr.rspec }}} == 10a. Create a sliver for all remaining Meso-scale compute and network resources == The following slivers were created: {{{ omni.py -a pg2 createsliver IG-EXP-5 --api-version 2 -t GENI 3./instarspec/IG-EXP-5/IG-EXP-5-wapg-rutgers.rspec omni.py -a of-rutgers createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-openflow-rutgers.rspec omni.py -a plc-clemson createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-myplc-clemson.rspec omni.py -a of-clemson createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-openflow-clemson.rspec omni.py -a plc-bbn createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-myplc-bbn.rspec omni.py -a of-bbn createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-openflow-bbn.rspec }}} == 11. Log in to each of the compute resources and send traffic to the other end-point == The nodes assigned for compute resources were determined as follows: {{{ omni.py -a ig sliverstatus IG-EXP-5 -o omni.py -a of-ig sliverstatus IG-EXP-5 -o omni.py -a of-i2 sliverstatus IG-EXP-5 -o omni.py -a pg2 sliverstatus IG-EXP-5 -o omni.py -a plc-clemson sliverstatus IG-EXP-5 -o omni.py -a plc-bbn sliverstatus IG-EXP-5 -o }}} The above created output files named IG-EXP-5-sliverstatus-SITENAME.json from which the assigned hosts can be determined: {{{ egrep "hostname" IG-EXP-5-sliverstatus-SITENAME.json }}} For this experiment, local PG resources were also configured to be allowed on VLAN 1750 thorough the InstaGENI rack, the following sliver was created: {{{ omni.py -a pg createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-compute-pg.rspec }}} To login to this resource, determined access details as follows: {{{ omni.py -a pg sliverstatus IG-EXP-5 -o egrep "hostname|port" IG-EXP-5-sliverstatus-utah-geniracks-net-protogeni.json }}} == 12. Verify that traffic is delivered to target == Ping traffic was successfully exchange between each compute resource reserved, == 13. Review baseline, GMOC, and meso-scale monitoring statistics == No monitoring data available for InstaGENI rack at this time. Will revisit after GEC14. == 14. As Experimenter2, determine BBN compute resources and define RSpec == Note: for initial run through of this test only one set of credentials were used == 15. Determine remote meso-scale NLR compute resources and define RSpec == NLR OpenFlow Rspec was defined in step 5. == 16. Define a request RSpec for !OpenFlow network resources at the BBN InstaGENI AM == For the initial run which combined the two experiments, these steps were completed above in step 9. == 17. Define a request RSpec for !OpenFlow network resources at the remote NLR Meso-scale site == == 18. Define a request RSpec for the !OpenFlow Core resources == Created sliver at NLR and Internet2 FOAM network resource aggregates: {{{ omni.py -a of-i2 createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-openflow-i2.rspec omni.py -a of-nlr createsliver IG-EXP-5 ./instarspec/IG-EXP-5/IG-EXP-5-openflow-nlr.rspec }}} == 19. Create the second slice == For the initial run which combined the two experiments, there is no second slice. == 20. Create a sliver for the BBN compute resources == See step 10a. == 21. Create a sliver at the meso-scale site using FOAM at site == See step 10a. == 22. Create a sliver at of the BBN InstaGENI AM == See step 9. == 23. Create a sliver for the !OpenFlow resources in the core == See step 10. == 24. Create a sliver for the meso-scale compute resources == See step 10a. == 25. Log in to each of the compute resources and send traffic to the other endpoint == Was able to exchange ping traffic between each of the compute resources. == 26. As Experimenter2, insert flowmods and send packet-outs only for traffic assigned to the slivers == Nox controller with support for flow-mods available after GEC14. == 27. Verify that traffic is delivered to target according to the flowmods settings == See step 26. == 28. Review baseline, GMOC, and monitoring statistics == Reviewed the monitoring information available about this experiment, first found the sliver in the list of slices: [[Image(IG-EXP-5.jpg)]] The selected the detail panel: [[Image(IG-EXP-5-detail.jpg)]] Then selected the sliver resources panel: [[Image(IG-EXP-5-sliver-resources.jpg)]] Also checked the sliver measurements: [[Image(IG-EXP-5-sliver-measuraments.jpg)]] == 29. Stop traffic and delete slivers == Stopped traffic to review statistics, but did not delete slivers, trying to run experiment as long as possible before GEC14.