Changes between Version 6 and Version 7 of DesktopExoGeni


Ignore:
Timestamp:
Mar 3, 2014 5:21:53 PM (6 years ago)
Author:
faber
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DesktopExoGeni

    v6 v7  
    2828== Connecting a Single ExoGENI node to a DETER Experiment ==
    2929
     30This section is a tutorial description of setting up a federated experiment to an ExoGENI node.
     31
     32=== Configuring ExoGENI ===
     33
    3034The simplest form of lightweight federation is to conect a single ExoGNEI node to a deter experiment.  We do this by creating a single-node ExoGENI slide that runs teh federation software and connecting a DETER experiment to it when that experiment is created.
    3135
     
    5559
    5660There are some detailed debugging messages that libraries and other dependent software produce that are visible with {{{--debug}}} that are lost during normal logging.
     61
     62=== Creating the experiment on DETER ===
    5763
    5864To connect the ExoGENI node to a DETER experiment, specify an federated experiment with the node that is to be on ExoGENI as being on testbed "desktop".  Here is an example DETER experiment description of that format:
     
    126132 * faber-smart2 which is in the process of being created.  It will eventually transition to active or failed.
    127133
    128 An experimenter can poll using {{{fedd_multistatus.py}}} or watch the debugging log using {{{fedd_spewlog.py}}}.  The second looks like:
    129 
    130 {{{
    131 users:~$ fedd_spewlog.py --experiment_name faber-smart5
     134An experimenter can poll using {{{fedd_multistatus.py}}} or watch the debugging log using {{{fedd_spewlog.py}}}.  The second looks like (where $EXPNAME is faber-smart5):
     135
     136{{{
     137users:~$ fedd_spewlog.py --experiment_name $EXPNAME
    13213803 Mar 14 16:46:50 fedd.experiment_control.faber-smart5 Calling StartSegment at https://192.1.242.14:23231
    13313903 Mar 14 16:46:50 fedd.experiment_control.faber-smart5 Calling StartSegment at https://users.isi.deterlab.net:23231
     
    161167
    162168The {{{--experiment_name}}} parameter is the same as on the {{{fedd_create.py}}} command, or selected from {{{fedd_multistatus.py}}} output.
     169
     170The {{{fedd_spewlog.py}}} command prints changes to the log as they appear and terminates when the experiment transitions to either active or failed state.
     171
     172=== Interacting with the Experiment ===
     173
     174Once an experiment is active, it completes stitching itself together and a user can log in to the various nodes using the native testbed mechanisms.  That stitching may take a minute or two after the federation system declares the experiment active.  Additionally it may take the dynamic routing some time to converge, depending on the complexity of the topology.
     175
     176Inside the DETER experiment, one can log into the nodes and interact with them by node name as usual.  Details are [ https://trac.deterlab.net/wiki/Tutorial/UsingNodes here].  With node b on ExoGENI and a on DETER, as shown above, this sequence shows the transparent connection.  A user logs into node a in the local experiment (experiment faber-smart5 in in project detertest) and pings node b from node a.
     177
     178{{{
     179users.isi.deterlab.net:~$ ssh a.faber-test.detertest
     180a:~$ ping b
     181PING b-link0 (10.0.3.2) 56(84) bytes of data.
     18264 bytes from b-link0 (10.0.3.2): icmp_req=1 ttl=64 time=152 ms
     18364 bytes from b-link0 (10.0.3.2): icmp_req=2 ttl=64 time=76.3 ms
     184}}}
     185
     186While for all intents and purposes, b (in ExoGENI) is part of the experiment, the long ping times make it easy to identify:
     187
     188{{{
     189a:~$ ping e
     190PING e-link3 (10.0.1.1) 56(84) bytes of data.
     19164 bytes from e-link3 (10.0.1.1): icmp_req=1 ttl=63 time=0.797 ms
     19264 bytes from e-link3 (10.0.1.1): icmp_req=2 ttl=63 time=0.437 ms
     193}}}
     194
     195Similarly, one can log into the ExoGENI node and see the DETER nodes by the same names:
     196
     197{{{
     198root@server-18393:~# ping a
     199PING a-link2 (10.0.0.2) 56(84) bytes of data.
     20064 bytes from a-link2 (10.0.0.2): icmp_req=1 ttl=64 time=76.7 ms
     20164 bytes from a-link2 (10.0.0.2): icmp_req=2 ttl=64 time=76.5 ms
     202}}}
     203
     204It may be surprising, but the ExoGENI node can route to nodes throughout our multi-hop DETER topology:
     205
     206{{{
     207root@server-18393:~# ping c
     208PING c-link3 (10.0.1.2) 56(84) bytes of data.
     20964 bytes from c-link3 (10.0.1.2): icmp_req=1 ttl=63 time=153 ms
     21064 bytes from c-link3 (10.0.1.2): icmp_req=2 ttl=63 time=76.7 ms
     211}}}
     212
     213The federated experiment in DETER runs [http://en.wikipedia.org/wiki/Ospf ospf] on each node, and fedd.py starts an ospf daemon on the ExoGENI node as well.  The ExoGENI node simply discovers the routing table from that connection.  We will show how to expolit this connection to interconnect more interesting topologoes.
     214
     215=== Tearing The Experiment Down ===
     216
     217To tear down the experiment, use the command:
     218
     219{{{
     220users:~$ fedd_terminate.py --experiment_name $EXPNAME
     221}}}
     222
     223This releases the DETER resources and disconnects the ExoGENI node.  The ExoGENI slice remains intact and can be connected to another DETER experiment.
     224
     225If an experimenter tears down the ExoGENI slice before the {{{fedd_terminate.py}}} command is issued, or there is some other problem, the {{{--force}}} flag can be given to make {{{fedd_terminate.py}}} purge all state that the federation system can reach.
     226