= [wiki:GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout ] = {{{ #!html
Hello GENI index Hello GENI index Hello GENI index
}}} [[BR]] = STEPS FOR SETTING UP = ''' Using Omni:''' [[BR]] '''0.''' Get account: (Ignore this if u already have one) [[BR]] Go to [https://www.pgeni.gpolab.bbn.com/reqaccount.php3] for emulab account and to join a GENI project.[[BR]] 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, follow instructions here: [http://trac.gpolab.bbn.com/gcf/wiki/GettingGcf] [[BR]] A small hint: make sure u have installed xcode before hand, if u are using MAC.[[BR]] An even better hint: use App store to install xcode, much faster :-) Note: while compiling M2Crypto using "pip install M2Crypto", there are a lot of warnings, ignore them. [[BR]] Note: you need to change the first line of omni-configure.py to "#!/usr/local/bin/python" to make omni config work. '''2.''' Use Omni to create the topology: [[BR]] Download the RSPEC from http://www.cs.purdue.edu/homes/fahmy/geni/geni-tcp_exp.tar.gz [[BR]] Then do the following: [[BR]] Create slice: {{{ omni.py createslice shufengTCP }}} Output should be something like the following: {{{ INFO:omni:Loading config file /Users/shuang/.gcf/omni_config INFO:omni:Using control framework portal INFO:omni:Created slice with Name shufengTCP, URN urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP, Expiration 2013-05-08 21:17:05 INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createslice: Options as run: framework: portal project: ShufengProject Args: createslice shufengTCP Result Summary: Created slice with Name shufengTCP, URN urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP, Expiration 2013-05-08 21:17:05 INFO:omni: ============================================================ }}} Renew Slice: {{{ omni.py renewslice shufengTCP 20130509 }}} 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-05-09T00:00:00' INFO:omni:Slice shufengTCP now expires at 2013-05-09 00:00:00 UTC INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires within 1 day on 2013-05-09 00:00:00 UTC INFO:omni: ------------------------------------------------------------ INFO:omni: Completed renewslice: Options as run: framework: portal project: ShufengProject Args: renewslice shufengTCP 20130509 Result Summary: Slice shufengTCP now expires at 2013-05-09 00:00:00 UTC Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires within 1 day(s) on 2013-05-09 00:00:00 UTC INFO:omni: ============================================================ }}} Create Sliver using the rspec in the tar ball: {{{ omni.py createsliver -a pg-utah shufengTCP star.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+shufengTCP expires within 1 day on 2013-05-09 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 star.rspec for slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP INFO:omni: (PG log url - look here for details on any failures: https://www.emulab.net/spewlogfile.php3?logfile=03ab3733e54e717594433659b39ca150) INFO:omni:Got return from CreateSliver for slice shufengTCP at https://www.emulab.net:12369/protogeni/xmlrpc/am/2.0: INFO:omni: INFO:omni: INFO:omni: ------------------------------------------------------------ INFO:omni: Completed createsliver: Options as run: aggregate: ['pg-utah'] framework: portal project: ShufengProject Args: createsliver shufengTCP star.rspec Result Summary: Got Reserved resources RSpec from www-emulab-net-protogeniv2 INFO:omni: ============================================================ }}} 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. [[BR]] Renew the sliver: {{{ omni.py renewsliver -a pg-utah shufengTCP 20130509 }}} 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+shufengTCP expires within 1 day on 2013-05-09 00:00:00 UTC INFO:omni:Renewing Sliver shufengTCP until 2013-05-09 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 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). INFO:omni: ------------------------------------------------------------ INFO:omni: Completed renewsliver: Options as run: aggregate: ['pg-utah'] framework: portal project: ShufengProject Args: renewsliver shufengTCP 20130509 Result Summary: Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires within 1 day(s) on 2013-05-09 00:00:00 UTC 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). 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. OK. After this point, we are ready to log on to the nodes and do our experiments! :-) ''' Using GENI Portal:'''[[BR]] '''0.''' As usual, get a GENI Portal account via: [https://panther.gpolab.bbn.com] [[BR]] '''1.''' Prepare Omni via: [http://trac.gpolab.bbn.com/gcf/wiki/GettingGcf][[BR]] As a result, if you have already installed omni, all u need to do now is to do "omni-configure.py -f portal" [[BR]] Apparently GENI Portal also uses Omni to control and manage GENI resources. '''2.''' To my understanding, GENI Portal is a web-based graphical interface for using Omni. [[BR]] 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] = [wiki:GENIEducation/SampleAssignments/Template/ExerciseLayout/Execute Next: Run Experiment] =