= 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. = 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 || || || || || Step 10 || || || || || Step 11 || || || || || Step 12 || || || || || Step 13 || || || || || Step 14 || || || || || Step 15 || || || || || Step 16 || || || || || Step 17 || || || || || Step 18 || || || || || Step 19 || || || || || Step 20 || || || || || Step 21 || || || || || Step 22 || || || || || Step 23 || || || || || Step 24 || || || || || Step 25 || || || || || Step 26 || || || || || Step 27 || || || || || Step 28 || || || || || Step 29 || || || || [[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 = Notes: 1. All steps in this procedure are executed at Utah InstaGENI, not as originally planned at BBN. 2. The initial run through combined all steps into one experiment rather than two. 3. The following aggregate managers nick_names are define in the omni_config used for this test: {{{ ig=,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 listresources IG-EXP-5 -o $ omni.py -a pg listresources IG-EXP-5 -o $ omni.py -a of-ig listresources IG-EXP-5 -o $ omni.py -a of-i2 listresources IG-EXP-5 -o }}} == 2. Determine remote meso-scale compute resources and define RSpec. == Rspec defined for the meso-scale sites, there are 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 RSPec was used: * IG-EXP-5-openflow-ig.rspec - Utah InstaGENI Rack FOAM Aggregate network resource request RSpec. * IG-EXP-5-compute-ig.rspec - Utah InstaGENI Rack FOAM Aggregate Network resources request 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: * IG-EXP-5-wapg-rutgers.rspec - Rutgers WAPG nodes pg51 compute resource request RSpec. * IG-EXP-5-openflow-rutgers.rspec - Rutgers FOAM Aggregate network resource request RSpec. * IG-EXP-5-myplc-clemson.rspec - Clemson MyPLC node planetlab4 compute resource request RSpec. * IG-EXP-5-openflow-clemson.rspec - Clemson FOAM Aggregate network resource request RSpec. * IG-EXP-5-myplc-bbn.rspec - BBN MyPLC node navis compute resource request RSpec. * IG-EXP-5-openflow-bbn.rspec - BBN FOAM Aggregate network resource request RSpec. All RSpecs above can be found at the following "inster_location_here" == 5. Define a request RSpec for the !OpenFlow Core resources == The OF core resources for VLAN 3716 were defined as follows: * IG-EXP-5-openflow-i2.rspec = Internet2 Core FOAM Aggregate network resources request 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: - 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.== == 13. Review baseline, GMOC, and meso-scale monitoring statistics. == == 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 compute resources and define RSpec. == 16. Define a request RSpec for !OpenFlow network resources at the BBN InstaGENI AM. 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 19. Create the second slice 20. Create a sliver for the BBN compute resources. 21. Create a sliver at the meso-scale site using FOAM at site. 22. Create a sliver at of the BBN InstaGENI AM. 23. Create a sliver for the !OpenFlow resources in the core. 24. Create a sliver for the meso-scale compute resources. 25. Log in to each of the compute resources and send traffic to the other endpoint. 26. As Experimenter2, insert flowmods and send packet-outs only for traffic assigned to the slivers. 27. Verify that traffic is delivered to target according to the flowmods settings. 28. Review baseline, GMOC, and monitoring statistics. 29. Stop traffic and delete slivers.