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

EG-EXP-7: Click Router Experiment Acceptance Test

This page captures status for the test case EG-EXP-7, which verifies a click router scenario. This test has been executed for two topologies:

Results for both test scenario are captured in this page.

For overall status see the InstaGENI Acceptance Test Status page.

Last update: 2013/04/10

Test Status

This section captures the status for each step in the acceptance test plan.

Step State/Scenario 2:Notes Tickets State/Scenario 1: Notes Tickets
Step 1 Color(green,Pass)? Color(green,Pass)?
Step 2 Color(green,Pass)? Color(green,Pass)?
Step 3 Color(green,Pass)? Color(green,Pass)?
Step 4 Color(green,Pass)? Color(green,Pass)?
Step 5 Color(green,Pass)? Color(green,Pass)?
Step 6 Color(green,Pass)? Workaround Color(green,Pass)?
Step 7 Color(green,Pass)? Color(green,Pass)?
Step 8 Color(green,Pass)? Color(green,Pass)?
Step 9 Color(green,Pass)? Color(green,Pass)?
Step 10 Color(green,Pass)? Color(green,Pass)?
Step 11 Color(green,Pass)? Color(green,Pass)?
Step 12 Color(green,Pass)? Color(green,Pass)?


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 in this test case:

ig-utah=,https://utah.geniracks.net/protogeni/xmlrpc/am/2.0
ig-gpo=,https://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0

Scenario 1 - GPO Rack

1. As Experimenter1, request ListResources from GPO InstaGENI

As user lnevers@bbn.com requested listresources from GPO and Utah InstaGENI aggregates:

$ omni.py listresources -a ig-gpo -o

2. Review ListResources

Reviews output file rspec-instageni-gpolab-bbn-com-protogeniv2.xml to determine available resources.

3. Define a request RSpec for three VMs at GPO InstaGENI

The RSpec generated is IG-EXP-7.rspec requests a topology shown in here:

4. Define a request RSpec for GPO InstaGENI

The RSpec generated is IG-EXP-7-gpo.rspec.

5. Create slice

Created a slice:

$ omni.py createslice IG-EXP-7
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework pg
INFO:omni:Created slice with Name IG-EXP-7, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7, Expiration 2013-01-20 00:00:00+00:00
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createslice:
  Options as run:
		framework: pg

  Args: createslice IG-EXP-7
  Result Summary: Created slice with Name IG-EXP-7, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7, Expiration 2013-01-20 00:00:00+00:00
INFO:omni: ============================================================

6. Create a sliver

In the slice IG-EXP-7 create a slivers at the GPO InstaGENI AM using the RSpecs IG-EXP-7-gpo.rspec.

$ omni.py createsliver -a ig-gpo IG-EXP-7 IG-EXP-7-gpo.rspec
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework pg
INFO:omni:Substituting AM nickname ig-gpo with URL http://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7 expires on 2013-01-20 00:00:00 UTC
INFO:omni:Substituting AM nickname ig-gpo with URL http://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Substituting AM nickname ig-gpo with URL http://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Creating sliver(s) from rspec file IG-EXP-7-gpo.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7
INFO:omni:Got return from CreateSliver for slice IG-EXP-7 at http://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0:
INFO:omni:<!-- Reserved resources for:
	Slice: IG-EXP-7
	at AM:
	URN: unspecified_AM_URN
	URL: http://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0
 -->
INFO:omni:<rspec xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.geni.net/resources/rspec/3" type="manifest" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/manifest.xsd">
  <node client_id="hostA" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc2" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+637">
    <sliver_type name="emulab-openvz"/>
    <interface client_id="hostA:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+644" mac_address="02c1b3acd5e3">
    <ip address="10.10.1.1" type="ipv4"/></interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm2-6"/><host name="hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com"/><services><login authentication="ssh-keys" hostname="pc2.instageni.gpolab.bbn.com" port="30523" username="lnevers"/></services></node>
  <node client_id="top" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc2" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+641">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    <login authentication="ssh-keys" hostname="pc2.instageni.gpolab.bbn.com" port="30527" username="lnevers"/></services>
    <interface client_id="top:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+645" mac_address="02e1d8a76e99">
    <ip address="10.10.1.2" type="ipv4"/></interface>
    <interface client_id="top:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+647" mac_address="024ba1811639">
    <ip address="10.10.2.1" type="ipv4"/></interface>
    <interface client_id="top:if2" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+653" mac_address="02f6e2a45b64">
    <ip address="10.10.4.1" type="ipv4"/></interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm2-10"/><host name="top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com"/></node>
  <node client_id="left" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc2" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+639">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    <login authentication="ssh-keys" hostname="pc2.instageni.gpolab.bbn.com" port="30525" username="lnevers"/></services>
    <interface client_id="left:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+648" mac_address="02d12ad104b3">
    <ip address="10.10.2.2" type="ipv4"/></interface>
    <interface client_id="left:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+650" mac_address="0285d93084a0">
    <ip address="10.10.3.1" type="ipv4"/></interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm2-8"/><host name="left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com"/></node>
  <node client_id="right" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc2" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+640">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    <login authentication="ssh-keys" hostname="pc2.instageni.gpolab.bbn.com" port="30526" username="lnevers"/></services>
    <interface client_id="right:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+654" mac_address="023c4b42886c">
    <ip address="10.10.4.2" type="ipv4"/></interface>
    <interface client_id="right:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+657" mac_address="02aa46be6629">
    <ip address="10.10.5.2" type="ipv4"/></interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm2-9"/><host name="right.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com"/></node>
  <node client_id="bottom" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc2" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+636">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    <login authentication="ssh-keys" hostname="pc2.instageni.gpolab.bbn.com" port="30522" username="lnevers"/></services>
    <interface client_id="bottom:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+651" mac_address="02becc48e782">
    <ip address="10.10.3.2" type="ipv4"/></interface>
    <interface client_id="bottom:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+656" mac_address="02a78ae69715">
    <ip address="10.10.5.1" type="ipv4"/></interface>
    <interface client_id="bottom:if2" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+659" mac_address="02d6a443fffc">
    <ip address="10.10.6.1" type="ipv4"/></interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm2-5"/><host name="bottom.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com"/></node>
  <node client_id="hostB" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc2" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+638">
    <sliver_type name="emulab-openvz"/>
    <interface client_id="hostB:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+660" mac_address="02ac569b5165">
    <ip address="10.10.6.2" type="ipv4"/></interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm2-7"/><host name="hostB.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com"/><services><login authentication="ssh-keys" hostname="pc2.instageni.gpolab.bbn.com" port="30524" username="lnevers"/></services></node>
  <link client_id="link-A" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+643">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="hostA:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+644"/>
    <interface_ref client_id="top:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+645"/>
    <property source_id="hostA:if0" dest_id="top:if0"/>
    <property source_id="top:if0" dest_id="hostA:if0"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+646">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="top:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+647"/>
    <interface_ref client_id="left:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+648"/>
    <property source_id="top:if1" dest_id="left:if0"/>
    <property source_id="left:if0" dest_id="top:if1"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-2" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+649">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="left:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+650"/>
    <interface_ref client_id="bottom:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+651"/>
    <property source_id="left:if1" dest_id="bottom:if0"/>
    <property source_id="bottom:if0" dest_id="left:if1"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-1" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+652">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="top:if2" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+653"/>
    <interface_ref client_id="right:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+654"/>
    <property source_id="top:if2" dest_id="right:if0"/>
    <property source_id="right:if0" dest_id="top:if2"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-3" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+655">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="bottom:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+656"/>
    <interface_ref client_id="right:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+657"/>
    <property source_id="bottom:if1" dest_id="right:if1"/>
    <property source_id="right:if1" dest_id="bottom:if1"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-B" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+658">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="bottom:if2" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+659"/>
    <interface_ref client_id="hostB:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc2:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+660"/>
    <property source_id="bottom:if2" dest_id="hostB:if0"/>
    <property source_id="hostB:if0" dest_id="bottom:if2"/>
    <link_type name="lan"/>
  </link>
</rspec>
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createsliver:
  Options as run:
		aggregate: ['ig-gpo']
		framework: pg

  Args: createsliver IG-EXP-7 IG-EXP-7-gpo.rspec
  Result Summary: Got Reserved resources RSpec from instageni-gpolab-bbn-com-protogeniv2 
INFO:omni: ============================================================

7. Install Click router

The RSpec used defines the following services to install the click router:

      <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    </services>

The above services will get the click-example.tar.gz place it on /local on the 4 router nodes, unpack the tar.gz file which contains two files:

  • install-script.sh - installs click routes v.2.0.1 ran as part of the createsliver.
  • extractClickConfig.py - determines MAC and IP settings for the configuration, ran manually after sliver is ready.

8. Determine Click router settings

The click router setting are determined by the extractClickConfig.py script. To run this script, determin login for each of the nodes in the experiment at each resource aggregate:

$ readyToLogin.py -a ig-gpo IG-EXP-7
<...>
hostA's geni_status is: ready (am_status:ready) 
User lnevers logins to hostA using:
	xterm -e ssh -p 30523  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com &

right's geni_status is: ready (am_status:ready) 
User lnevers logins to right using:
	xterm -e ssh -p 30526  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com &

left's geni_status is: changing (am_status:changing) 
User lnevers logins to left using:
	xterm -e ssh -p 30525  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com &

bottom's geni_status is: ready (am_status:ready) 
User lnevers logins to bottom using:
	xterm -e ssh -p 30522  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com &

top's geni_status is: ready (am_status:ready) 
User lnevers logins to top using:
	xterm -e ssh -p 30527  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com &

hostB's geni_status is: ready (am_status:ready) 
User lnevers logins to hostB using:
	xterm -e ssh -p 30524  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com &

First logged into hostA to verify connection and that host can exchange traffic:

[lnevers@hostA ~]$ ping hostB
PING hostB-link-B (10.10.6.2) 56(84) bytes of data.
64 bytes from hostB-link-B (10.10.6.2): icmp_req=1 ttl=61 time=5.67 ms
64 bytes from hostB-link-B (10.10.6.2): icmp_req=2 ttl=61 time=0.104 ms

On hostB

[lnevers@hostB ~]$ ping hostA
PING hostA-link-A (10.10.1.1) 56(84) bytes of data.
64 bytes from hostA-link-A (10.10.1.1): icmp_req=1 ttl=61 time=0.085 ms
64 bytes from hostA-link-A (10.10.1.1): icmp_req=2 ttl=61 time=0.065 ms

Note: The pings are left running and will be referenced in later steps.

Generated configuration on each click router by remotely executing the script provided for the click-example:

On top router:

$ ssh -A  -p 30527  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com "/local/click-example/extractClickConfig.py "
Your host information:
	hostA: hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	top: top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	left: left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	right: right.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	bottom: bottom.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	hostB: hostB.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
Done.

On left router:

$ ssh -A  -p 30525  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com "/local/click-example/extractClickConfig.py "
Warning: Permanently added '[pc2.instageni.gpolab.bbn.com]:30525,[192.1.242.141]:30525' (RSA) to the list of known hosts.
Your host information:
	hostA: hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	top: top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	left: left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	right: right.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	bottom: bottom.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	hostB: hostB.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
Done.

On right router:

$ ssh -A  -p 30526  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com "/local/click-example/extractClickConfig.py "
Warning: Permanently added '[pc2.instageni.gpolab.bbn.com]:30526,[192.1.242.141]:30526' (RSA) to the list of known hosts.
Your host information:
	hostA: hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	top: top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	left: left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	right: right.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	bottom: bottom.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	hostB: hostB.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
Done.

On bottom router:

$ ssh -A  -p 30522  -i /home/lnevers/.ssh/id_rsa lnevers@pc2.instageni.gpolab.bbn.com "/local/click-example/extractClickConfig.py "
Your host information:
	hostA: hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	top: top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	left: left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	right: right.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	bottom: bottom.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
	hostB: hostB.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com pc2.instageni.gpolab.bbn.com
Done.

The above operations generate an image of the topology. Which can be retrieved from each router:

scp -P 30522 pc2.instageni.gpolab.bbn.com:myslice.png .

The file generated can be viewed as follows:

eog myslice.png &

The image generated for this experimented showed the following:

9. Run the user-level Click router

First, checked to make sure that pings are still running between hostA and hostB and using IP. At this point stopped IP on each of the routers:

 # top router
$ ssh -A  -p 30527  pc2.instageni.gpolab.bbn.com "sh stopIP.sh "    
Disabling IP on interface mv10.5
Disabling IP on interface mv10.7

# left router
$ ssh -A  -p 30525  pc2.instageni.gpolab.bbn.com "sh stopIP.sh "
Disabling IP on interface mv8.6
Disabling IP on interface mv8.9

# right router
$ ssh -A  -p 30526  pc2.instageni.gpolab.bbn.com "sh stopIP.sh "
Disabling IP on interface mv9.8
Disabling IP on interface mv9.12

# bottom router
$ ssh -A  -p 30522  pc2.instageni.gpolab.bbn.com "sh stopIP.sh "
Disabling IP on interface mv5.10
Disabling IP on interface mv5.11

After verifying that pings are failing, started the user-level Click router by providing the print pings configuration file name. Leave terminal connection open:

# top router
$ ssh -A  -p 30527  pc2.instageni.gpolab.bbn.com "sh ./startClick.sh"
Stopping any running Click routers
Starting Click router

# left router
$ ssh -A  -p 30525  pc2.instageni.gpolab.bbn.com  "sh ./startClick.sh"
Stopping any running Click routers
Starting Click router

# right router
$ ssh -A  -p 30526  pc2.instageni.gpolab.bbn.com "sh ./startClick.sh"
Stopping any running Click routers
Starting Click router

# bottom router
$ ssh -A  -p 30522  pc2.instageni.gpolab.bbn.com "sh ./startClick.sh"
Stopping any running Click routers
Starting Click router

10. Log in to Host1 and send traffic to host2

Verified that pings, which had stopped when IP was disabled, do resume between hostA and hostB when click router is started.

11. Review Click logs on each Click router

Each of the click routers generates a /tmp/click.log file. Below is an example from the bottom click router:

$ ssh -A  -p 30522  pc2.instageni.gpolab.bbn.com 
Last login: Wed Jan 16 14:43:36 2013 from arendia.gpolab.bbn.com
[lnevers@bottom ~]$ more /tmp/click.log 
bottom.click:34: While initializing 'FromDevice@18 :: FromDevice':
  warning: mv5.10: no IPv4 address assigned
bottom.click:35: While initializing 'FromDevice@21 :: FromDevice':
  warning: mv5.11: no IPv4 address assigned
outL:  114 | 0285d930 84a002be cc48e782 7744426f 62576173 48657265
inR:  114 | 02a78ae6 971502aa 46be6629 7744416c 69636557 61734865
inL:  114 | 02becc48 e7820285 d93084a0 7744416c 69636557 61734865
outR:  114 | 02aa46be 662902a7 8ae69715 7744426f 62576173 48657265
outL:  114 | 0285d930 84a002be cc48e782 7744426f 62576173 48657265
inL:  114 | 02becc48 e7820285 d93084a0 7744416c 69636557 61734865
inL:  114 | 02becc48 e7820285 d93084a0 7744416c 69636557 61734865
outL:  114 | 0285d930 84a002be cc48e782 7744426f 62576173 48657265
outL:  114 | 0285d930 84a002be cc48e782 7744426f 62576173 48657265
inR:  114 | 02a78ae6 971502aa 46be6629 7744416c 69636557 61734865
inL:  114 | 02becc48 e7820285 d93084a0 7744416c 69636557 61734865
outR:  114 | 02aa46be 662902a7 8ae69715 7744426f 62576173 48657265
outL:  114 | 0285d930 84a002be cc48e782 7744426f 62576173 48657265
inL:  114 | 02becc48 e7820285 d93084a0 7744416c 69636557 61734865
inL:  114 | 02becc48 e7820285 d93084a0 7744416c 69636557 61734865
outL:  114 | 0285d930 84a002be cc48e782 7744426f 62576173 48657265
outL:  114 | 0285d930 84a002be cc48e782 7744426f 62576173 48657265
inR:  114 | 02a78ae6 971502aa 46be6629 7744416c 69636557 61734865
inL:  114 | 02becc48 e7820285 d93084a0 7744416c 69636557 61734865
outR:  114 | 02aa46be 662902a7 8ae69715 7744426f 62576173 48657265

12. Delete slivers

Deleted the sliver at the GPO InstaGENI aggregate:

$ omni.py deletesliver -a ig-gpo IG-EXP-7                   
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework pg
INFO:omni:Substituting AM nickname ig-gpo with URL http://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7 expires on 2013-01-20 00:00:00 UTC
INFO:omni:Substituting AM nickname ig-gpo with URL http://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN

INFO:omni:Deleted sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7 on unspecified_AM_URN at http://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed deletesliver:
  Options as run:
		aggregate: ['ig-gpo']
		framework: pg

  Args: deletesliver IG-EXP-7
  Result Summary: Deleted sliver urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7 on unspecified_AM_URN at http://instageni.gpolab.bbn.com/protogeni/xmlrpc/am/2.0 
INFO:omni: ============================================================

Scenario 2 - GPO and Utah IG Racks

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-vlan.rspec. The topology and address scheme are shown below using client_ids defined in the RSpec:

Note (*): link-0 and link-1 use shared Layer 2 VLANs.

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-7vlan.rspec.

5. Create slice

Created a slice:

$ omni.py createslice IG-EXP-7
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework pg
INFO:omni:Created slice with Name IG-EXP-7, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7, Expiration 2013-04-11 12:37:49+00:00
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createslice:
  Options as run:
		framework: pg
  Args: createslice IG-EXP-7
  Result Summary: Created slice with Name IG-EXP-7, URN urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7, Expiration 2013-04-11 12:37:49+00:00
INFO:omni: ============================================================

6. Create slivers

For the slice IG-EXP-7 create a slivers at each AM, using the RSpecs IG-EXP-7-vlan.rspec defined above.

First create a sliver at the GPO InstaGENI AM:

$ omni.py createsliver -a ig-gpo IG-EXP-7 IG-EXP-7-vlan.rspec 
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework pg
INFO:omni:Substituting AM nickname ig-gpo with URL https://instageni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7 expires on 2013-04-15 00:00:00 UTC
INFO:omni:Substituting AM nickname ig-gpo with URL https://instageni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Substituting AM nickname ig-gpo with URL https://instageni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Creating sliver(s) from rspec file IG-EXP-7-vlan.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7
INFO:omni: (PG log url - look here for details on any failures: https://boss.instageni.gpolab.bbn.com/spewlogfile.php3?logfile=7ca88884c609685a24abe5dcdf14d135)
INFO:omni:Got return from CreateSliver for slice IG-EXP-7 at https://instageni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0:
INFO:omni:<!-- Reserved resources for:
	Slice: IG-EXP-7
	at AM:
	URN: unspecified_AM_URN
	URL: https://instageni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0
 -->
INFO:omni:<rspec xmlns="http://www.geni.net/resources/rspec/3" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:sharedvlan="http://www.geni.net/resources/rspec/ext/shared-vlan/1" xs:schemaLocation="http://www.geni.net/resources/rspec/3             http://www.geni.net/resources/rspec/3/manifest.xsd   http://www.geni.net/resources/rspec/ext/shared-vlan/1   http://www.geni.net/resources/rspec/ext/shared-vlan/1/request.xsd" type="manifest">

  <node client_id="hostA" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc1" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3340">
    <sliver_type name="emulab-openvz"/>
    <interface client_id="hostA:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3345" mac_address="02926ec34c7b">
    <ip address="10.42.18.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm1-7"/><host name="hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com"/><services><login authentication="ssh-keys" hostname="pc1.instageni.gpolab.bbn.com" port="32826" username="lnevers"/></services></node>
  <node client_id="top" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc1" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3342">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    <login authentication="ssh-keys" hostname="pc1.instageni.gpolab.bbn.com" port="32828" username="lnevers"/></services>
    <interface client_id="top:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3346" mac_address="0287cefcd8b5">
    <ip address="10.42.18.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="top:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3348" mac_address="020c6832a965">
    <ip address="10.42.11.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="top:if2" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth1" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3353" mac_address="020f818b9ce8">
    <ip address="10.42.21.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm1-9"/><host name="top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com"/></node>
  <node client_id="left" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+node+pc1" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3341">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    <login authentication="ssh-keys" hostname="pc1.instageni.gpolab.bbn.com" port="32827" username="lnevers"/></services>
    <interface client_id="left:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3349" mac_address="02588133089a">
    <ip address="10.42.11.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="left:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth1" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3351" mac_address="02e587e1267a">
    <ip address="10.42.13.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm1-8"/><host name="left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com"/></node>
  <node client_id="right" component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" exclusive="false">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    </services>
    <interface client_id="right:if0">
    <ip address="10.42.21.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="right:if1">
    <ip address="10.42.20.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="bottom" component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" exclusive="false">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    </services>
    <interface client_id="bottom:if0">
    <ip address="10.42.20.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="bottom:if1">
    <ip address="10.42.13.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="bottom:if2">
    <ip address="10.42.19.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="hostB" component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" exclusive="false">
    <sliver_type name="emulab-openvz"/>
    <interface client_id="hostB:if0">
    <ip address="10.42.19.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <link client_id="link-A" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3344">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="hostA:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3345"/>
    <interface_ref client_id="top:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3346"/>
    <property source_id="hostA:if0" dest_id="top:if0"/>
    <property source_id="top:if0" dest_id="hostA:if0"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3347">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="top:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3348"/>
    <interface_ref client_id="left:if0" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:lo0" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3349"/>
    <property source_id="top:if1" dest_id="left:if0"/>
    <property source_id="left:if0" dest_id="top:if1"/>
    <link_type name="lan"/>
  </link>
  <link xmlns:sharedvlan="http://www.geni.net/resources/rspec/ext/shared-vlan/1" client_id="link-2" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3350">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="left:if1" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth1" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3351"/>
    <sharedvlan:link_shared_vlan name="L2-ping-tutorial"/> 
  </link>
  <link client_id="link-2a">
    <component_manager name="urn:publicid:IDN+utah.geniracks.net+authority+cm"/>
    <interface_ref client_id="bottom:if1"/>
    <sharedvlan:link_shared_vlan name="L2-ping-tutorial"/> 
  </link>
  <link xmlns:sharedvlan="http://www.geni.net/resources/rspec/ext/shared-vlan/1" client_id="link-1" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3352">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="top:if2" component_id="urn:publicid:IDN+instageni.gpolab.bbn.com+interface+pc1:eth1" sliver_id="urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+3353"/>
    <sharedvlan:link_shared_vlan name="IG-EXP-7"/>
  </link>
  <link client_id="link-1a">
    <component_manager name="urn:publicid:IDN+utah.geniracks.net+authority+cm"/>
    <interface_ref client_id="right:if0"/>
    <sharedvlan:link_shared_vlan name="IG-EXP-7"/>
  </link>
  <link client_id="link-3">
    <component_manager name="urn:publicid:IDN+utah.geniracks.net+authority+cm"/>
    <interface_ref client_id="bottom:if0"/>
    <interface_ref client_id="right:if1"/>
    <property source_id="bottom:if0" dest_id="right:if1"/>
    <property source_id="right:if1" dest_id="bottom:if0"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-B">
    <component_manager name="urn:publicid:IDN+utah.geniracks.net+authority+cm"/>
    <interface_ref client_id="bottom:if2"/>
    <interface_ref client_id="hostB:if0"/>
    <property source_id="bottom:if2" dest_id="hostB:if0"/>
    <property source_id="hostB:if0" dest_id="bottom:if2"/>
    <link_type name="lan"/>
  </link>
</rspec>
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createsliver:
  Options as run:
		aggregate: ['ig-gpo']
		framework: pg

  Args: createsliver IG-EXP-7 IG-EXP-7-vlan.rspec
  Result Summary: Got Reserved resources RSpec from instageni-gpolab-bbn-com-protogeniv2 
INFO:omni: ============================================================

Then create a sliver at the Utah InstaGENI AM:

$ omni.py createsliver -a ig-utah IG-EXP-7 IG-EXP-7-vlan.rspec 
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework pg
INFO:omni:Substituting AM nickname ig-utah with URL https://utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7 expires on 2013-04-15 00:00:00 UTC
INFO:omni:Substituting AM nickname ig-utah with URL https://utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Substituting AM nickname ig-utah with URL https://utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Creating sliver(s) from rspec file IG-EXP-7-vlan.rspec for slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+IG-EXP-7
INFO:omni: (PG log url - look here for details on any failures: https://boss.utah.geniracks.net/spewlogfile.php3?logfile=b3218b871776dc05f8d799d6bc103a19)
INFO:omni:Got return from CreateSliver for slice IG-EXP-7 at https://utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0:
INFO:omni:<!-- Reserved resources for:
	Slice: IG-EXP-7
	at AM:
	URN: unspecified_AM_URN
	URL: https://utah.geniracks.net:12369/protogeni/xmlrpc/am/2.0
 -->
INFO:omni:<rspec xmlns="http://www.geni.net/resources/rspec/3" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:sharedvlan="http://www.geni.net/resources/rspec/ext/shared-vlan/1" xs:schemaLocation="http://www.geni.net/resources/rspec/3             http://www.geni.net/resources/rspec/3/manifest.xsd   http://www.geni.net/resources/rspec/ext/shared-vlan/1   http://www.geni.net/resources/rspec/ext/shared-vlan/1/request.xsd" type="manifest">

  <node client_id="hostA" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false">
    <sliver_type name="emulab-openvz"/>
    <interface client_id="hostA:if0">
    <ip address="10.42.18.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="top" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    </services>
    <interface client_id="top:if0">
    <ip address="10.42.18.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="top:if1">
    <ip address="10.42.11.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="top:if2">
    <ip address="10.42.21.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="left" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm" exclusive="false">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    </services>
    <interface client_id="left:if0">
    <ip address="10.42.11.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="left:if1">
    <ip address="10.42.13.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  </node>
  <node client_id="right" component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" exclusive="false" component_id="urn:publicid:IDN+utah.geniracks.net+node+pc1" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19120">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    <login authentication="ssh-keys" hostname="pc1.utah.geniracks.net" port="32060" username="lnevers"/></services>
    <interface client_id="right:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:eth1" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19125" mac_address="02e77e4e5e82">
    <ip address="10.42.21.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="right:if1" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19128" mac_address="021853157b2a">
    <ip address="10.42.20.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm1-7"/><host name="right.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net"/></node>
  <node client_id="bottom" component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" exclusive="false" component_id="urn:publicid:IDN+utah.geniracks.net+node+pc1" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19118">
    <sliver_type name="emulab-openvz"/>
    <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    <login authentication="ssh-keys" hostname="pc1.utah.geniracks.net" port="32058" username="lnevers"/></services>
    <interface client_id="bottom:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19127" mac_address="02fcee9d640c">
    <ip address="10.42.20.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="bottom:if1" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:eth1" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19123" mac_address="02feecbe360d">
    <ip address="10.42.13.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
    <interface client_id="bottom:if2" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19130" mac_address="023fab3b6ced">
    <ip address="10.42.19.1" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm1-5"/><host name="bottom.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net"/></node>
  <node client_id="hostB" component_manager_id="urn:publicid:IDN+utah.geniracks.net+authority+cm" exclusive="false" component_id="urn:publicid:IDN+utah.geniracks.net+node+pc1" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19119">
    <sliver_type name="emulab-openvz"/>
    <interface client_id="hostB:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19131" mac_address="028474c3f461">
    <ip address="10.42.19.2" netmask="255.255.255.0" type="ipv4"/>
    </interface>
  <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pcvm1-6"/><host name="hostB.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net"/><services><login authentication="ssh-keys" hostname="pc1.utah.geniracks.net" port="32059" username="lnevers"/></services></node>
  <link client_id="link-A">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="hostA:if0"/>
    <interface_ref client_id="top:if0"/>
    <property source_id="hostA:if0" dest_id="top:if0"/>
    <property source_id="top:if0" dest_id="hostA:if0"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-0">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="top:if1"/>
    <interface_ref client_id="left:if0"/>
    <property source_id="top:if1" dest_id="left:if0"/>
    <property source_id="left:if0" dest_id="top:if1"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-2">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="left:if1"/>
    <sharedvlan:link_shared_vlan name="L2-ping-tutorial"/> 
  </link>
  <link xmlns:sharedvlan="http://www.geni.net/resources/rspec/ext/shared-vlan/1" client_id="link-2a" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19122">
    <component_manager name="urn:publicid:IDN+utah.geniracks.net+authority+cm"/>
    <interface_ref client_id="bottom:if1" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:eth1" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19123"/>
    <sharedvlan:link_shared_vlan name="L2-ping-tutorial"/> 
  </link>
  <link client_id="link-1">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <interface_ref client_id="top:if2"/>
    <sharedvlan:link_shared_vlan name="IG-EXP-7"/>
  </link>
  <link xmlns:sharedvlan="http://www.geni.net/resources/rspec/ext/shared-vlan/1" client_id="link-1a" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19124">
    <component_manager name="urn:publicid:IDN+utah.geniracks.net+authority+cm"/>
    <interface_ref client_id="right:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:eth1" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19125"/>
    <sharedvlan:link_shared_vlan name="IG-EXP-7"/>
  </link>
  <link client_id="link-3" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19126">
    <component_manager name="urn:publicid:IDN+utah.geniracks.net+authority+cm"/>
    <interface_ref client_id="bottom:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19127"/>
    <interface_ref client_id="right:if1" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19128"/>
    <property source_id="bottom:if0" dest_id="right:if1"/>
    <property source_id="right:if1" dest_id="bottom:if0"/>
    <link_type name="lan"/>
  </link>
  <link client_id="link-B" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19129">
    <component_manager name="urn:publicid:IDN+utah.geniracks.net+authority+cm"/>
    <interface_ref client_id="bottom:if2" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19130"/>
    <interface_ref client_id="hostB:if0" component_id="urn:publicid:IDN+utah.geniracks.net+interface+pc1:lo0" sliver_id="urn:publicid:IDN+utah.geniracks.net+sliver+19131"/>
    <property source_id="bottom:if2" dest_id="hostB:if0"/>
    <property source_id="hostB:if0" dest_id="bottom:if2"/>
    <link_type name="lan"/>
  </link>
</rspec>
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createsliver:
  Options as run:
		aggregate: ['ig-utah']
		framework: pg

  Args: createsliver IG-EXP-7 IG-EXP-7-vlan.rspec
  Result Summary: Got Reserved resources RSpec from utah-geniracks-net-protogeniv2 
INFO:omni: ============================================================

"Workaround" - For this test run, the manifest RSpec from each Aggregate had to be combined into one manifest to set up the files expected by the current version of the Click Router Example.

To create the combined Manifest and place it in the expected location, the following steps were executed:

  1. Get manifest from GPO InstaGENI ($ omni.py listresources -a ig-gpo IG-EXP-7 IG-EXP-7-vlan.rspec -o) output file is IG-EXP-7-manifest-rspec-instageni-gpolab-bbn-com-protogeniv2.xml
  2. Get manifest from Utah InstaGENI ($ omni.py listresources -a ig-utah IG-EXP-7 IG-EXP-7-vlan.rspec -o) output file is (http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/InstageniRacks/AcceptanceTestStatus/IG-EXP-7/IG-EXP-7-manifest-rspec-utah-geniracks-net-protogeniv2.xml IG-EXP-7-manifest-rspec-utah-geniracks-net-protogeniv2.xml)
  3. Combine the two steps above to produce one overall combined-manifest.xml file that captures the entire slice and place it on each router (top, bottom, letft, right) and then "$ sudo mv combined-manifest.xml /proj/pgeni-gpolab-bbn-com/exp/IG-EXP-7/tbdata/geni_manifest" .

7. Install Click router

The Rspec used defines the following services to install the click router:

      <services>
      <execute command="sudo /local/install-script.sh" shell="sh"/>
      <install install_path="/local" url="http://www.gpolab.bbn.com/experiment-support/ClickExampleExperiment/click-example.tar.gz"/>
    </services>

The above service will get the click-example.tar.gz place it on /local on the 4 router nodes, unpack the tar.gz file which contains two files:

  • install-script.sh - installs click routes v.2.0.1 ran as part of the createsliver.
  • extractClickConfig.py - determines MAC and IP settings for the configuration, ran manually after sliver is ready.

8. Determine Click router settings

The click router setting are determined by the extractClickConfig.py script. To run this script, determin login for each of the nodes in the experiment at each resource aggregate:

$ readyToLogin.py -a ig-gpo IG-EXP-7
<...>
top's geni_status is: ready (am_status:ready) 
User lnevers logins to top using:
	xterm -e ssh -p 32828  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.instageni.gpolab.bbn.com &

left's geni_status is: ready (am_status:ready) 
User lnevers logins to left using:
	xterm -e ssh -p 32827  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.instageni.gpolab.bbn.com &

hostA's geni_status is: ready (am_status:ready) 
User lnevers logins to hostA using:
	xterm -e ssh -p 32826  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.instageni.gpolab.bbn.com &

$ readyToLogin.py -a ig-utah IG-EXP-7
<...>
bottom's geni_status is: ready (am_status:ready) 
User lnevers logins to bottom using:
	xterm -e ssh -p 32058  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.utah.geniracks.net &

hostB's geni_status is: ready (am_status:ready) 
User lnevers logins to hostB using:
	xterm -e ssh -p 32059  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.utah.geniracks.net &

right's geni_status is: ready (am_status:ready) 
User lnevers logins to right using:
	xterm -e ssh -p 32060  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.utah.geniracks.net &

Note: No routes are available to allow the hostA to hostB end-to-end connection, so routes had to be added to the following:

On "top" router added route to hostB network:

[lnevers@top ~]$ sudo /sbin/route add -net 10.42.19.0/24 gw 10.42.21.2

On "bottom" router added route to hostA network:

[lnevers@bottom ~]$ sudo /sbin/route add -net 10.42.18.0/24 gw 10.42.13.2

Once the routes are added, started pings between hostA and hostB:

First logged into hostA and hostB to verify connection are in place. From HostA pinged HostB:

[lnevers@hostA ~]$ /sbin/ifconfig mv7.14
mv7.14    Link encap:Ethernet  HWaddr 02:92:6E:C3:4C:7B  
          inet addr:10.42.18.2  Bcast:10.42.18.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[lnevers@hostA ~]$ ping 10.42.19.2
PING 10.42.19.2 (10.42.19.2) 56(84) bytes of data.
64 bytes from 10.42.19.2: icmp_req=1 ttl=61 time=91.0 ms
64 bytes from 10.42.19.2: icmp_req=2 ttl=61 time=91.1 ms
64 bytes from 10.42.19.2: icmp_req=3 ttl=61 time=91.0 ms

From HostB pinged HostA:

[lnevers@hostB ~]$ /sbin/ifconfig mv6.94
mv6.94    Link encap:Ethernet  HWaddr 02:84:74:C3:F4:61  
          inet addr:10.42.19.2  Bcast:10.42.19.255  Mask:255.255.255.0
          inet6 addr: fe80::84:74ff:fec3:f461/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:6 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[lnevers@hostB ~]$ ping 10.42.18.2
PING 10.42.18.2 (10.42.18.2) 56(84) bytes of data.
64 bytes from 10.42.18.2: icmp_req=1 ttl=61 time=91.0 ms
64 bytes from 10.42.18.2: icmp_req=2 ttl=61 time=90.9 ms
64 bytes from 10.42.18.2: icmp_req=3 ttl=61 time=91.0 ms

On top router:

$ ssh -A -p 32828  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.instageni.gpolab.bbn.com "/local/click-example/extractClickConfig.py"
Your host information:
	hostA: hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	top: top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	left: left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	right: right.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net right.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
	bottom: bottom.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net bottom.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
	hostB: hostB.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net hostB.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
Done.

On left router:

$ ssh -A -p 32827  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.instageni.gpolab.bbn.com  "/local/click-example/extractClickConfig.py"
Your host information:
	hostA: hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	top: top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	left: left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	right: right.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net right.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
	bottom: bottom.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net bottom.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
	hostB: hostB.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net hostB.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
Done.

On bottom router:

$ ssh -A -p 32058  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.utah.geniracks.net "/local/click-example/extractClickConfig.py"
Your host information:
	hostA: hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	top: top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	left: left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	right: right.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net right.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
	bottom: bottom.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net bottom.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
	hostB: hostB.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net hostB.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
Done.

On right router:

$ ssh -A -p 32060  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.utah.geniracks.net  "/local/click-example/extractClickConfig.py"
Your host information:
	hostA: hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com hostA.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	top: top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com top.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	left: left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com left.IG-EXP-7.pgeni-gpolab-bbn-com.instageni.gpolab.bbn.com
	right: right.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net right.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
	bottom: bottom.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net bottom.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
	hostB: hostB.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net hostB.IG-EXP-7.pgeni-gpolab-bbn-com.utah.geniracks.net
Done.

The above operations generate an image of the topology. Which can be retrieved from each router:

$ scp -P 32827 pc1.instageni.gpolab.bbn.com:myslice.png .

The file generated can be viewed as follows:

eog myslice.png &

The image generated for this experimented showed the following:

9. Run the user-level Click router

First, checked to make sure that pings are still running between hostA and hostB and using IP. At this point stopped IP on each of the routers:

 # top router
$ ssh -A  -p 30527  pc2.instageni.gpolab.bbn.com "sh stopIP.sh "    
Disabling IP on interface mv9.12
Disabling IP on interface mv9.16

# left router
$ ssh -A  -p 30525  pc2.instageni.gpolab.bbn.com "sh stopIP.sh "
Disabling IP on interface mv8.13
Disabling IP on interface mv8.17

# right router
$ ssh -A  -p 30526  pc2.instageni.gpolab.bbn.com "sh stopIP.sh "
Disabling IP on interface mv5.96
Disabling IP on interface mv5.91

# bottom router
$ ssh -A  -p 30522  pc2.instageni.gpolab.bbn.com "sh stopIP.sh "
Disabling IP on interface mv7.95
Disabling IP on interface mv7.92

After verifying that pings are failing, started the user-level Click router by providing the print pings configuration file name. Leave terminal connection open:

# top router
$ ssh -A  -p 30527  pc2.instageni.gpolab.bbn.com "sh ./startClick.sh"
Stopping any running Click routers
Starting Click router

# left router
$ ssh -A  -p 30525  pc2.instageni.gpolab.bbn.com  "sh ./startClick.sh"
Stopping any running Click routers
Starting Click router

# right router
$ ssh -A  -p 30526  pc2.instageni.gpolab.bbn.com "sh ./startClick.sh"
Stopping any running Click routers
Starting Click router

# bottom router
$ ssh -A  -p 30522  pc2.instageni.gpolab.bbn.com "sh ./startClick.sh"
Stopping any running Click routers
Starting Click router

10. Log in to Host1 and send traffic to host2

Verified that existing pings, which had stopped when IP was disabled, do resume between hostA and hostB when click router is started.

11. Review Click logs on each Click router

Each of the click routers generates a /tmp/click.log file. Below is an example from the bottom click router:

$ sh -A -p 32058  -i /home/lnevers/.ssh/id_rsa lnevers@pc1.utah.geniracks.net 
Last login: Wed Apr 10 09:08:04 2013 from arendia.gpolab.bbn.com
[lnevers@bottom ~]$ more /tmp/click.log
bottom.click:34: While initializing 'FromDevice@18 :: FromDevice':
  warning: mv5.96: no IPv4 address assigned
bottom.click:35: While initializing 'FromDevice@21 :: FromDevice':
  warning: mv5.91: no IPv4 address assigned
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outL:  114 | 02e587e1 267a02fe ecbe360d 7744426f 62576173 48657265
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inL:  114 | 02feecbe 360d02e5 87e1267a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outL:  114 | 02e587e1 267a02fe ecbe360d 7744426f 62576173 48657265
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inL:  114 | 02feecbe 360d02e5 87e1267a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outL:  114 | 02e587e1 267a02fe ecbe360d 7744426f 62576173 48657265
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inL:  114 | 02feecbe 360d02e5 87e1267a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outL:  114 | 02e587e1 267a02fe ecbe360d 7744426f 62576173 48657265
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inL:  114 | 02feecbe 360d02e5 87e1267a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outL:  114 | 02e587e1 267a02fe ecbe360d 7744426f 62576173 48657265
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265
inL:  114 | 02feecbe 360d02e5 87e1267a 7744416c 69636557 61734865
inR:  114 | 02fcee9d 640c0218 53157b2a 7744416c 69636557 61734865
outR:  114 | 02185315 7b2a02fc ee9d640c 7744426f 62576173 48657265

12. Delete slivers

Deleted slivers at both aggregates:

 $ omni.py deletesliver -a ig-gpo IG-EXP-7
 $ omni.py deletesliver -a ig-utah IG-EXP-7
Last modified 12 years ago Last modified on 04/10/13 11:38:39

Attachments (7)

Download all attachments as: .zip