= EG-EXP-6: ExoGENI and Meso-scale Multi-site OpenFlow Acceptance Test = This page captures status for the test case EG-EXP-6, which verifies ExoGENI rack interoperability with other meso-scale GENI sites. For overall status see the [wiki:GENIRacksHome/ExogeniRacks/AcceptanceTestStatus ExoGENI Acceptance Test Status] page. = Test Status = This section captures the status for each step in the acceptance test plan. || '''Step''' || '''State''' || '''Date completed''' ||''' Ticket ''' || '''Comments''' || || Step 1 ||[[Color(yellow,Complete)]]|| || || || || 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 || || || || || || 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 || || || || || || Step 30 || || || || || || Step 31 || || || || || || Step 32 || || || || || || Step 33 || || || || || || Step 34 || || || || || || Step 35 || || || || || || Step 36 || || || || || || Step 37 || || || || || [[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 test was partially run on July 6, 2012. The pgeni.gpolab.bbn.com slice authority is used for the credentials and the following aggregate manager nick_names were defined in the omni_config: {{{ #ExoGENI Compute and OF Aggregates Managers exobbn=,https://bbn-hn.exogeni.net:11443/orca/xmlrpc exorci=,https://rci-hn.exogeni.net:11443/orca/xmlrpc exosm=,https://geni.renci.org:11443/orca/xmlrpc of-exobbn=,https://bbn-hn.exogeni.net:3626/foam/gapi/1 of-exorci=,https://rci-hn.exogeni.net:3626/foam/gapi/1 #Meso-scale Compute and OF Aggregates Managers 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-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, request !ListResources from BBN ExoGENI, RENCI ExoGENI, and FOAM at NLR Site. == Requested listresources from each of the FOAM aggregates: {{{ $ omni.py listresources -a of-exobbn -o $ omni.py listresources -a of-bbn -o $ omni.py listresources -a of-nlr -o $ omni.py listresources -a of-i2 -o $ omni.py listresources -a of-exorci -o }}} == 2. Review !ListResources output from all AMs == Requested listresources from each of the GENI AM aggregates: {{{ $ omni.py listresources -a plc-bbn $ omni.py listresources -a plc-clemson $ omni.py listresources -a pg2 $ omni.py listresources -a exobbn $ omni.py listresources -a exorci }}} == 3. Define a request RSpec for a VM at the BBN ExoGENI. == Defined an RSpec for one VM on the shared VLAN 1750: [exo-1vm-shared-vlan-bbn.rspec] == 4. Define a request RSpec for a VM at the RENCI ExoGENI. == Define an RSpec for one VM on the shared VLAN 1750: [exo-1vm-shared-vlan-rci.rspec] == 5. Define request RSpecs for !OpenFlow resources from BBN FOAM to access GENI !OpenFlow core resources. == Defined an !OpenFlow RSpec for the FOAM controllers in each rack: - BBN Rack RSpec: [EG-EXP-6-exp1-openflow-exobbn.rspec] - RENCI Rack RSpec: [EG-EXP-6-exp1-openflow-exorci.rspec] The BBN ExoGENI rack connects to the GENI backbone via the BBN GPO Lab OpenFlow switch named poblano. In order for this scenario to work OpenFlow must be configured also on the poblano switch to allow the BBN ExoGENI rack OF traffic to get to the OF GENI core. The following OpenFlow RSpec was defined for the BBN site switch poblano: [EG-EXP-6-exp1-openflow-bbn.rspec] == 6. Define request RSpecs for !OpenFlow core resources at NLR FOAM. == Defined an !OpenFlow RSpec for the NLR FOAM controller: [EG-EXP-6-exp1-openflow-nlr.rspec] == 7. Create the first slice == Created the first slice: {{{ $ omni.py createslice EG-EXP-6-exp1 }}} == 8. Create a sliver in the first slice at each AM, using the RSpecs defined above. == {{{ $omni.py -a exobbn createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-exobbn.rspec #$omni.py -a of-exobbn EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-exobbn.rspec $omni.py -a of-bbn EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-bbn.rspec $omni.py -a of-nlr createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-nlr.rspec $omni.py -a of-i2 createsliver EG-EXP-6-exp1 EG-EXP-6-exp1-openflow-i2.rspec #$omni.py -a of-exorci EG-EXP-6-exp1EG-EXP-6-exp1-openflow-exobbn.rspec $omni.py -a exorci createsliver EG-EXP-6-exp1 G-EXP-6-exp1-exorci.rspec }}} == 9. Log in to each of the systems, verify IP address assignment. Send traffic to the other system, leave traffic running. == == 10. As Experimenter2, define a request RSpec for one VM and one bare metal node at BBN ExoGENI. == == 11. Define a request RSpec for two VMs on the same worker node at RENCI ExoGENI. == == 12. Define request RSpecs for !OpenFlow resources from GPO FOAM to access GENI !OpenFlow core resources. == == 13. Define request RSpecs for !OpenFlow core resources at NLR FOAM == == 14. Create a second slice == {{{ $ omni.py createslice EG-EXP-6-exp2 }}} == 15. Create a sliver in the second slice at each AM, using the RSpecs defined above == == 16. Log in to each of the systems in the slice, and send traffic to each other systems; leave traffic running == 17. As Experimenter3, request !ListResources from BBN ExoGENI, GPO FOAM, and FOAM at Meso-scale Site == == 18. Review !ListResources output from all AMs == == 19. Define a request RSpec for a VM at the BBN ExoGENI == == 20. Define a request RSpec for a compute resource at the GPO Meso-scale site == == 21. Define a request RSpec for a compute resource at a Meso-scale site == == 22. Define request RSpecs for !OpenFlow resources to allow connection from OF BBN ExoGENI to Meso-scale OF sites GPO (NLR) and Rutgers Sites (I2) == == 23. Create a third slice == {{{ $ omni.py createslice EG-EXP-6-exp3 }}} == 24. Create a sliver that connects the Internet2 Meso-scale !OpenFlow site to the BBN ExoGENI Site, and the GPO Meso-scale site == == 25. Log in to each of the compute resources in the slice, and configure data plane network interfaces on any non-ExoGENI resources as necessary, and send traffic to each other systems; leave traffic running. == 26. Verify that all three experiments continue to run without impacting each other's traffic and verify that data is exchanged over the path along which data is supposed to flow == == 27. Review baseline, GMOC, and monitoring statistics == == 28. As site administrator, identify all controllers that the BBN ExoGENI !OpenFlow switch is connected to == == 29. As Experimenter3, verify that traffic only flows on the network resources assigned to slivers as specified by the controller == == 30. Verify that no default controller, switch fail-open behavior, or other resource other than experimenters' controllers, can control how traffic flows on network resources assigned to experimenters' slivers == == 31. Set the hard and soft timeout of flowtable entries == == 32. Get switch statistics and flowtable entries for slivers from the !OpenFlow switch. == == 33. Get layer 2 topology information about slivers in each slice == == 34. Install flows that match on layer 2 fields and/or layer 3 fields == == 35. Run test for at least 4 hours == == 36. Review monitoring statistics and checks as above == == 37. Stop traffic and delete slivers ==