Changes between Initial Version and Version 1 of GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUpQuagga/DesignSetup


Ignore:
Timestamp:
06/16/16 17:14:20 (8 years ago)
Author:
sedwards@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUpQuagga/DesignSetup

    v1 v1  
     1[[PageOutline]]
     2
     3'''[wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy#ATutorialonSystematicExperimentalDesign A Tutorial on Systematic Experimental Design]'''
     4
     5'''[wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy/InstallSoftware Step I: Single Node]'''
     6
     7'''[wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy/SmallTopo Step II: Small Topology]'''
     8
     9'''[wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp Step III: Scaling Up]'''
     10
     11
     12
     13{{{
     14#!html
     15
     16<div style="text-align:center; width:495px; margin-left:auto; margin-right:auto;">
     17<img id="Image-Maps_5201305222028436" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Setup.jpg?format=raw" usemap="#Image-Maps_5201305222028436" border="0" width="495" height="138" alt="" />
     18<map id="_Image-Maps_5201305222028436" name="Image-Maps_5201305222028436">
     19<area shape="rect" coords="18,18,135,110" href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup" alt="" title=""    />
     20<area shape="rect" coords="180,18,297,111" href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/Execute" alt="" title=""    />
     21<area shape="rect" coords="344,17,460,110" href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/Finish" alt="" title=""    />
     22<area shape="rect" coords="493,136,495,138" href="http://www.image-maps.com/index.php?aff=mapped_users_5201305222028436" alt="Image Map" title="Image Map" />
     23</map>
     24<!-- Image map text links - End - -->
     25
     26</div>
     27}}}
     28
     29
     30= 1. Modify RSpec =
     31
     32Recall in Step II, we have saved a final version of request RSpec (''4node-final.rspec'') for the topology with four routers and two end hosts. In this section, we start with this RSpec.
     33
     34== a. Add Aggregates ==
     35
     36Launch the Flack for your slice that has been cleaned up, import the pre-saved ''4node-final.rspec''. You can also download the RSpec from [http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup/4node-final.rspec here] to your local machine, and import it to your slice.
     37Now you should be able to see the topology on your canvas in Flack.
     38
     39[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:4node-nonstitching.png)]]
     40
     41We will select three InstaGENI aggregates that support stitching links from the [http://groups.geni.net/geni/wiki/GeniNetworkStitchingSites GENIStitchingSites], so that the ''client'' and ''router-1'' are from ''wisconsin-ig'', ''router-2'' and ''router-4'' are from ''nysernet-ig'', and ''router-3'' and the ''server'' are from ''illinois-ig''. Here we show how to change aggregate for ''router-1'' using Flack. Click [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:info.jpg)]] to open node property information, in the '''Manager''' field, select ''instageni.wisc.edu'' from the pull-down list, and apply the updates. Similarly, change the aggregates for the rest of the nodes. Note that, the '''Manager''' refers to the aggregate.
     42
     43 [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:change-aggregate.png)]]
     44
     45
     46{{{
     47#!html
     48<table id="Table_01" border="0" cellpadding="5" cellspacing="0">
     49        <tr>
     50                <td>
     51                        <img src="http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Graphics/4NotesIcon_512x512.png" width="50" height="50" alt="Note">
     52               </td>
     53<td>
     54If you use "Name" instead of "URL" to the regular "Ubuntu 12.04" disk image for the client and server before, you need to re-select the "Ubuntu 12.04" for the client and server after changing the aggregates. You do not need to do this for the routers, because use the URL of the custom image. For example, we change the aggregate for the client node from "stanford-ig" to "wisconsin-ig", so we also need to reselect the advertise image again, so that the disk image name shown in the field is "instageni.wisc.edu", which is consistent with "wisconsin-ig" aggregate.
     55<br/>
     56<i>
     57
     58</i>
     59</td>
     60        </tr>
     61</table>
     62}}}
     63
     64
     65
     66 [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:disk-name.png)]]
     67
     68== b. Change Link Types ==
     69
     70Now we have three aggregates selected, the link types between nodes are changed to '''gre-tunnel'''.
     71
     72[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:4node-3aggregates-gre.png)]]
     73
     74So we need to update the type of links between different aggregates to be '''stitched''' links, which are ''gre-tunnel0'', ''gre-tunnel1'', ''gre-tunnel2'', ''gre-tunnel3'' in the original topology, and the rest of ''gre-tunnel#'' need to be changed back to ''lan#'' type. We show how to change link type for ''gre-tunnel1'' here. Click [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:info.jpg)]] to open link ''gre-tunnel0'' property information. Select '''stitched''' from the pull-down list at the '''Type''' field, apply the update. Similarly, update the link type for the other '''gre-tunnel''' links.
     75
     76[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:change-link-type.png)]]
     77
     78
     79Similarly, update the link type for the other '''gre-tunnel''' links, and you will see the topology now looks like:
     80
     81[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:4node-stitching.png)]]
     82
     83Export the request RSpec to your local machine, save it as `4node-stitching.rspec`.
     84
     85== c. Edit New RSpec ==
     86
     87Now open the RSpec file `4node-stitching.rspec`, and we need to do some small editing locally first.
     88
     89Recall that we have changed the link type and aggregate type, the RSpec still keeps the information about `stanford-ig`, which we are not using it any more, so we need to manually delete this information from the RSpec, otherwise,  we will see errors when requesting resources.
     90
     91For example, the `stitched0` link has three `component_manager` tags, and the one has name "urn:publicid:IDN+instageni.stanford.edu+authority+cm" is not needed. Also, we need to reduce the capacity down to less than 20000, it is 100000 by default.
     92{{{
     93<link client_id="stitched0">
     94    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     95    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     96    <component_manager name="urn:publicid:IDN+instageni.wisc.edu+authority+cm"/>
     97    <component_manager name="urn:publicid:IDN+instageni.nysernet.org+authority+cm"/>
     98    <component_manager name="urn:publicid:IDN+instageni.stanford.edu+authority+cm"/>
     99    <interface_ref client_id="xen-0:if0"/>
     100    <interface_ref client_id="xen:if0"/>
     101    <property source_id="xen-0:if0" dest_id="xen:if0" capacity="100000"/>
     102    <property source_id="xen:if0" dest_id="xen-0:if0" capacity="100000"/>
     103    <flack:link_info x="526" y="405" unboundVlantag="true"/>
     104  </link>
     105}}}
     106
     107So, for each link block in the `4node-stitching.rspec` file, delete the following line, and update the capacity from 100000 to 10000, then save the file.
     108
     109{{{
     110<component_manager name="urn:publicid:IDN+instageni.stanford.edu+authority+cm"/>
     111}}}
     112
     113Now the link block for stitched0 should look like:
     114{{{
     115  <link client_id="stitched0">
     116    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     117    <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/>
     118    <component_manager name="urn:publicid:IDN+instageni.wisc.edu+authority+cm"/>
     119    <component_manager name="urn:publicid:IDN+instageni.nysernet.org+authority+cm"/>
     120    <interface_ref client_id="xen-0:if0"/>
     121    <interface_ref client_id="xen:if0"/>
     122    <property source_id="xen-0:if0" dest_id="xen:if0" capacity="10000"/>
     123    <property source_id="xen:if0" dest_id="xen-0:if0" capacity="10000"/>
     124    <flack:link_info x="526" y="405" unboundVlantag="true"/>
     125  </link>
     126}}}
     127
     128It is very important to note that '''DO NOT SUBMIT''' VM reservation request in Flack.  We will use a command line tool called '''stitcher''' to request resources in the next step.
     129
     130= 2. Get Resource Using Stitcher =
     131You have two options for reserving multi-aggergate topologies: the Portal and `stitcher`.
     132== a. Get Resource Using the Portal ==
     133You can reserve multi-aggregate topologies using the '''Add Resources''' button on the Portal.
     134
     135== b. Get Resource Using Stitcher ==
     136Stitcher is a command line tool to get resources, including create VM slivers and stitched links. We run stitcher from command line to get resources by providing the RSpec file `4node-stitching.rspec` just created. To run stitcher, you need to install `omni` tool.
     137
     138The command is:
     139{{{
     140$stitcher --logconfig <path to stitcher_logging.conf> createsliver <slicename> <path to your rspec>
     141}}}
     142
     143The option `"--logconfig"` is not necessary, but if you see message like "WARNING:root:Failed to find log config file /Applications/omniTools-2.6/stitcher.app/Contents/Resources/lib/python27.zip/gcf/stitcher_logging.conf", you may need to manually download [http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup/stitcher_logging.conf stitcher_logging.conf] to your local system.
     144
     145If you successfully run stitcher, you will see similar output as below:
     146
     147{{{
     148dhcp89-69-127:tools xliu$ stitcher --logconfig stitcher_logging.conf createsliver xuan-wiki-prep1 ~/Documents/docs/wiki-fig/4node-stitching.rspec
     14917:47:31 INFO    : Configured logging from file stitcher_logging.conf
     15017:47:31 INFO    : Reading slice xuan-wiki-prep1 credential...
     15117:47:31 INFO    : Slice urn:publicid:IDN+ch.geni.net:GPOInterns2014+slice+xuan-wiki-prep1 expires on 2014-07-09 21:46:52 UTC
     15217:47:31 INFO    : Calling SCS...
     15317:47:32 INFO    : Multi-AM reservation will include resources from these aggregates:
     15417:47:32 INFO    :      <Aggregate nysernet-ig>
     15517:47:32 INFO    :      <Aggregate illinois-ig>
     15617:47:32 INFO    :      <Aggregate wisconsin-ig>
     15717:47:32 INFO    :      <Aggregate ion>
     15817:47:32 INFO    : Stitcher doing createsliver at <Aggregate nysernet-ig>...
     15917:47:54 INFO    : ... Allocation at <Aggregate nysernet-ig> complete.
     16017:47:54 INFO    : Stitcher doing createsliver at <Aggregate illinois-ig>...
     16117:48:19 INFO    : ... Allocation at <Aggregate illinois-ig> complete.
     16217:48:19 INFO    : Stitcher doing createsliver at <Aggregate wisconsin-ig>...
     16317:48:41 INFO    : ... Allocation at <Aggregate wisconsin-ig> complete.
     16417:48:42 INFO    : Stitcher doing createsliver at <Aggregate ion>...
     16517:49:26 INFO    : DCN AM <Aggregate ion>: must wait for status ready....
     16617:49:26 INFO    : Pausing 30 seconds to let circuit become ready...
     16717:50:04 INFO    : Pausing 30 seconds to let circuit become ready...
     16817:50:41 INFO    : DCN circuit 103131 is ready at <Aggregate ion>
     16917:50:41 INFO    : DCN circuit 103151 is ready at <Aggregate ion>
     17017:50:41 INFO    : DCN circuit 103141 is ready at <Aggregate ion>
     17117:50:48 INFO    : ... Allocation at <Aggregate ion> complete.
     17217:50:48 INFO    : All aggregates are complete.
     17317:50:48 INFO    : Your resources expire at 2 different times at different AMs. The first expiration is 2014-07-03 21:48:39 UTC at <Aggregate ion>. Second expiration is 2014-07-09T21:46:52 UTC.
     17417:50:48 INFO    : Saved combined reservation RSpec at 4 AMs to file '/Users/xliu/Documents/tools/xuan-wiki-prep1-manifest-rspec-stitching-combined.xml'
     175Success: Reserved resources in slice xuan-wiki-prep1 at 4 Aggregates (including 1 intermediate aggregate(s) not in the original request), creating 4 stitched link(s).
     176
     177}}}
     178
     179
     180Now we are ready to run the experiments!
     181
     182
     183
     184'''[wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp Scaling Up: Introduction]'''
     185
     186'''[wiki:GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/Execute Scaling Up: Execute]'''