Changes between Version 35 and Version 36 of GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/DesignSetup


Ignore:
Timestamp:
05/30/13 11:08:56 (6 years ago)
Author:
shuang@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/DesignSetup

    v35 v36  
    2020= STEPS FOR SETTING UP =
    2121''' Using Omni to get physical PCs from ProtoGENI:''' [[BR]]
    22 '''0. Get account: (Ignore this if you already have one) [[BR]]'''
    23 Go to [https://www.pgeni.gpolab.bbn.com/reqaccount.php3 Request_GENI_Account] for an emulab account and to join a GENI project.[[BR]]
    24 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.
     22 - 1. Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/tcp-pc.rspec
     23 - 2. Follow the tutorial on [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] to create the topology using tcp-pc.rspec on ProtoGENI or InstaGENI
     24  - 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.
     25 - 3. Log onto the reserved nodes following instructions here: [http://groups.geni.net/geni/wiki/HowTo/LoginToNodes LoginToNodes]
     26Done.
    2527
    26 '''1. Prepare Omni''' [[BR]]
    27 Here is a very good tutorial on setting up Omni environment: [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] [[BR]]
    28 Simply follow the tutorial to set up Omni.
    29 
    30 '''2. Use Omni to create the topology: [[BR]]'''
    31 Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/star.rspec [[BR]]
    32 Next, we need to create this experiment using the RSPEC file: [[BR]]
    33   '''Step 1. Create slice (use a unique name for your slice):'''
    34 {{{
    35 omni.py createslice <slice name>
    36 }}}
    37   Output should be something like the following (here I am using 'shufengTCP' as the sample slice name):
    38 {{{
    39 INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
    40 INFO:omni:Using control framework portal
    41 INFO:omni:Created slice with Name shufengTCP, URN urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP, Expiration 2013-05-08 21:17:05
    42 INFO:omni: ------------------------------------------------------------
    43 INFO:omni: Completed createslice:
    44 
    45   Options as run:
    46                 framework: portal
    47                 project: ShufengProject
    48 
    49   Args: createslice shufengTCP
    50 
    51   Result Summary: Created slice with Name shufengTCP, URN urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP, Expiration 2013-05-08 21:17:05
    52  
    53 INFO:omni: ============================================================
    54 }}}
    55   '''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):'''
    56 {{{
    57 omni.py renewslice shufengTCP 20130509
    58 }}}
    59   Output:
    60 {{{
    61 INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
    62 INFO:omni:Using control framework portal
    63 INFO:omni.pgch:Requesting new slice expiration '2013-05-09T00:00:00'
    64 INFO:omni:Slice shufengTCP now expires at 2013-05-09 00:00:00 UTC
    65 INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires within 1 day on 2013-05-09 00:00:00 UTC
    66 INFO:omni: ------------------------------------------------------------
    67 INFO:omni: Completed renewslice:
    68 
    69   Options as run:
    70                 framework: portal
    71                 project: ShufengProject
    72 
    73   Args: renewslice shufengTCP 20130509
    74 
    75   Result Summary: Slice shufengTCP now expires at 2013-05-09 00:00:00 UTC
    76 Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires within 1 day(s) on 2013-05-09 00:00:00 UTC
    77 INFO:omni: ============================================================
    78 }}}
    79   '''Step 3. Create Sliver using star.rspec:'''
    80 {{{
    81 omni.py createsliver -a pg-utah shufengTCP star.rspec
    82 }}}
    83   Output:
    84 {{{
    85 INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
    86 INFO:omni:Using control framework portal
    87 INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
    88 INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires within 1 day on 2013-05-09 00:00:00 UTC
    89 INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
    90 INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
    91 INFO:omni:Creating sliver(s) from rspec file star.rspec for slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP
    92 INFO:omni: (PG log url - look here for details on any failures: https://www.emulab.net/spewlogfile.php3?logfile=03ab3733e54e717594433659b39ca150)
    93 INFO:omni:Got return from CreateSliver for slice shufengTCP at https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0:
    94 INFO:omni:<!-- Reserved resources for:
    95         Slice: shufengTCP
    96         at AM:
    97         URN: unspecified_AM_URN
    98         URL: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0
    99  -->
    100 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">
    101 <node client_id="center" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc73" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+127723">
    102     <sliver_type name="raw-pc">
    103         <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops//FEDORA10-STD"/>
    104     </sliver_type>
    105     <interface client_id="center:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc73:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+127730" mac_address="00034794bc44"><ip address="10.10.1.2" type="ipv4"/></interface>
    106     <interface client_id="center:if1" component_id="urn:publicid:IDN+emulab.net+interface+pc73:eth0" sliver_id="urn:publicid:IDN+emulab.net+sliver+127733" mac_address="00034773942f"><ip address="10.10.2.2" type="ipv4"/></interface>
    107     <interface client_id="center:if2" component_id="urn:publicid:IDN+emulab.net+interface+pc73:eth1" sliver_id="urn:publicid:IDN+emulab.net+sliver+127736" mac_address="000347739430"><ip address="10.10.3.2" type="ipv4"/></interface>
    108     <interface client_id="center:if3" component_id="urn:publicid:IDN+emulab.net+interface+pc73:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+127739" mac_address="0002b335e0a5"><ip address="10.10.4.2" type="ipv4"/></interface>
    109 <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc73"/><host name="center.shufengTCP.panther.emulab.net"/><services><login authentication="ssh-keys" hostname="pc73.emulab.net" port="22" username="shufeng"/></services></node>
    110 <node client_id="left" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc81" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+127725">
    111     <sliver_type name="raw-pc">
    112         <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops//FEDORA10-STD"/>
    113     </sliver_type>
    114     <interface client_id="left:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc81:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+127729" mac_address="0002b33f7333"><ip address="10.10.1.1" type="ipv4"/></interface>
    115 <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc81"/><host name="left.shufengTCP.panther.emulab.net"/><services><login authentication="ssh-keys" hostname="pc81.emulab.net" port="22" username="shufeng"/></services></node>
    116 <node client_id="right" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc55" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+127724">
    117     <sliver_type name="raw-pc">
    118         <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops//FEDORA10-STD"/>
    119     </sliver_type> <interface client_id="right:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc55:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+127732" mac_address="0002b33f7449"><ip address="10.10.2.1" type="ipv4"/></interface>
    120 <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc55"/><host name="right.shufengTCP.panther.emulab.net"/><services><login authentication="ssh-keys" hostname="pc55.emulab.net" port="22" username="shufeng"/></services></node>
    121 <link client_id="leftLink" sliver_id="urn:publicid:IDN+emulab.net+sliver+127728" vlantag="260">
    122     <interface_ref client_id="left:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc81:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+127729"/>
    123     <interface_ref client_id="center:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc73:eth4" sliver_id="urn:publicid:IDN+emulab.net+sliver+127730"/>
    124 </link>
    125 <link client_id="rightLink" sliver_id="urn:publicid:IDN+emulab.net+sliver+127731" vlantag="284">
    126     <interface_ref client_id="right:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc55:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+127732"/>
    127     <interface_ref client_id="center:if1" component_id="urn:publicid:IDN+emulab.net+interface+pc73:eth0" sliver_id="urn:publicid:IDN+emulab.net+sliver+127733"/>
    128 </link>
    129 <node client_id="top" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc47" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+127722">
    130     <sliver_type name="raw-pc">
    131         <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops//FEDORA10-STD"/>
    132     </sliver_type>
    133     <interface client_id="top:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc47:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+127735" mac_address="0002b33f73e7"><ip address="10.10.3.1" type="ipv4"/></interface>
    134 <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc47"/><host name="top.shufengTCP.panther.emulab.net"/><services><login authentication="ssh-keys" hostname="pc47.emulab.net" port="22" username="shufeng"/></services></node>
    135 <node client_id="bottom" exclusive="true" component_id="urn:publicid:IDN+emulab.net+node+pc84" component_manager_id="urn:publicid:IDN+emulab.net+authority+cm" sliver_id="urn:publicid:IDN+emulab.net+sliver+127726">
    136     <sliver_type name="raw-pc">
    137         <disk_image name="urn:publicid:IDN+emulab.net+image+emulab-ops//FEDORA10-STD"/>
    138     </sliver_type>
    139     <interface client_id="bottom:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc84:eth1" sliver_id="urn:publicid:IDN+emulab.net+sliver+127738" mac_address="00034773a1f4"><ip address="10.10.4.1" type="ipv4"/></interface>
    140 <rs:vnode xmlns:rs="http://www.protogeni.net/resources/rspec/ext/emulab/1" name="pc84"/><host name="bottom.shufengTCP.panther.emulab.net"/><services><login authentication="ssh-keys" hostname="pc84.emulab.net" port="22" username="shufeng"/></services></node>
    141 <link client_id="topLink" sliver_id="urn:publicid:IDN+emulab.net+sliver+127734" vlantag="290">
    142     <interface_ref client_id="top:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc47:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+127735"/>
    143     <interface_ref client_id="center:if2" component_id="urn:publicid:IDN+emulab.net+interface+pc73:eth1" sliver_id="urn:publicid:IDN+emulab.net+sliver+127736"/>
    144 </link>
    145 <link client_id="bottomLink" sliver_id="urn:publicid:IDN+emulab.net+sliver+127737" vlantag="262">
    146     <interface_ref client_id="bottom:if0" component_id="urn:publicid:IDN+emulab.net+interface+pc84:eth1" sliver_id="urn:publicid:IDN+emulab.net+sliver+127738"/>
    147     <interface_ref client_id="center:if3" component_id="urn:publicid:IDN+emulab.net+interface+pc73:eth3" sliver_id="urn:publicid:IDN+emulab.net+sliver+127739"/>
    148 </link>
    149 </rspec>
    150 INFO:omni: ------------------------------------------------------------
    151 INFO:omni: Completed createsliver:
    152 
    153   Options as run:
    154                 aggregate: ['pg-utah']
    155                 framework: portal
    156                 project: ShufengProject
    157 
    158   Args: createsliver shufengTCP star.rspec
    159 
    160   Result Summary: Got Reserved resources RSpec from www-emulab-net-protogeniv2
    161 INFO:omni: ============================================================
    162 }}}
    163   The above output shows the reserved nodes: pc73, pc81, pc55, pc47, pc84 and how they are connected. In this case, pc73 is the central node of the star topology.
    164   [[BR]]
    165   Alternatively, you can use the following command to show the reserved nodes as well as ways to login:
    166 {{{
    167 readyToLogin.py shufengTCP -a pg-utah
    168 }}}
    169   The result is something like the following:
    170 {{{
    171 #========================================
    172 #SSH CONFIGURATION INFO for User shufeng
    173 #========================================
    174  
    175 Host right
    176   Port 22
    177   HostName pc55.emulab.net
    178   User shufeng
    179   IdentityFile /Users/shuang/.ssh/geni_key
    180  
    181 Host bottom
    182   Port 22
    183   HostName pc84.emulab.net
    184   User shufeng
    185   IdentityFile /Users/shuang/.ssh/geni_key
    186  
    187 Host center
    188   Port 22
    189   HostName pc73.emulab.net
    190   User shufeng
    191   IdentityFile /Users/shuang/.ssh/geni_key
    192  
    193 Host top
    194   Port 22
    195   HostName pc47.emulab.net
    196   User shufeng
    197   IdentityFile /Users/shuang/.ssh/geni_key
    198  
    199 Host left
    200   Port 22
    201   HostName pc81.emulab.net
    202   User shufeng
    203   IdentityFile /Users/shuang/.ssh/geni_key
    204 
    205 ================================================================================
    206 LOGIN INFO for AM: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0
    207 ================================================================================
    208 
    209 right's geni_status is: ready (am_status:ready)
    210 User shufeng logins to right using:
    211         xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc55.emulab.net &
    212 
    213 bottom's geni_status is: ready (am_status:ready)
    214 User shufeng logins to bottom using:
    215         xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc84.emulab.net &
    216 
    217 center's geni_status is: ready (am_status:ready)
    218 User shufeng logins to center using:
    219         xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc73.emulab.net &
    220 
    221 top's geni_status is: ready (am_status:ready)
    222 User shufeng logins to top using:
    223         xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc47.emulab.net &
    224 
    225 left's geni_status is: ready (am_status:ready)
    226 User shufeng logins to left using:
    227         xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc81.emulab.net &
    228 }}}
    229   '''Step 4. Renew the sliver:'''
    230 {{{
    231 omni.py renewsliver -a pg-utah shufengTCP 20130509
    232 }}}
    233   Output:
    234 {{{
    235 INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
    236 INFO:omni:Using control framework portal
    237 INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
    238 INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires within 1 day on 2013-05-09 00:00:00 UTC
    239 INFO:omni:Renewing Sliver shufengTCP until 2013-05-09 00:00:00+00:00 (UTC)
    240 INFO:omni:Substituting AM nickname pg-utah with URL https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0, URN unspecified_AM_URN
    241 WARNING:omni:Failed to renew sliver urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP on unspecified_AM_URN (https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0) (got result 'None'). Error from Aggregate: code 14. protogeni AM code: 14: slice is busy; try again later (PG log url - look here for details on any failures: https://www.emulab.net/spewlogfile.php3?logfile=daae02988bdac3f0d008b48b6397e0fb).
    242 INFO:omni: ------------------------------------------------------------
    243 INFO:omni: Completed renewsliver:
    244 
    245   Options as run:
    246                 aggregate: ['pg-utah']
    247                 framework: portal
    248                 project: ShufengProject
    249 
    250   Args: renewsliver shufengTCP 20130509
    251 
    252   Result Summary: Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires within 1 day(s) on 2013-05-09 00:00:00 UTC
    253 Failed to renew sliver urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP on unspecified_AM_URN (https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0) (got result 'None'). Error from Aggregate: code 14. protogeni AM code: 14: slice is busy; try again later (PG log url - look here for details on any failures: https://www.emulab.net/spewlogfile.php3?logfile=daae02988bdac3f0d008b48b6397e0fb).
    254  
    255 INFO:omni: ============================================================
    256 }}}
    257   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.
    258 
    259 OK. After this point, we are ready to log on to the nodes and do our experiments! :-)
    260 
    261 
    262 
    263 
    264 
    265 
    266 ''' Using GENI Portal to get virtual machines from instaGENI:'''[[BR]]
    267 '''0. GET GENI Portal Account''' [[BR]]
    268 As usual, get a GENI Portal account via: [https://panther.gpolab.bbn.com Portal Main Site] [[BR]]
    269 Here is a very good tutorial on setting up GENI Portal account: [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/SetupAccount Setup_Portal_Account]
    270 
    271 '''1. Prepare Omni by following this tutorial: [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] [[BR]]'''
    272 As a result, if you have already installed omni, all u need to do now is to do "omni-configure.py -f portal" [[BR]]
    273 Apparently GENI Portal also uses Omni to control and manage GENI resources.
    274 
    275 '''Very Important: using omni-configure.py -f portal will over-write ~/.ssh/geni_key and ~/.ssh/geni_key.pub. The result is, user can not login the reserved nodes using their omni keys (the original geni_key pair)''' [[BR]]
    276 '''So, the simplest way to deal with this is, over-write the public/private keys. i.e., type 'Y' when prompt asks whether you want to replace the two files. Then use portal credentials to reserve resources.''' [[BR]]
    277 
    278 '''2. Using GENI Portal to create the star topology''' [[BR]]
    279  Step 1. Log in to your Portal account, and then create a slice using the "create slice" button. Note that you should give your slice a unique name. Here I used "shufengPortalTCP" [[BR]]
    280  Step 2. Click your newly created slice, choose "add resources"
    281   [[Image(addResource.png, 40%)]]
    282  Step 3. Pick '''TCP Assignment - Virtual Machine''' in the drop-down box right to "Choose Resources" [[BR]]
    283   The rspec file that is used can be found at http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/star-vm.rspec [[BR]]
    284  And choose an Aggregate, in our case, we choose "GPO instaGENI", then click "Reserve Resources" [[BR]]
    285  This particular RSPEC file will reserve a 5 virtual machines forming a star topology as described earlier. [[BR]]
    286   [[Image(selectRspec.png, 40%)]]
    287  Step 4. If there is no error(s), the output should be as follows. Note that at this point the nodes are not ready yet. [[BR]]
    288   [[Image(reserveResource.png, 40%)]]
    289  Step 5. Go back to the slice page and wait until the slivers are ready. [[BR]]
    290  Since we reserved our nodes from GPO instaGENI, we only need to click the "get status" button on GPO instaGENI column. [[BR]]
    291  A note of "READY" with green background means the slivers are ready. (Do not forget to renew your slice after it is ready). See:
    292   [[Image(sliceReady.png, 40%)]]
    293  Step 6. Click "Details" button to get the detailed information, including the ways to login each nodes and then start to do your experiment! [[BR]]
    294   [[Image(reserveResource.png, 40%)]]
    295 
    296 
    297 
    298 
     28''' Using GENI Portal to get Virtual Machines from instaGENI:'''[[BR]]
     29 - 1. Follow the tutorial on [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/SetupAccount SetupAccount] to get a GENI Portal Account
     30 - 2. Follow the instructions on [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/ObtainResources ObtainResources] to reserve a topology on GENI Portal
     31  - Note: choose resource `tcp-openvz` as the rspec
     32 - 3. Log onto the reserved nodes following instructions here: [http://groups.geni.net/geni/wiki/HowTo/LoginToNodes LoginToNodes]
     33Done.
    29934
    30035''' Using Omni to get virtual machines from '''ExoGENI''':''' [[BR]]
    301 '''0. Get account: (Ignore this if you already have one) [[BR]]'''
    302 Go to [https://www.pgeni.gpolab.bbn.com/reqaccount.php3 Request_GENI_Account] for an emulab account and to join a GENI project.[[BR]]
    303 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.
    304 
    305 '''1. Prepare Omni''' [[BR]]
    306 Here is a very good tutorial on setting up Omni environment: [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] [[BR]]
    307 Simply follow the tutorial to set up Omni.
    308 
    309 '''2. Use Omni to create the topology: [[BR]]'''
    310 Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/star-exo-vm.rspec [[BR]]
    311  - '''Note:''' If we compare the RSPEC we used here to reserve nodes from ExoGENI with the RSPEC we used [http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/star-vm.rspec here] to reserve nodes from InstaGENI, we can find the following difference:
    312     - slivertype. For InstaGENI, it is `emulab-openvz`; For ExoGENI, it is `m1.small`. In fact, there are a handful of virtual machine types available for users to choose from. Check out this [https://wiki.exogeni.net/doku.php?id=public:experimenters:resource_types:start Link]
    313     - disk_image. For InstaGENI, the user does not need to specify a disk_image, it automatically chooses a default one (a version of Fedora Core). For ExoGENI, the user have to specify one. Again, we have a handful of choices, see [https://wiki.exogeni.net/doku.php?id=public:experimenters:images this link].
    314     - interface. Since ExoGENI provides KVM VMs, the user needs to manually define the IP address of each interface on each ExoGENI nodes.
    315     - boot up execution scripts. When nodes are up in ExoGENI, the interfaces are not yet configured. ExoGENI relies on a `neuca` service to configure those interfaces. Unfortunately, this `neuca` service will over-write any network configurations once in a while. So the best way right now is to stop `neuca` service when the interfaces are up and running. The execution scripts help to detect whether interfaces are up then stops neuca service. Interested users can download the scripts and take a look.
    316     - xml header.
    317 
    318 Next, we need to create this experiment using the RSPEC file: [[BR]]
    319   '''Step 1. Create slice (use a unique name for your slice):'''
    320 {{{
    321 omni.py createslice <slice name>
    322 }}}
    323   Output should be something like the following (here I am using 'shufengTCP' as the sample slice name):
    324 {{{
    325 INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
    326 INFO:omni:Using control framework portal
    327 INFO:omni:Created slice with Name shufengTCP, URN urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP, Expiration 2013-05-15 02:11:03
    328 INFO:omni: ------------------------------------------------------------
    329 INFO:omni: Completed createslice:
    330 
    331   Options as run:
    332                 framework: portal
    333                 project: ShufengProject
    334 
    335   Args: createslice shufengTCP
    336 
    337   Result Summary: Created slice with Name shufengTCP, URN urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP, Expiration 2013-05-15 02:11:03
    338  
    339 INFO:omni: ============================================================
    340 }}}
    341   '''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):'''
    342 {{{
    343 omni.py renewslice shufengTCP 20130516
    344 }}}
    345   Output:
    346 {{{
    347 INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
    348 INFO:omni:Using control framework portal
    349 INFO:omni.pgch:Requesting new slice expiration '2013-05-16T00:00:00'
    350 INFO:omni:Slice shufengTCP now expires at 2013-05-16 00:00:00 UTC
    351 INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-16 00:00:00 UTC
    352 INFO:omni: ------------------------------------------------------------
    353 INFO:omni: Completed renewslice:
    354 
    355   Options as run:
    356                 framework: portal
    357                 project: ShufengProject
    358 
    359   Args: renewslice shufengTCP 20130516
    360 
    361   Result Summary: Slice shufengTCP now expires at 2013-05-16 00:00:00 UTC
    362 Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-16 00:00:00 UTC
    363 INFO:omni: ============================================================
    364 }}}
    365   '''Step 3. Create Sliver using star-exo-vm.rspec:''' [[BR]]
    366   Here we used eg-gpo as the aggregate manager because we want to reserve resources from ExoGENI. [[BR]]
    367   Any aggregate manager name that starts with `eg` indicates that it is an ExoGENI aggregate. For more aggregate manager names you can check out ~/.gcf/omni_config
    368 {{{
    369 omni.py createsliver -a eg-gpo shufengTCP star-exo-vm.rspec
    370 }}}
    371   Output:
    372 {{{
    373 INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
    374 INFO:omni:Using control framework portal
    375 INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN
    376 INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-21 00:00:00 UTC
    377 INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN
    378 INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN
    379 INFO:omni:Creating sliver(s) from rspec file star-exo-vm.rspec for slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP
    380 INFO:omni:Got return from CreateSliver for slice shufengTCP at https://bbn-hn.exogeni.net:11443/orca/xmlrpc:
    381 INFO:omni:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    382 INFO:omni:  <!-- Reserved resources for:
    383         Slice: shufengTCP
    384         at AM:
    385         URN: unspecified_AM_URN
    386         URL: https://bbn-hn.exogeni.net:11443/orca/xmlrpc
    387  -->
    388 INFO:omni: 
    389 <rspec type="manifest" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/manifest.xsd http://hpn.east.isi.edu/rspec/ext/stitch/0.1/ http://hpn.east.isi.edu/rspec/ext/stitch/0.1/stitch-schema.xsd http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/slice-info/1 http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/slice-info/1/slice_info.xsd?format=raw http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/sliver-info/1 http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/sliver-info/1/sliver_info.xsd?format=raw" xmlns:ns2="http://hpn.east.isi.edu/rspec/ext/stitch/0.1/" xmlns="http://www.geni.net/resources/rspec/3" xmlns:ns4="http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/sliver-info/1" xmlns:ns3="http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/slice-info/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    390     <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+03a3f20d-9111-4ed0-97ba-c6551c3a86d4#right" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="right">
    391         <sliver_type name="m1.small">
    392             <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/>
    393         </sliver_type>
    394         <services>
    395             <execute command="#!/bin/bash
    396 # Automatically generated boot script
    397 
    398 # wget or curl must be installed on the image
    399 cd /tmp
    400 if [ -x `which wget 2&amp;gt;/dev/null` ]; then
    401   wget -q http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz
    402 else if [ -x `which curl 2&amp;gt;/dev/null` ]; then
    403   curl http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz &amp;gt; `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz`
    404 fi
    405 fi
    406 # untar
    407 tar -zxf `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz`
    408 execString=&amp;quot;/bin/bash -c \&amp;quot;/tmp/changeRoute.sh 10.10.2.1\&amp;quot;&amp;quot;
    409 eval $execString
    410 
    411 "/>
    412         </services>
    413         <interface client_id="right:if0">
    414             <ip type="ipv4" netmask="255.255.255.0" address="10.10.2.2"/>
    415         </interface>
    416         <ns4:geni_sliver_info state="Ticketed" start_time="2013-05-17T15:01:59.611Z" expiration_time="2013-05-18T15:01:59.611Z" creation_time="2013-05-17T15:01:59.611Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/>
    417     </node>
    418     <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+03a3f20d-9111-4ed0-97ba-c6551c3a86d4#top" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="top">
    419         <sliver_type name="m1.small">
    420             <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/>
    421         </sliver_type>
    422         <services>
    423             <execute command="#!/bin/bash
    424 # Automatically generated boot script
    425 
    426 # wget or curl must be installed on the image
    427 cd /tmp
    428 if [ -x `which wget 2&amp;gt;/dev/null` ]; then
    429   wget -q http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz
    430 else if [ -x `which curl 2&amp;gt;/dev/null` ]; then
    431   curl http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz &amp;gt; `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz`
    432 fi
    433 fi
    434 # untar
    435 tar -zxf `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz`
    436 execString=&amp;quot;/bin/bash -c \&amp;quot;/tmp/changeRoute.sh 10.10.3.1\&amp;quot;&amp;quot;
    437 eval $execString
    438 
    439 "/>
    440         </services>
    441         <interface client_id="top:if0">
    442             <ip type="ipv4" netmask="255.255.255.0" address="10.10.3.2"/>
    443         </interface>
    444         <ns4:geni_sliver_info state="Ticketed" start_time="2013-05-17T15:01:59.611Z" expiration_time="2013-05-18T15:01:59.611Z" creation_time="2013-05-17T15:01:59.611Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/>
    445     </node>
    446     <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+03a3f20d-9111-4ed0-97ba-c6551c3a86d4#bottom" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="bottom">
    447         <sliver_type name="m1.small">
    448             <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/>
    449         </sliver_type>
    450         <services>
    451             <execute command="#!/bin/bash
    452 # Automatically generated boot script
    453 
    454 # wget or curl must be installed on the image
    455 cd /tmp
    456 if [ -x `which wget 2&amp;gt;/dev/null` ]; then
    457   wget -q http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz
    458 else if [ -x `which curl 2&amp;gt;/dev/null` ]; then
    459   curl http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz &amp;gt; `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz`
    460 fi
    461 fi
    462 # untar
    463 tar -zxf `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz`
    464 execString=&amp;quot;/bin/bash -c \&amp;quot;/tmp/changeRoute.sh 10.10.4.1\&amp;quot;&amp;quot;
    465 eval $execString
    466 
    467 "/>
    468         </services>
    469         <interface client_id="bottom:if0">
    470             <ip type="ipv4" netmask="255.255.255.0" address="10.10.4.2"/>
    471         </interface>
    472         <ns4:geni_sliver_info state="Ticketed" start_time="2013-05-17T15:01:59.611Z" expiration_time="2013-05-18T15:01:59.611Z" creation_time="2013-05-17T15:01:59.611Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/>
    473     </node>
    474     <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+03a3f20d-9111-4ed0-97ba-c6551c3a86d4#center" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="center">
    475         <sliver_type name="m1.small">
    476             <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/>
    477         </sliver_type>
    478         <services>
    479             <execute command="#!/bin/bash
    480 # Automatically generated boot script
    481 
    482 # wget or curl must be installed on the image
    483 cd /tmp
    484 if [ -x `which wget 2&amp;gt;/dev/null` ]; then
    485   wget -q http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/enableIPFwd.tar.gz
    486 else if [ -x `which curl 2&amp;gt;/dev/null` ]; then
    487   curl http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/enableIPFwd.tar.gz &amp;gt; `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/enableIPFwd.tar.gz`
    488 fi
    489 fi
    490 # untar
    491 tar -zxf `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/enableIPFwd.tar.gz`
    492 execString=&amp;quot;/bin/bash -c \&amp;quot;/tmp/enableIPFwd.sh\&amp;quot;&amp;quot;
    493 eval $execString
    494 
    495 "/>
    496         </services>
    497         <interface client_id="center:if0">
    498             <ip type="ipv4" netmask="255.255.255.0" address="10.10.1.1"/>
    499         </interface>
    500         <interface client_id="center:if2">
    501             <ip type="ipv4" netmask="255.255.255.0" address="10.10.3.1"/>
    502         </interface>
    503         <interface client_id="center:if1">
    504             <ip type="ipv4" netmask="255.255.255.0" address="10.10.2.1"/>
    505         </interface>
    506         <interface client_id="center:if3">
    507             <ip type="ipv4" netmask="255.255.255.0" address="10.10.4.1"/>
    508         </interface>
    509         <ns4:geni_sliver_info state="Ticketed" start_time="2013-05-17T15:01:59.611Z" expiration_time="2013-05-18T15:01:59.611Z" creation_time="2013-05-17T15:01:59.611Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/>
    510     </node>
    511     <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+03a3f20d-9111-4ed0-97ba-c6551c3a86d4#left" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="left">
    512         <sliver_type name="m1.small">
    513             <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/>
    514         </sliver_type>
    515         <services>
    516             <execute command="#!/bin/bash
    517 # Automatically generated boot script
    518 
    519 # wget or curl must be installed on the image
    520 cd /tmp
    521 if [ -x `which wget 2&amp;gt;/dev/null` ]; then
    522   wget -q http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz
    523 else if [ -x `which curl 2&amp;gt;/dev/null` ]; then
    524   curl http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz &amp;gt; `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz`
    525 fi
    526 fi
    527 # untar
    528 tar -zxf `basename http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/changeRoute.tar.gz`
    529 execString=&amp;quot;/bin/bash -c \&amp;quot;/tmp/changeRoute.sh 10.10.1.1\&amp;quot;&amp;quot;
    530 eval $execString
    531 
    532 "/>
    533         </services>
    534         <interface client_id="left:if0">
    535             <ip type="ipv4" netmask="255.255.255.0" address="10.10.1.2"/>
    536         </interface>
    537         <ns4:geni_sliver_info state="Ticketed" start_time="2013-05-17T15:01:59.611Z" expiration_time="2013-05-18T15:01:59.611Z" creation_time="2013-05-17T15:01:59.611Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/>
    538     </node>
    539     <link vlantag="unknown" sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+03a3f20d-9111-4ed0-97ba-c6551c3a86d4#leftLink" client_id="leftLink">
    540         <interface_ref client_id="left:if0"/>
    541         <interface_ref client_id="center:if0"/>
    542         <ns4:geni_sliver_info state="Ticketed" start_time="2013-05-17T15:01:59.611Z" expiration_time="2013-05-18T15:01:59.611Z" creation_time="2013-05-17T15:01:59.611Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/>
    543     </link>
    544     <link vlantag="unknown" sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+03a3f20d-9111-4ed0-97ba-c6551c3a86d4#rightLink" client_id="rightLink">
    545         <interface_ref client_id="center:if1"/>
    546         <interface_ref client_id="right:if0"/>
    547         <ns4:geni_sliver_info state="Ticketed" start_time="2013-05-17T15:01:59.611Z" expiration_time="2013-05-18T15:01:59.611Z" creation_time="2013-05-17T15:01:59.611Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/>
    548     </link>
    549     <link vlantag="unknown" sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+03a3f20d-9111-4ed0-97ba-c6551c3a86d4#bottomLink" client_id="bottomLink">
    550         <interface_ref client_id="center:if3"/>
    551         <interface_ref client_id="bottom:if0"/>
    552         <ns4:geni_sliver_info state="Ticketed" start_time="2013-05-17T15:01:59.611Z" expiration_time="2013-05-18T15:01:59.611Z" creation_time="2013-05-17T15:01:59.611Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/>
    553     </link>
    554     <link vlantag="unknown" sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+03a3f20d-9111-4ed0-97ba-c6551c3a86d4#topLink" client_id="topLink">
    555         <interface_ref client_id="center:if2"/>
    556         <interface_ref client_id="top:if0"/>
    557         <ns4:geni_sliver_info state="Ticketed" start_time="2013-05-17T15:01:59.611Z" expiration_time="2013-05-18T15:01:59.611Z" creation_time="2013-05-17T15:01:59.611Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/>
    558     </link>
    559     <ns3:geni_slice_info state="configuring" uuid="8a4460fe-6bba-4c97-a514-fe4395d07891" urn="urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP"/>
    560 </rspec>
    561 
    562 INFO:omni: ------------------------------------------------------------
    563 INFO:omni: Completed createsliver:
    564 
    565   Options as run:
    566                 aggregate: ['eg-gpo']
    567                 framework: portal
    568                 project: ShufengProject
    569 
    570   Args: createsliver shufengTCP star-exo-vm.rspec
    571 
    572   Result Summary: Got Reserved resources RSpec from bbn-hn-exogeni-net-11443-orca
    573 INFO:omni: ============================================================
    574 }}}
    575   Note here that unlike instaGENI, the above output does not show any login information.
    576   [[BR]]
    577   For the time this page is created, the only way to get login information to access ExoGENI node is via:
    578 {{{
    579 readyToLogin.py shufengTCP -a eg-gpo
    580 }}}
    581   The result is something like the following (Note that depends on the number of resources/nodes you reserved, you might wait for several minutes before you can see the following):
    582 {{{
    583 #========================================
    584 #SSH CONFIGURATION INFO for User root
    585 #========================================
    586  
    587 Host right
    588   Port 22
    589   HostName 192.1.242.66
    590   User root
    591   IdentityFile /Users/shuang/.ssh/geni_key
    592  
    593 Host top
    594   Port 22
    595   HostName 192.1.242.68
    596   User root
    597   IdentityFile /Users/shuang/.ssh/geni_key
    598  
    599 Host bottom
    600   Port 22
    601   HostName 192.1.242.65
    602   User root
    603   IdentityFile /Users/shuang/.ssh/geni_key
    604  
    605 Host center
    606   Port 22
    607   HostName 192.1.242.67
    608   User root
    609   IdentityFile /Users/shuang/.ssh/geni_key
    610  
    611 Host left
    612   Port 22
    613   HostName 192.1.242.64
    614   User root
    615   IdentityFile /Users/shuang/.ssh/geni_key
    616 
    617 ================================================================================
    618 LOGIN INFO for AM: https://bbn-hn.exogeni.net:11443/orca/xmlrpc
    619 ================================================================================
    620 User root logins to right using:
    621         xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.66 &
    622 User root logins to top using:
    623         xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.68 &
    624 User root logins to bottom using:
    625         xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.65 &
    626 User root logins to center using:
    627         xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.67 &
    628 User root logins to left using:
    629         xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.64 &
    630 }}}
    631   '''Step 4. Renew the sliver:'''
    632 {{{
    633 omni.py renewsliver -a eg-gpo shufengTCP 20130516
    634 }}}
    635   Output:
    636 {{{
    637 INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
    638 INFO:omni:Using control framework portal
    639 INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN
    640 INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-16 00:00:00 UTC
    641 INFO:omni:Renewing Sliver shufengTCP until 2013-05-16 00:00:00+00:00 (UTC)
    642 INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN
    643 INFO:omni:Renewed sliver urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP at unspecified_AM_URN (https://bbn-hn.exogeni.net:11443/orca/xmlrpc) until 2013-05-16T00:00:00+00:00 (UTC)
    644 INFO:omni: ------------------------------------------------------------
    645 INFO:omni: Completed renewsliver:
    646 
    647   Options as run:
    648                 aggregate: ['eg-gpo']
    649                 framework: portal
    650                 project: ShufengProject
    651 
    652   Args: renewsliver shufengTCP 20130516
    653 
    654   Result Summary: Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-16 00:00:00 UTC
    655 Renewed sliver urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP at unspecified_AM_URN (https://bbn-hn.exogeni.net:11443/orca/xmlrpc) until 2013-05-16T00:00:00+00:00 (UTC)
    656  
    657 INFO:omni: ============================================================
    658 }}}
    659   Note: When dealing with specific slivers, we need to add "-a eg-gpo" 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 ExoGENI Rack at GPO.
    660 
    661  '''Again, you can do all the above through GENI Portal. The name for the RSPEC on GENI Portal is called `TCP Assignment - ExoGENI Virtual Machine` '''
     36 - 1. Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/tcp-kvm.rspec
     37 - 2. Follow the tutorial on [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] to create the topology using tcp-pc.rspec on ExoGENI
     38  - Note: When dealing with specific slivers, we need to add "-a eg-gpo" 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 ExoGENI resource at GPO.
     39 - 3. Log onto the reserved nodes following instructions here: [http://groups.geni.net/geni/wiki/HowTo/LoginToNodes LoginToNodes]
     40Done.
    66241
    66342
     
    68362 '''Note that the nodes are ready to login does not mean the interfaces are up and well configured. Users may need to wait for up to 5 minutes after nodes are up. '''
    68463 
    685 '''Enable IP forwarding and configure routing tables -- you can omit this step since the rspec has already done it for you :-)'''
    686  This is a very important step in terms of using ExoGENI. [[BR]]
    687  Since ExoGENI does not automatically configure IP address/routing table/IP forwarding for the user (unlike protoGENI and InstaGENI), the user needs to do it manually. [[BR]]
    688  Step 1. enable IP forwarding on center node (we need to first stop a routine that over-write any network configurations in ExoGENI node): [[BR]]
    689  On center node, run the following:
    690 {{{
    691  /etc/init.d/neuca stop
    692  sysctl -w net.ipv4.ip_forward=1
    693 }}}
    694  Step 2. configure default routes on the rest node:
    695  On left node, run the following:
    696 {{{
    697  route add -net 172.16.0.0/16 gw 172.16.2.1
    698 }}}
    699  On right node, run the following:
    700 {{{
    701  route add -net 172.16.0.0/16 gw 172.16.3.1
    702 }}}
    703  On top node, run the following:
    704 {{{
    705  route add -net 172.16.0.0/16 gw 172.16.4.1
    706 }}}
    707  On bottom node, run the following:
    708 {{{
    709  route add -net 172.16.0.0/16 gw 172.16.5.1
    710 }}}
    711  After these steps, we can start to do the experiments on ExoGENI virtual machines!
    71264
    71365'''Difference between ExoGENI, InstaGENI and ProtoGENI in terms of using:''' [[BR]]