wiki:GENIEducation/SampleAssignments/CCNAssignment/ExerciseLayout/DesignSetup

Version 1 (modified by shuang@bbn.com, 6 years ago) (diff)

--

CCN ASSIGNMENT

Hello GENI index Hello GENI index Hello GENI index

STEPS FOR SETTING UP

Using Omni to get physical PCs from ProtoGENI:
0. Get account: (Ignore this if you already have one)
Go to Request_GENI_Account for an emulab account and to join a GENI project.
Apparently you need to join a GENI project (which is created by PIs/GPOs/others who have permission to do so) in order to use GENI resources.

1. Prepare Omni
Here is a very good tutorial on setting up Omni environment: HelloOmni
Simply follow the tutorial to set up Omni.

Create an Experimental Topology for CCNx network for sharing precipitation data

1. Use Omni to create the topology:
Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/CCNExampleExperiment/precip.rspec
Next, we need to create this experiment using the RSPEC file:

Step 1. Create slice (use a unique name for your slice):

omni.py createslice <slice name>

Output should be something like the following (here I am using 'CCN' as the sample slice name):

INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
INFO:omni:Using control framework portal
INFO:omni:Created slice with Name CCN, URN urn:publicid:IDN+panther:ShufengProject+slice+CCN, Expiration 2013-05-29 22:04:13
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createslice:

  Options as run:
		framework: portal
		project: ShufengProject

  Args: createslice CCN

  Result Summary: Created slice with Name CCN, URN urn:publicid:IDN+panther:ShufengProject+slice+CCN, Expiration 2013-05-29 22:04:13
 
INFO:omni: ============================================================

Step 2. Renew Slice (to make sure that your reservation does not expire before you finished your experiment, renew the slice to a specific time):

omni.py renewslice CCN 20130604

Output:

INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
INFO:omni:Using control framework portal
INFO:omni.pgch:Requesting new slice expiration '2013-06-04T00:00:00'
INFO:omni:Slice CCN now expires at 2013-06-04 00:00:00 UTC
INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+CCN expires on 2013-06-04 00:00:00 UTC
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed renewslice:

  Options as run:
		framework: portal
		project: ShufengProject

  Args: renewslice CCN 20130604

  Result Summary: Slice CCN now expires at 2013-06-04 00:00:00 UTC
Slice urn:publicid:IDN+panther:ShufengProject+slice+CCN expires on 2013-06-04 00:00:00 UTC 
INFO:omni: ============================================================

Step 3. Create Sliver using precip.rspec:

omni.py createsliver -a pg-utah CCN precip.rspec

Output:

INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
INFO:omni:Using control framework portal
INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+CCN expires on 2013-06-04 00:00:00 UTC
INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Creating sliver(s) from rspec file precip.rspec for slice urn:publicid:IDN+panther:ShufengProject+slice+CCN
INFO:omni: (PG log url - look here for details on any failures: https://www.emulab.net/spewlogfile.php3?logfile=0fac52bbb5785bf9e358661ffb053ae9)
INFO:omni:Got return from CreateSliver for slice CCN at https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0:
INFO:omni:<!-- Reserved resources for:
	Slice: CCN
	at AM:
	URN: unspecified_AM_URN
	URL: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0
 -->
INFO:omni:<rspec xmlns="http://www.protogeni.net/resources/rspec/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.protogeni.net/resources/rspec/2                            http://www.protogeni.net/resources/rspec/2/manifest.xsd                            " type="manifest">
<node client_id="collaborator1" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc203" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+130992">
    <sliver_type name="raw-pc">
        <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/>
    </sliver_type>
    <services>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-0.6.1-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-atmos-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-setup.tar.gz" install_path="/tmp"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./add-precip-routes researcher1"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./ccnx-setup router 8"/>
    <login authentication="ssh-keys" hostname="pc203.emulab.net" port="22" username="shufeng"/></services>
    <interface client_id="collaborator1:researcher1" component_id="urn:publicid:IDN+emulab.net+interface+pc203:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131007" mac_address="000423b723a0">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.1.1"/>
    </interface>
    <interface client_id="collaborator1:collaborator3" component_id="urn:publicid:IDN+emulab.net+interface+pc203:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+131016" mac_address="000423b723a1">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.3.1"/>
    </interface>
<rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc203"/><host name="collaborator1.CCN.panther.emulab.net"/></node>
<node client_id="collaborator3" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc310" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+130995">
    <sliver_type name="raw-pc">
        <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/>
    </sliver_type>
    <services>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-0.6.1-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-atmos-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-setup.tar.gz" install_path="/tmp"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./add-precip-routes collaborator1 researcher2"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./ccnx-setup router 8"/>
    <login authentication="ssh-keys" hostname="pc310.emulab.net" port="22" username="shufeng"/></services>
    <interface client_id="collaborator3:researcher2" component_id="urn:publicid:IDN+emulab.net+interface+pc310:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131019" mac_address="000423b726c2">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.4.1"/>
    </interface>
    <interface client_id="collaborator3:collaborator1" component_id="urn:publicid:IDN+emulab.net+interface+pc310:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+131017" mac_address="000423b71e12">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.3.2"/>
    </interface>
<rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc310"/><host name="collaborator3.CCN.panther.emulab.net"/></node>
<node client_id="collaborator2" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc201" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+130993">
    <sliver_type name="raw-pc">
        <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/>
    </sliver_type>
    <services>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-0.6.1-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-atmos-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-setup.tar.gz" install_path="/tmp"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./add-precip-routes researcher1"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./ccnx-setup router 8"/>
    <login authentication="ssh-keys" hostname="pc201.emulab.net" port="22" username="shufeng"/></services>
    <interface client_id="collaborator2:researcher1" component_id="urn:publicid:IDN+emulab.net+interface+pc201:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131004" mac_address="000423b7176c">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.2.1"/>
    </interface>
<rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc201"/><host name="collaborator2.CCN.panther.emulab.net"/></node>
<node client_id="datasource2" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc289" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+130997">
    <sliver_type name="raw-pc">
        <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/>
    </sliver_type>
    <services>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-0.6.1-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-atmos-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-setup.tar.gz" install_path="/tmp"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/atmos-data2.tar" install_path="/tmp"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./add-precip-routes "/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./ccnx-setup router 8"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./atmos-server pr_19020201_060000.nc"/>
    <login authentication="ssh-keys" hostname="pc289.emulab.net" port="22" username="shufeng"/></services>
    <interface client_id="datasource2:router" component_id="urn:publicid:IDN+emulab.net+interface+pc289:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131010" mac_address="000423b6cd68">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.8.1"/>
    </interface>
<rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc289"/><host name="datasource2.CCN.panther.emulab.net"/></node>
<node client_id="datasource1" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc308" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+130998">
    <sliver_type name="raw-pc">
        <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/>
    </sliver_type>
    <services>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-0.6.1-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-atmos-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-setup.tar.gz" install_path="/tmp"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/atmos-data1.tar" install_path="/tmp"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./add-precip-routes "/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./ccnx-setup router 8"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./atmos-server pr_19020101_060000.nc"/>
    <login authentication="ssh-keys" hostname="pc308.emulab.net" port="22" username="shufeng"/></services>
    <interface client_id="datasource1:router" component_id="urn:publicid:IDN+emulab.net+interface+pc308:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+131013" mac_address="000423b718ea">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.7.1"/>
    </interface>
<rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc308"/><host name="datasource1.CCN.panther.emulab.net"/></node>
<node client_id="router" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc354" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+130996">
    <sliver_type name="raw-pc">
        <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/>
    </sliver_type>
    <services>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-0.6.1-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-atmos-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-setup.tar.gz" install_path="/tmp"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./add-precip-routes datasource1 datasource2"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./ccnx-setup router 8"/>
    <login authentication="ssh-keys" hostname="pc354.emulab.net" port="22" username="shufeng"/></services>
    <interface client_id="router:researcher1" component_id="urn:publicid:IDN+emulab.net+interface+pc354:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131002" mac_address="000423b72116">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.5.2"/>
    </interface>
    <interface client_id="router:datasource2" component_id="urn:publicid:IDN+emulab.net+interface+pc354:eth5" sliver_id="urn:publicid:IDN+emulab.net+sliver+131011" mac_address="000423b71e03">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.8.2"/>
    </interface>
    <interface client_id="router:researcher2" component_id="urn:publicid:IDN+emulab.net+interface+pc354:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+131023" mac_address="000423b72117">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.6.2"/>
    </interface>
    <interface client_id="router:datasource1" component_id="urn:publicid:IDN+emulab.net+interface+pc354:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+131014" mac_address="000423b71e02">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.7.2"/>
    </interface>
<rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc354"/><host name="router.CCN.panther.emulab.net"/></node>
<node client_id="researcher1" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc325" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+130994">
    <sliver_type name="raw-pc">
        <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/>
    </sliver_type>
    <services>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-0.6.1-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-atmos-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-setup.tar.gz" install_path="/tmp"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./add-precip-routes router"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./ccnx-setup router 8"/>
    <login authentication="ssh-keys" hostname="pc325.emulab.net" port="22" username="shufeng"/></services>
    <interface client_id="researcher1:router" component_id="urn:publicid:IDN+emulab.net+interface+pc325:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+131001" mac_address="000423b717d5">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.5.1"/>
    </interface>
    <interface client_id="researcher1:collaborator1" component_id="urn:publicid:IDN+emulab.net+interface+pc325:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+131008" mac_address="000423b7148e">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.1.2"/>
    </interface>
    <interface client_id="researcher1:collaborator2" component_id="urn:publicid:IDN+emulab.net+interface+pc325:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131005" mac_address="000423b717d4">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.2.2"/>
    </interface>
<rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc325"/><host name="researcher1.CCN.panther.emulab.net"/></node>
<node client_id="researcher2" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc293" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+130991">
    <sliver_type name="raw-pc">
        <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops:FEDORA15-STD"/>
    </sliver_type>
    <services>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-0.6.1-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-atmos-F15.tar.gz" install_path="/"/>
        <install url="http://www.cs.purdue.edu/homes/fahmy/geni/tarballs/ccnx-setup.tar.gz" install_path="/tmp"/>
        <execute shell="sh" command="cd /tmp/ccnx-setup &amp;&amp; ./ccnx-setup router 8"/>
    <login authentication="ssh-keys" hostname="pc293.emulab.net" port="22" username="shufeng"/></services>
    <interface client_id="researcher2:collaborator3" component_id="urn:publicid:IDN+emulab.net+interface+pc293:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131020" mac_address="000423b71a04">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.4.2"/>
    </interface>
    <interface client_id="researcher2:router" component_id="urn:publicid:IDN+emulab.net+interface+pc293:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+131022" mac_address="000423b71a05">
        <ip netmask="255.255.255.0" type="ipv4" address="192.168.6.1"/>
    </interface>
<rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc293"/><host name="researcher2.CCN.panther.emulab.net"/></node>
<link client_id="researcher1-router" sliver_id="urn:publicid:IDN+emulab.net+sliver+131000" vlantag="407">
    <interface_ref client_id="researcher1:router" component_id="urn:publicid:IDN+emulab.net+interface+pc325:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+131001"/>
    <interface_ref client_id="router:researcher1" component_id="urn:publicid:IDN+emulab.net+interface+pc354:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131002"/>
</link>
<link client_id="collaborator2-researcher1" sliver_id="urn:publicid:IDN+emulab.net+sliver+131003" vlantag="421">
    <interface_ref client_id="collaborator2:researcher1" component_id="urn:publicid:IDN+emulab.net+interface+pc201:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131004"/>
    <interface_ref client_id="researcher1:collaborator2" component_id="urn:publicid:IDN+emulab.net+interface+pc325:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131005"/>
</link>
<link client_id="collaborator1-researcher1" sliver_id="urn:publicid:IDN+emulab.net+sliver+131006" vlantag="406">
    <interface_ref client_id="collaborator1:researcher1" component_id="urn:publicid:IDN+emulab.net+interface+pc203:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131007"/>
    <interface_ref client_id="researcher1:collaborator1" component_id="urn:publicid:IDN+emulab.net+interface+pc325:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+131008"/>
</link>
<link client_id="router-datasource2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131009" vlantag="364">
    <interface_ref client_id="datasource2:router" component_id="urn:publicid:IDN+emulab.net+interface+pc289:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131010"/>
    <interface_ref client_id="router:datasource2" component_id="urn:publicid:IDN+emulab.net+interface+pc354:eth5" sliver_id="urn:publicid:IDN+emulab.net+sliver+131011"/>
</link>
<link client_id="router-datasource1" sliver_id="urn:publicid:IDN+emulab.net+sliver+131012" vlantag="424">
    <interface_ref client_id="datasource1:router" component_id="urn:publicid:IDN+emulab.net+interface+pc308:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+131013"/>
    <interface_ref client_id="router:datasource1" component_id="urn:publicid:IDN+emulab.net+interface+pc354:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+131014"/>
</link>
<link client_id="collaborator3-collaborator1" sliver_id="urn:publicid:IDN+emulab.net+sliver+131015" vlantag="418">
    <interface_ref client_id="collaborator1:collaborator3" component_id="urn:publicid:IDN+emulab.net+interface+pc203:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+131016"/>
    <interface_ref client_id="collaborator3:collaborator1" component_id="urn:publicid:IDN+emulab.net+interface+pc310:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+131017"/>
</link>
<link client_id="collaborator3-researcher2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131018" vlantag="422">
    <interface_ref client_id="collaborator3:researcher2" component_id="urn:publicid:IDN+emulab.net+interface+pc310:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131019"/>
    <interface_ref client_id="researcher2:collaborator3" component_id="urn:publicid:IDN+emulab.net+interface+pc293:eth2" sliver_id="urn:publicid:IDN+emulab.net+sliver+131020"/>
</link>
<link client_id="researcher2-router" sliver_id="urn:publicid:IDN+emulab.net+sliver+131021" vlantag="366">
    <interface_ref client_id="researcher2:router" component_id="urn:publicid:IDN+emulab.net+interface+pc293:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+131022"/>
    <interface_ref client_id="router:researcher2" component_id="urn:publicid:IDN+emulab.net+interface+pc354:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+131023"/>
</link>
</rspec>
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createsliver:

  Options as run:
		aggregate: ['pg-utah']
		framework: portal
		project: ShufengProject

  Args: createsliver CCN precip.rspec

  Result Summary: Got Reserved resources RSpec from www-emulab-net-protogeniv2 
INFO:omni: ============================================================

The above output shows the reserved nodes: pc325, pc354, pc201, pc203, pc289, pc308, pc310, pc293 and how they are connected.
Alternatively, you can use the following command to show the reserved nodes as well as ways to login:

readyToLogin.py CCN -a pg-utah

When the nodes are not ready, the status will be notready or changing. In this case, you simply have to wait then try the above command again.
Otherwise, the result is something like the following:

#========================================
#SSH CONFIGURATION INFO for User shufeng
#========================================
 
Host datasource2
  Port 22
  HostName pc289.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host researcher1
  Port 22
  HostName pc325.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host collaborator1
  Port 22
  HostName pc203.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host researcher2
  Port 22
  HostName pc293.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host collaborator2
  Port 22
  HostName pc201.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host datasource1
  Port 22
  HostName pc308.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host collaborator3
  Port 22
  HostName pc310.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host router
  Port 22
  HostName pc354.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 

================================================================================
LOGIN INFO for AM: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0
================================================================================

datasource2's geni_status is: ready (am_status:ready) 
User shufeng logins to datasource2 using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc289.emulab.net &

researcher1's geni_status is: ready (am_status:ready) 
User shufeng logins to researcher1 using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc325.emulab.net &

collaborator1's geni_status is: ready (am_status:ready) 
User shufeng logins to collaborator1 using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc203.emulab.net &

researcher2's geni_status is: ready (am_status:ready) 
User shufeng logins to researcher2 using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc293.emulab.net &

collaborator2's geni_status is: ready (am_status:ready) 
User shufeng logins to collaborator2 using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc201.emulab.net &

datasource1's geni_status is: ready (am_status:ready) 
User shufeng logins to datasource1 using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc308.emulab.net &

collaborator3's geni_status is: ready (am_status:ready) 
User shufeng logins to collaborator3 using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc310.emulab.net &

router's geni_status is: ready (am_status:ready) 
User shufeng logins to router using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc354.emulab.net &

Step 4. Renew the sliver:

omni.py renewsliver -a pg-utah CCN 20130602

Output:

INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
INFO:omni:Using control framework portal
INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+CCN expires on 2013-06-04 00:00:00 UTC
INFO:omni:Renewing Sliver CCN until 2013-06-02 00:00:00+00:00 (UTC)
INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
INFO:omni: (PG log url - look here for details on any failures: https://www.emulab.net/spewlogfile.php3?logfile=85ae878711f47058145b35f9be5c25ec)
INFO:omni:Renewed sliver urn:publicid:IDN+panther:ShufengProject+slice+CCN at unspecified_AM_URN (https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0) until 2013-06-02T00:00:00+00:00 (UTC)
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed renewsliver:

  Options as run:
		aggregate: ['pg-utah']
		framework: portal
		project: ShufengProject

  Args: renewsliver CCN 20130602

  Result Summary: Slice urn:publicid:IDN+panther:ShufengProject+slice+CCN expires on 2013-06-04 00:00:00 UTC
Renewed sliver urn:publicid:IDN+panther:ShufengProject+slice+CCN at unspecified_AM_URN (https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0) until 2013-06-02T00:00:00+00:00 (UTC)
 
INFO:omni: ============================================================

Note: When dealing with specific slivers, we need to add "-a pg-utah" to specify which aggregate manager we want to use (i.e., from where we want to reserve the resources). In our case here, we are using utah aggregate.
For a list of available aggregates, please see the file ~/.gcf/omni_config, check out ProtoGENI AMs section.

OK. After this point, we are ready to log on to the nodes and do the CCNx network for sharing precipitation data experiments! :-)
Please go to Next: Run Experiment to checkout the instructions on running the experiment.

Create an Experimental Topology for LoadBalancing with OpenFlow

To create the Load Balancing Topology, simply follow the same steps as when you created the Fire Wall Topology.
1. Use Omni to create the topology:
Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/OpenFlowExampleExperiment/lb.rspec
Next, we need to create this experiment using the RSPEC file:

Step 1. Create slice (use a unique name for your slice): Here I am using OpenFlowLB

omni.py createslice OpenFlowLB

Step 2. Renew Slice (to make sure that your reservation does not expire before you finished your experiment, renew the slice to a specific time):

omni.py renewslice OpenFlowLB 20130521

Step 3. Create Sliver using lb.rspec:

omni.py createsliver -a pg-utah OpenFlowLB lb.rspec

Again, you can use the following command to show the reserved nodes as well as ways to login:

readyToLogin.py OpenFlowLB -a pg-utah

When the nodes are not ready, the status will be notready or changing. In this case, you simply have to wait then try the above command again.
Otherwise, the result is something like the following:

#========================================
#SSH CONFIGURATION INFO for User shufeng
#========================================
 
Host right
  Port 22
  HostName pc135.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host router
  Port 22
  HostName pc140.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host left
  Port 22
  HostName pc138.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 
 
Host switch
  Port 22
  HostName pc137.emulab.net
  User shufeng 
  IdentityFile /Users/shuang/.ssh/geni_key 

================================================================================
LOGIN INFO for AM: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0
================================================================================

right's geni_status is: ready (am_status:ready) 
User shufeng logins to right using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc135.emulab.net &

router's geni_status is: ready (am_status:ready) 
User shufeng logins to router using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc140.emulab.net &

left's geni_status is: ready (am_status:ready) 
User shufeng logins to left using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc138.emulab.net &

switch's geni_status is: ready (am_status:ready) 
User shufeng logins to switch using:
	xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc137.emulab.net &

Step 4. Renew the sliver:

omni.py renewsliver -a pg-utah OpenFlowLB 20130521

Note: When dealing with specific slivers, we need to add "-a pg-utah" to specify which aggregate manager we want to use (i.e., from where we want to reserve the resources). In our case here, we are using utah aggregate.
For a list of available aggregates, please see the file ~/.gcf/omni_config, check out ProtoGENI AMs section.

OK. After this point, we are ready to log on to the nodes and do the OpenFlow Load Balancing experiments! :-)
Please go to Next: Run Experiment to checkout the instructions on running the load balancing experiment.

Next: Run Experiment

Attachments (4)

Download all attachments as: .zip