= EG-EXP-7: Click Router Experiment Acceptance Test = This page captures status for the test case EG-EXP-2, which verifies a click router scenario between two racks. For overall status see the [wiki:GENIRacksHome/InstageniRacks/AcceptanceTestStatus InstaGENI Acceptance Test Status] page. ''Last update: 2013/01/09'' = Test Status = This section captures the status for each step in the acceptance test plan. || '''Step''' || '''State''' || '''Date completed''' ||''' Ticket ''' || '''Comments''' || || Step 1 || || || || || || Step 2 || || || || || || Step 3 || || || || || || Step 4 || || || || || || Step 5 || || || || || || Step 6 || || || || || || Step 7 || || || || || || Step 8 || || || || || || Step 9 || || || || || || Step 10 || || || || || || Step 11 || || || || || || Step 12 || || || || || || Step 13 || || || || || || Step 14 || || || || || || Step 15 || || || || || || Step 16 || || || || || [[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 = the following aggregate manager nicknames are used: {{{ ig-utah=,https://utah.geniracks.net/protogeni/xmlrpc/am/2.0 ig-gpo=,https://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0 }}} == 1. As Experimenter1, request !ListResources from GPO and Utah InstaGENI == As user lnevers@bbn.com requested listresources from GPO and Utah InstaGENI aggregates: {{{ $ omni.py listresources -a ig-gpo -o $ omni.py listresources -a ig-utah -o }}} == 2. Review !ListResources output from both AMs == Reviews output files ''rspec-instageni-gpolab-bbn-com-protogeniv2.xml'' and ''rspec-utah-geniracks-net-protogeniv2.xml'' to determine available resources. == 3. Define a request RSpec for three VMs at GPO InstaGENI == For InstaGENI aggregates, the RSpec for a sliver can include resources from multiple aggregates. The aggregate handling the request will only allocate its own resources, therefore one RSpec is used to capture the resource requests for both sites in this scenario. Defined an RSpec that requests one three VMs at the GPO rack and three VMs at the Utah rack. For each rack aggregate, one of the VMs will be an end-point host and the other two VMs will be click routers. The RSpec generated is [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-7/IG-EXP-7.rspec IG-EXP-7.rspec] and the topology is shown in the following image using client_ids defined in the RSpec:[[BR]] [[Image(IG-EXP-7.jpg)]] == 4. Define a request RSpec for three VMs at Utah InstaGENI == The RSpec generated for the GPO aggregate is also used for the Utah aggregate, the file is [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral4/RSpecs/AcceptanceTests/IG-EXP-7/IG-EXP-7.rspec IG-EXP-7.rspec]. == 5. Create slice == Created a slice: {{{ $ omni.py createslice IG-EXP-7 }}} == 6. Create a sliver == In the slice IG-EXP-7 create a slivers at each AM, using the RSpecs defined above. {{{ $ omni.py createsliver -a ig-gpo IG-EXP-7 IG-EXP-7.rspec $ omni.py createsliver -a ig-utah IG-EXP-7 IG-EXP-7.rspec }}} == 7. Install Click router == Download the Click Router software on the 4 nodes that will be routers in the experiment. Build the user-level Click program in the 'userlevel' directory on each of the 4 router nodes. {{{ $ sudo yum -y install git $ sudo git clone git://read.cs.ucla.edu/git/click /local/click $ cd /local/click $ sudo ./configure $ cd tools $ sudo make install $ cd /local/click/userlevel/ $ sudo make install }}} == 8. Determine Click router settings == Determine the interface to MAC address mapping, and various settings required for the 4 router node and modify click configuration. == 9. Run the user-level Click router == Run the user-level Click router by providing the configuration file name as an argument on each node. == 10. Log in to Host1 and send traffic to host2 == Log in to Host1 and send traffic to host2 and leave traffic running. == 11. Review Click logs on each Click router == == 16. Delete slivers ==