= EG-EXP-5: ExoGENI OpenFlow Network Resources Acceptance Test = This page captures status for the test case EG-EXP-5, which verifies the ability to support !OpenFlow operations and integration with meso-scale compute resources and other compute resources external to the ExoGENI rack. 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''' || ''' 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 ||[[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 || || || || || Step 14 ||[[Color(yellow,Complete)]]|| ||Modified step, procedure incorrect|| || Step 15 ||[[Color(yellow,Complete)]]|| ||1 experimenter account used in initial run|| || 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)]]|| ||Modified step, procedure incorrect|| || 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 || || || || || 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 = Three scenarios have been planned for the ExoGENI OpenFlow Network Resources test case EG-EXP-5. Each of the three scenarios includes 2 local BBN Campus VMs (siovale and tiberium on vSwitch Karshyyyk) which are NOT part of the ExoGENI rack. The OpenFlow flowspaces are managed with the ExoGENI FOAM aggregate. For each scenario there are 2 meso-scale remote sites: 1 WAPG at Rutgers(Internet2) and 1 MyPLC at Clemson (NLR). Following are the outline for the planned scenarios: ''EG-EXP-5-scenario1:'' This Scenario includes 2 campus VMs with an interface on VLAN 1750, whose flowspaces pass through the ExoGENI OpenFlow switch to remore I2 and NLR OF sites. ''EG-EXP-5-scenario2:'' This scenario includes 2 campus VMs which are not part of the ExoGENI rack. These VMs have and interface on a campus VLAN 3705 which is mapped to VLAN 1750 in the ExoGENI rack. ''EG-EXP-5-scenario3:'' This scenario includes 2 campus VMs, one with an interface on VLAN 1720 and one on VLAN 1721, translated to VLAN 1750. Flowspaces should include: - Traffic on VLAN 1720 or VLAN 1721 from the campus uplink port. - Traffic on VLAN 1750 from the GENI uplink port that matches node nodes IPs. - A controller that can do VLAN translation. == Step 1. As Experimenter1, Determine GPO compute resources and define RSpec. == '''Note:''' The first run through of this experiment was done with one experimenter account, another test run will take place which will use 2 experimenter accounts. Two local BBN Campus VMs (siovale and tiberium) are set up on the on vSwitch Karshyyyk. These nodes are NOT part of the ExoGENI rack. == Step 2. Determine remote meso-scale compute resources and define RSpec. == In each of the 3 scenarios, the meso-scale resource do not change, only the definitions for the BBN site change. For all three scenarios, there are 2 meso-scale sites: - 1 WAPG node (pg51) at Rutgers Site via Internet2 - 1 MyPLC node (planetlab4.clemson.edu) at Clemson Site via NLR. == Step 3. Define a request RSpec for OF network resources at the BBN ExoGENI FOAM. == Defined the RSpec for the BBN !OpenFlow switch poblano which is used to map the VLAN 1750 from the ExoGENI rack to the core VLAN 3716. The following RSPecs are used for the OpenFlow Switches at BBN: * EG-EXP-5-scenario1-openflow-exobbn.rspec - BBN ExoGENI Rack FOAM Aggregate network resource request RSpec. * EG-EXP-5-scenario1-openflow-bbn.rspec - BBN FOAM Aggregate network resource request RSpec. == Step 4. Define a request RSpec for OF 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: * EG-EXP-5-scenario1-wapg-rutgers.rspec - Rutgers WAPG nodes pg51 compute resource request RSpec. * EG-EXP-5-scenario1-openflow-rutgers.rspec - Rutgers FOAM Aggregate network resource request RSpec. * EG-EXP-5-scenario1-myplc-clemson.rspec - Clemson MyPLC node planetlab4 compute resource request RSpec. * EG-EXP-5-scenario1-openflow-clemson.rspec - Clemson FOAM Aggregate network resource request RSpec. == Step 5. Define a request RSpec for the !OpenFlow Core resources == The OF core resources for VLAN 3716 were defined as follows: * EG-EXP-5-scenario1-openflow-i2.rspec = Internet2 Core FOAM Aggregate network resources request RSpec. * EG-EXP-5-scenario1-openflow-nlr.rspec - NLR Core FOAM Aggregate network resources request RSpec. == Step 6. Create the first slice == A sliver was created for the following: {{{ ./src/omni.py createslice EG-EXP-5-scenario1 }}} == Step 7. Create a sliver for the GPO compute resources == The site resources were not reserved compute resource for the test case. These are standalone Linux VM host thats that exist on the vSwitch Karshyyyk, the test plan was incorrect. This step is deemed complete by simply setting up the nodes with the right address for the VLAN 1750. == Step 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 https://nox.orbit-lab.org:3626/foam/gapi/1 createsliver EG-EXP-5-scenario1 exorspec/EG-EXP-5-scenario1-openflow-rutgers.rspec }}} == Step 9. Create a sliver at of the BBN ExoGENI FOAM Aggregate == Created a sliver at the BBN ExoGENI FOAM: {{{ ./src/omni.py -a https://bbn-hn.exogeni.net:3626/foam/gapi/1 createsliver EG-EXP-5-scenario1 exorspec/EG-EXP-5-scenario1-openflow-exobbn.rspec }}} == Step 10. Create a sliver for the !OpenFlow resources in the core. == Created a sliver at the I2 FOAM for VLAN 3716: {{{ ./src/omni.py -a https://foam.net.internet2.edu:3626/foam/gapi/1 createsliver EG-EXP-5-scenario1 exorspec/EG-EXP-5-scenario1-openflow-i2.rspec }}} == Step 11. Create a sliver for the meso-scale compute resources. == The compute resource used for this test is pg51 a Wide Area PG node at Rutgers, and the sliver was created as follows: {{{ ./src/omni.py -a pg2 createsliver EG-EXP-5-scenario1 exorspec/EG-EXP-5-scenario1-wapg-rutgers.rspec --api-version 2 -t GENI 3 }}} == Step 11. Log in to each of the compute resources and send traffic to the other end-point. == Logged into the WAPG node pg51: {{{ $ ssh pg51.emulab.net Last login: Wed Jun 20 10:52:44 2012 from arendia.gpolab.bbn.com [lnevers@pg2 ~]$ }}} Configure IP address to be used on VLAN 1750. First created the file /etc/sysconfig/network-scripts/ifcfg-eth1.1750 which contained the following: {{{ DEVICE=eth1.1750 USERCTL=no VLAN=yes IPADDR=10.42.11.151 NETMASK=255.255.255.0 BOOTPROTO=static ONBOOT=yes }}} Started and checked the interface: {{{ sudo ifup eth1.1750 ifconfig eth1.1750 }}} == Step 12. Verify that traffic is delivered to target. == == Step 13. Review baseline, GMOC, and meso-scale monitoring statistics. == == Step 14. As Experimenter2, determine GPO compute resources and define RSpec. == '''Note:''' The first run through of this experiment was done with one experimenter account, another test run will take place which will use 2 experimenter accounts. Two local BBN Campus VMs (siovale and tiberium) are set up on the on vSwitch Karshyyyk. These nodes are NOT part of the ExoGENI rack. == Step 15. Determine remote meso-scale compute resources and define RSpec. == The remote meso-scale nodes to be used is planetlab4 a MyPLC node at Clemson. == Step 16. Define a request RSpec for OF network resources at the BBN ExoGENI FOAM. == Defined the following request RSpec for the Compute resource: * EG-EXP-5-scenario1-myplc-clemson.rspec - MyPLC RSpec used to MyPLC compute resource. == Step 17. Define a request RSpec for OF network resources at the remote NLR meso-scale site. == Defined RSpec for the Clemson !OpenFlow Sliver: * EG-EXP-5-scenario1-openflow-clemson.rspec - Clemson FOAM Aggregate network resources request RSpec. == Step 18. Define a request RSpec for the !OpenFlow Core resources == The OF core resources for VLAN 3716 were defined as follows: * EG-EXP-5-scenario1-openflow-nlr.rspec - NLR Core FOAM Aggregate network resources request RSpec. == Step 19. Create the second slice == Created a second slice: {{{ ./src/omni.py createslice exobbnclemson }}} == Step 20. Create a sliver for the GPO compute resources == Two local BBN Campus VMs (siovale and tiberium) are set up on the on vSwitch Karshyyyk. These nodes are NOT part of the ExoGENI rack and no reservations are need to used them. Test plan procedure is incorrect. == Step 21. Create a sliver at the meso-scale site using FOAM at site. == Because this run is being done with one experimenter, the second slice uses the Sliver from the first experiment, which set up the following: {{{ ./src/omni.py -a https://bbn-hn.exogeni.net:3626/foam/gapi/1 createsliver EG-EXP-5-scenario1 exorspec/EG-EXP-5-scenario1-openflow-exobbn.rspec }}} == Step 22. Create a sliver at of the BBN ExoGENI FOAM Aggregate. == A sliver was created at the ExoGENI FOAM aggregate: {{{ ./src/omni.py -a https://foam.gpolab.bbn.com:3626/foam/gapi/1 createsliver exobbnclemson ./EG-EXP-5-scenario-openflow-bbn.rspec }}} == Step 23. Create a sliver for the !OpenFlow resources in the core. == Reservation for NLR VLAN 3716: {{{ ./src/omni.py -a https://foam.nlr.net:3626/foam/gapi/1 createsliver exobbnclemson ./EG-EXP-5-scenario-openflow-nlr.rspec }}} == Step 24. Create a sliver for the meso-scale compute resources. == Created a sliver for the FOAM aggregate and for the compute resources at Clemson: {{{ ./src/omni.py -a https://foam.clemson.edu:3626/foam/gapi/1 createsliver exobbnclemson ./EG-EXP-5-scenario-openflow-clemson.rspec ./src/omni.py -a http://myplc.clemson.edu:12346/ createsliver exobbnclemson ./EG-EXP-5-scenario-myplc-clemson.rspec }}} == Step 25. Log in to each of the compute resources and send traffic to the other endpoint. == Log into the MyPLC host and ping the VLAN 1750 interfaces for siovale and tiberium: {{{ $ ssh pgenigpolabbbncom_exobbnclemson@planetlab4.clemson.edu Last login: Wed Jun 20 17:42:41 2012 from arendia.gpolab.bbn.com [pgenigpolabbbncom_exobbnclemson@planetlab4 ~]$ ping 10.42.11.22 -c 5 PING 10.42.11.22 (10.42.11.22) 56(84) bytes of data. 64 bytes from 10.42.11.22: icmp_seq=1 ttl=64 time=164 ms 64 bytes from 10.42.11.22: icmp_seq=2 ttl=64 time=164 ms 64 bytes from 10.42.11.22: icmp_seq=3 ttl=64 time=165 ms 64 bytes from 10.42.11.22: icmp_seq=4 ttl=64 time=165 ms 64 bytes from 10.42.11.22: icmp_seq=5 ttl=64 time=165 ms --- 10.42.11.22 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4169ms rtt min/avg/max/mdev = 164.830/164.955/165.018/0.371 ms [pgenigpolabbbncom_exobbnclemson@planetlab4 ~]$ pgenigpolabbbncom_exobbnclemson@planetlab4 ~]$ ping 10.42.11.23 -c 5 PING 10.42.11.23 (10.42.11.23) 56(84) bytes of data. 64 bytes from 10.42.11.23: icmp_seq=1 ttl=64 time=164 ms 64 bytes from 10.42.11.23: icmp_seq=2 ttl=64 time=164 ms 64 bytes from 10.42.11.23: icmp_seq=3 ttl=64 time=165 ms 64 bytes from 10.42.11.23: icmp_seq=4 ttl=64 time=164 ms 64 bytes from 10.42.11.23: icmp_seq=5 ttl=64 time=165 ms --- 10.42.11.23 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4169ms rtt min/avg/max/mdev = 164.851/164.956/165.091/0.096 ms }}} == Step 26. As Experimenter2, insert flowmods and send packet-outs only for traffic assigned to the slivers. == == Step 27. Verify that traffic is delivered to target according to the flowmods settings. == == Step 28. Review baseline, GMOC, and monitoring statistics. == == Step 29. Stop traffic and delete slivers. ==