Changes between Version 20 and Version 21 of GENIExperimenter/ExperimentExample-stitching


Ignore:
Timestamp:
07/16/13 14:16:17 (11 years ago)
Author:
lnevers@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/ExperimentExample-stitching

    v20 v21  
    1515<img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/design.png?format=raw" alt="Design/Setup"></a>
    1616}}}
    17 
    18 At this time GENI network stitching is supported by several aggregate, this example shows a simple stitching scenario with one server VM in the GPO InstaGENI rack and one VM client in the Utah InstaGENI rack that are connected with a link.  The server-gpo host is configured to be both a Web Server and an Iperf server, also a routable IP address is requested to access the web server. All this is captured in the request RSpec used for this experiment:
     17At this time GENI network stitching is supported by several aggregate, this example shows a simple stitching scenario with one server VM in the GPO InstaGENI rack and one VM client in the Utah InstaGENI rack that are connected with a link.  The server-gpo
     18host is configured to be both a Web Server and an Iperf server, also a routable IP address is requested to access the web server.
     19
     20We will define an RSpec with 2 nodes and one link between them. The link ''' ''must'' ''' specify the 2 aggregates that are the
     21endpoints of the link.  The tools will do the rest of the work required to stitch the topology. This is the request RSpec used for this experiment:
    1922
    2023Assemble a Request Rspec that includes one VM at each rack site:
     
    6871}}}
    6972
     73We will now use the new Omni tool named ''stitcher.py'' to set up a stitched topology between the two nodes. The ''stitcher.py'' tool deliver:
     74 - Simpler experiment set-up. ''Stitcher.py creates slivers at all aggregates including network stitching path.
     75 - Stitcher.py parses RSpec to determine all compute resource aggregates from your RSpec. No longer need to specify “-a aggregateName”.
     76 - ''Stitcher.py'' uses the MAX Stitching Computation Service (SCS) to determine VLAN path needed for your experiment.
     77 - VLANs are a scarce commodity, and failures can happen. ''Stitcher.py'' will re-try to create sliver when failures occur.
     78
    7079First create a slice for this experiment:
    7180{{{
    72 $ omni.py print_slice_expiration ig-gpo-ig-utah
    73 07:30:38 INFO     omni: Loading config file /home/lnevers/.gcf/omni_config
    74 07:30:38 INFO     omni: Using control framework portal
    75 07:30:40 INFO     omni: Slice urn:publicid:IDN+ch.geni.net:ln-prj+slice+ig-gpo-ig-utah expires on 2013-07-25 00:00:00 UTC
    76 07:30:40 INFO     omni:  ------------------------------------------------------------
    77 07:30:40 INFO     omni:  Completed print_slice_expiration:
     81$ omni.py createslice ig-gpo-ig-utah
     8207:30:58 INFO     omni: Loading config file /home/lnevers/.gcf/omni_config
     8307:30:58 INFO     omni: Using control framework portal
     8407:30:59 INFO     omni: Created slice with Name ig-gpo-ig-utah, URN urn:publicid:IDN+ch.geni.net:ln-prj+slice+ig-gpo-ig-utah, Expiration 2013-07-25 00:00:00
     8507:30:59 INFO     omni:  ------------------------------------------------------------
     8607:30:59 INFO     omni:  Completed createslice:
    7887
    7988  Options as run:
     
    8190                project: ln-prj
    8291
    83   Args: print_slice_expiration ig-gpo-ig-utah
    84 
    85   Result Summary: Slice urn:publicid:IDN+ch.geni.net:ln-prj+slice+ig-gpo-ig-utah expires on 2013-07-25 00:00:00 UTC
    86 07:30:40 INFO     omni:  ============================================================
     92  Args: createslice ig-gpo-ig-utah
     93
     94  Result Summary: Created slice with Name ig-gpo-ig-utah, URN urn:publicid:IDN+ch.geni.net:ln-prj+slice+ig-gpo-ig-utah, Expiration 2013-07-25 00:00:00
     9507:30:59 INFO     omni:  ============================================================
     96
    8797}}}
    8898
     
    125135}}}
    126136
    127  (1) Sticher.py runs rspeclint on the  stitch-ig-gpo-ig-utah.rspec file. [[BR]]
     137 (1) Sticher.py get your slice credential to make sure you have named a valid slice in which to create your circuit and runs rspeclint on the stitch-ig-gpo-ig-utah.rspec file, if rspeclint is found in your path. [[BR]]
    128138 (2) Sticher.py contacts the Stitching Computation Service (SCS) and returns the list of AMs that are needed to establish the stitching path in addition to the Internet2/ION aggregate.[[BR]]
    129139 (3) Stitcher.py generates a request RSpec for each of the aggregates in the path to request both network and compute resources. [[BR]]
     
    301311In the stitching definition:
    302312  - <hop id="1"> is for the GPO InstaGENI switch (procurve2:5.24) and uses VLAN 3748.
    303   - <hop id="4"> is for the Internet2 switch  (procurve-pgeni-atla:3.21) and uses VLAN 874
    304   - <hop id="5"> is for the Utah PG switch (procurveA:3.19) and uses VLAN 874
     313  - <hop id="4"> is for PG Utah switch that connects PG Utah to ION  (procurve-pgeni-atla:3.21) and uses VLAN 874
     314  - <hop id="5"> is for the Utah PG switch that connects to Utah IG (procurveA:3.19) and uses VLAN 874
    305315  - <hop id="6"> is for the Utah InstaGENI switch (procurve2:1.19) and uses VLAN 874
    306316