Changes between Version 9 and Version 10 of GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/DesignSetup


Ignore:
Timestamp:
05/09/13 16:27:51 (6 years ago)
Author:
shuang@bbn.com
Comment:

--

Legend:

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

    v9 v10  
    1 = [wiki:GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout <TCP Assignment>] =
     1= [wiki:GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout <TCP ASSIGNMENT>] =
    22{{{
    33#!html
     
    1818}}}
    1919
    20 <The following is all done on a MAC Book> [[BR]]
     20= The following is all done on MAC OS X (ubuntu should be similar) =
    2121= STEPS FOR SETTING UP =
    2222''' Using Omni:''' [[BR]]
    23 '''0.''' Get account: (Ignore this if u already have one) [[BR]]
    24 Go to [https://www.pgeni.gpolab.bbn.com/reqaccount.php3] for emulab account and to join a GENI project.[[BR]]
     23'''0. Get account: (Ignore this if you already have one) [[BR]]'''
     24Go to [https://www.pgeni.gpolab.bbn.com/reqaccount.php3 Request_GENI_Account] for an emulab account and to join a GENI project.[[BR]]
    2525Apparently 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.
    2626
    27 '''1.''' Prepare Omni, follow instructions here: [http://trac.gpolab.bbn.com/gcf/wiki/GettingGcf] [[BR]]
     27'''1. Prepare Omni''' [[BR]]
     28Here is a very good tutorial on setting up Omni environment: [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] [[BR]]
    2829A small hint: make sure u have installed xcode before hand, if u are using MAC.[[BR]]
    2930An even better hint: use App store to install xcode, much faster :-)
    3031    Note: while compiling M2Crypto using "pip install M2Crypto", there are a lot of warnings, ignore them. [[BR]]
    31     Note: you need to change the first line of omni-configure.py to "#!/usr/local/bin/python" to make omni config work.
    32 
    33 '''2.''' Use Omni to create the topology: [[BR]]
     32    Note: you need to change the first line of omni-configure.py to "#!/usr/local/bin/python" to make omni config work. [[BR]]
     33    Note: you need to move readyToLogin.py from gcf/examples/ to gcf/src/ [[BR]]
     34    Note: it is recommended to change the first line of every .py file in the gcf/src directory to ''#!/usr/local/bin/python'' (on MAC OS X) [[BR]]
     35
     36'''2. Use Omni to create the topology: [[BR]]'''
    3437Download the RSPEC from http://www.cs.purdue.edu/homes/fahmy/geni/geni-tcp_exp.tar.gz [[BR]]
    35 Then do the following: [[BR]]
    36   Create slice:
    37 {{{
    38 omni.py createslice shufengTCP
    39 }}}
    40   Output should be something like the following:
     38untar the tar ball using:
     39{{{
     40tar xzvf geni-tcp_exp.tar.gz
     41}}}
     42The tar ball contains 3 files: Makefile    star.rspec   tcp_exp.c [[BR]]
     43'''star.rspec''' is the RSPEC file we need. [[BR]]
     44Next, we need to create this experiment using the RSPEC file: [[BR]]
     45  '''Step 1. Create slice (use a unique name for your slice):'''
     46{{{
     47omni.py createslice <slice name>
     48}}}
     49  Output should be something like the following (here I am using 'shufengTCP' as the sample slice name):
    4150{{{
    4251INFO:omni:Loading config file /Users/shuang/.gcf/omni_config
     
    5665INFO:omni: ============================================================
    5766}}}
    58   Renew Slice:
     67  '''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):'''
    5968{{{
    6069omni.py renewslice shufengTCP 20130509
     
    8089INFO:omni: ============================================================
    8190}}}
    82   Create Sliver using the rspec in the tar ball:
     91  '''Step 3. Create Sliver using star.rspec:'''
    8392{{{
    8493omni.py createsliver -a pg-utah shufengTCP star.rspec
     
    166175  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.
    167176  [[BR]]
    168   Renew the sliver:
     177  Alternatively, you can use the following command to show the reserved nodes as well as ways to login:
     178{{{
     179readyToLogin.py shufengTCP -a pg-utah
     180}}}
     181  The result is something like the following:
     182{{{
     183#========================================
     184#SSH CONFIGURATION INFO for User shufeng
     185#========================================
     186 
     187Host right
     188  Port 22
     189  HostName pc55.emulab.net
     190  User shufeng
     191  IdentityFile /Users/shuang/.ssh/geni_key
     192 
     193Host bottom
     194  Port 22
     195  HostName pc84.emulab.net
     196  User shufeng
     197  IdentityFile /Users/shuang/.ssh/geni_key
     198 
     199Host center
     200  Port 22
     201  HostName pc73.emulab.net
     202  User shufeng
     203  IdentityFile /Users/shuang/.ssh/geni_key
     204 
     205Host top
     206  Port 22
     207  HostName pc47.emulab.net
     208  User shufeng
     209  IdentityFile /Users/shuang/.ssh/geni_key
     210 
     211Host left
     212  Port 22
     213  HostName pc81.emulab.net
     214  User shufeng
     215  IdentityFile /Users/shuang/.ssh/geni_key
     216
     217================================================================================
     218LOGIN INFO for AM: https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0
     219================================================================================
     220
     221right's geni_status is: ready (am_status:ready)
     222User shufeng logins to right using:
     223        xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc55.emulab.net &
     224
     225bottom's geni_status is: ready (am_status:ready)
     226User shufeng logins to bottom using:
     227        xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc84.emulab.net &
     228
     229center's geni_status is: ready (am_status:ready)
     230User shufeng logins to center using:
     231        xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc73.emulab.net &
     232
     233top's geni_status is: ready (am_status:ready)
     234User shufeng logins to top using:
     235        xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc47.emulab.net &
     236
     237left's geni_status is: ready (am_status:ready)
     238User shufeng logins to left using:
     239        xterm -e ssh -i /Users/shuang/.ssh/geni_key shufeng@pc81.emulab.net &
     240}}}
     241  '''Step 4. Renew the sliver:'''
    169242{{{
    170243omni.py renewsliver -a pg-utah shufengTCP 20130509
     
    204277
    205278''' Using GENI Portal:'''[[BR]]
    206 '''0.''' As usual, get a GENI Portal account via: [https://panther.gpolab.bbn.com] [[BR]]
    207 
    208 '''1.''' Prepare Omni via: [http://trac.gpolab.bbn.com/gcf/wiki/GettingGcf][[BR]]
     279'''0. GET GENI Portal Account''' [[BR]]
     280As usual, get a GENI Portal account via: [https://panther.gpolab.bbn.com Portal Main Site] [[BR]]
     281Here is a very good tutorial on setting up GENI Portal account: [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/SetupAccount Setup_Portal_Account]
     282
     283'''1. Prepare Omni by following this tutorial: [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] [[BR]]'''
    209284As a result, if you have already installed omni, all u need to do now is to do "omni-configure.py -f portal" [[BR]]
    210285Apparently GENI Portal also uses Omni to control and manage GENI resources.
    211286
    212287'''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]]
    213 '''What I did is to save the GENI Portal key pair to another name, e.g., geni_key_portal and geni_key_portal.pub and use ssh -i ~/.ssh/geni_key_portal to log on the reserved nodes with GENI Portal account''' [[BR]]
    214 '''Question: Can we just use one Key? and one user account? There are toooooo many of them :-('''
    215 
    216 '''2.''' To my understanding, GENI Portal is a web-based graphical interface for using Omni. [[BR]]
    217 The using of GENI Portal is pretty straight forward, let's just follow the instructions here: [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/ObtainResources]
     288'''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''' [[BR]]
     289
     290'''2. Using GENI Portal to create the star topology''' [[BR]]
     291 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]]
     292 Step 2. Click your newly created slice, choose "add resources"
     293{{{
     294#!html
     295<table border="0">
     296      <tr>
     297        <td>
     298        <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/Graphics/addresources_utah_4.png?format=raw" alt="Create a GENI Project"  height="150" title="Create a GENI Project" /> </a>
     299       </td>
     300       <td >
     301         <ol>
     302           <li> <FONT COLOR="black">Go to the <i>Slice</i> page and press the <b>Add Resources</b> button. Complete the form as shown in the picture on the left and press the <b>Reserve Resources</b> button. </font>  Reserving the node at the aggregate may take a minute or two.  Do not reload the page or press the back button while waiting.</li>
     303         </ol>
     304       </td>
     305      </tr>
     306 </table>
     307}}}
    218308
    219309