wiki:GENIRacksHome/InstageniRacks/AcceptanceTestStatus/IG-EXP-7

Version 10 (modified by lnevers@bbn.com, 7 years ago) (diff)

--

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 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


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.


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 IG-EXP-7.rspec and the topology is shown in the following image using client_ids defined in the RSpec:

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 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 gmake
$ sudo make install
$ ./click ../conf/test.click

8. Determine Click router settings

ON each of the four routers, determine the interface mapping and modify click configuration to add the router interfaces: The following are executed on each of the routers:

$ /sbin/ifconfig
$ cd /local/click/userlevel
$ sudo vi ../conf/print-pings.click  ## add router interfaces

Example conf/print-pings.click:

FromDevice(mv5.5)                               // read packets from device
                                                // (assume Ethernet device)
   -> Classifier(12/0800)                       // select IP-in-Ethernet
   -> Strip(14)                                 // strip Ethernet header
   -> CheckIPHeader                             // check IP header, mark as IP
   -> IPFilter(allow icmp && icmp type echo)    // select ICMP echo requests
   -> IPPrint                                   // print them out
   -> Discard;

9. Run the user-level Click router

Login to each of the routers, and run the user-level Click router by providing the print pings configuration file name. Leave terminal connection open:

$ cd /local/click/userlevel
$ sudo ./click ../conf/print-pings.click 

10. Log in to Host1 and send traffic to host2

Log in to host1 and send traffic to host2 and leave traffic running. Review the output on the terminal for each of the

Log in to host2 and send traffic to host1

11. Review Click logs on each Click router

16. Delete slivers

Attachments (7)

Download all attachments as: .zip