Changes between Version 4 and Version 5 of GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUpQuagga/DesignSetup

07/18/16 13:55:00 (3 years ago)



  • GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUpQuagga/DesignSetup

    v4 v5  
    3434== a. Add Aggregates ==
    36 Launch the Flack for your slice that has been cleaned up, import the pre-saved ''4node-final.rspec''. You can also download the RSpec from [ here] to your local machine, and import it to your slice.
    37 Now you should be able to see the topology on your canvas in Flack.
     36Log in to the GENI Portal and launch your slice that has been cleaned up, import the pre-saved ''4node-final.rspec''. You can also download the RSpec from [ here] to your local machine, and import it to your slice.
     37Now you should be able to see the topology on your canvas on the Portal.
    3939[[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUpQuagga/DesignSetup:Scalingup1.png, 720px)]]
    41 We will select three InstaGENI aggregates that support stitching links from the [ 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 '''' 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.
     41We will select two InstaGENI aggregates that support stitching links from the [ GENIStitchingSites], so that the ''Client'',''router-1'' and ''router-2'' are in the same aggregate; ''router-2'' ,''router-4'' and ''Server''  are in the same aggregate. Here we show how to add an aggregate on the Portal.Click on the ''Site'' button on the dashboard and drag it onto the canvas. Now drag the desired nodes such as ''router-1'',''router-2'' and ''Client'' into the new site.
    4343 [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUpQuagga/DesignSetup:Scaling2.png, 720px)]]
     45Your canvas should look similar to the following image.
     46 [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUpQuagga/DesignSetup:Scaling3.png, 720px)]]
    46 {{{
    47 #!html
    48 <table id="Table_01" border="0" cellpadding="5" cellspacing="0">
    49         <tr>
    50                 <td>
    51                         <img src="" width="50" height="50" alt="Note">
    52                </td>
    53 <td>
    54 If 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 "", which is consistent with "wisconsin-ig" aggregate.
    55 <br/>
    56 <i>
     48== b. Select Aggregates ==
    58 </i>
    59 </td>
    60         </tr>
    61 </table>
    62 }}}
     50Choose any InstaGENI aggregate that supports stitching links from [ GENIStitchingSites].
     51 [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUpQuagga/DesignSetup:Scaling4.png, 720px)]]
     53= 2. Get Resource Using Portal =
     55You can reserve multi-aggregate topologies using the '''Reserve Resources''' button on the Portal.
    66  [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:disk-name.png)]]
    68 == b. Change Link Types ==
    70 Now we have three aggregates selected, the link types between nodes are changed to '''gre-tunnel'''.
    72 [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:4node-3aggregates-gre.png)]]
    74 So 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.
    76 [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:change-link-type.png)]]
    79 Similarly, update the link type for the other '''gre-tunnel''' links, and you will see the topology now looks like:
    81 [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:4node-stitching.png)]]
    83 Export the request RSpec to your local machine, save it as `4node-stitching.rspec`.
    85 == c. Edit New RSpec ==
    87 Now open the RSpec file `4node-stitching.rspec`, and we need to do some small editing locally first.
    89 Recall 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.
    91 For example, the `stitched0` link has three `component_manager` tags, and the one has name "" 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=""/>
    95     <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns=""/>
    96     <component_manager name=""/>
    97     <component_manager name=""/>
    98     <component_manager name=""/>
    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 }}}
    107 So, 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.
    109 {{{
    110 <component_manager name=""/>
    111 }}}
    113 Now 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=""/>
    117     <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns=""/>
    118     <component_manager name=""/>
    119     <component_manager name=""/>
    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 }}}
    128 It 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.
    130 = 2. Get Resource Using Stitcher =
    131 You have two options for reserving multi-aggergate topologies: the Portal and `stitcher`.
    132 == a. Get Resource Using the Portal ==
    133 You can reserve multi-aggregate topologies using the '''Add Resources''' button on the Portal.
    135 == b. Get Resource Using Stitcher ==
    136 Stitcher 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.
    138 The command is:
    139 {{{
    140 $stitcher --logconfig <path to stitcher_logging.conf> createsliver <slicename> <path to your rspec>
    141 }}}
    143 The option `"--logconfig"` is not necessary, but if you see message like "WARNING:root:Failed to find log config file /Applications/omniTools-2.6/", you may need to manually download [ stitcher_logging.conf] to your local system.
    145 If you successfully run stitcher, you will see similar output as below:
    147 {{{
    148 dhcp89-69-127:tools xliu$ stitcher --logconfig stitcher_logging.conf createsliver xuan-wiki-prep1 ~/Documents/docs/wiki-fig/4node-stitching.rspec
    149 17:47:31 INFO    : Configured logging from file stitcher_logging.conf
    150 17:47:31 INFO    : Reading slice xuan-wiki-prep1 credential...
    151 17:47:31 INFO    : Slice expires on 2014-07-09 21:46:52 UTC
    152 17:47:31 INFO    : Calling SCS...
    153 17:47:32 INFO    : Multi-AM reservation will include resources from these aggregates:
    154 17:47:32 INFO    :      <Aggregate nysernet-ig>
    155 17:47:32 INFO    :      <Aggregate illinois-ig>
    156 17:47:32 INFO    :      <Aggregate wisconsin-ig>
    157 17:47:32 INFO    :      <Aggregate ion>
    158 17:47:32 INFO    : Stitcher doing createsliver at <Aggregate nysernet-ig>...
    159 17:47:54 INFO    : ... Allocation at <Aggregate nysernet-ig> complete.
    160 17:47:54 INFO    : Stitcher doing createsliver at <Aggregate illinois-ig>...
    161 17:48:19 INFO    : ... Allocation at <Aggregate illinois-ig> complete.
    162 17:48:19 INFO    : Stitcher doing createsliver at <Aggregate wisconsin-ig>...
    163 17:48:41 INFO    : ... Allocation at <Aggregate wisconsin-ig> complete.
    164 17:48:42 INFO    : Stitcher doing createsliver at <Aggregate ion>...
    165 17:49:26 INFO    : DCN AM <Aggregate ion>: must wait for status ready....
    166 17:49:26 INFO    : Pausing 30 seconds to let circuit become ready...
    167 17:50:04 INFO    : Pausing 30 seconds to let circuit become ready...
    168 17:50:41 INFO    : DCN circuit 103131 is ready at <Aggregate ion>
    169 17:50:41 INFO    : DCN circuit 103151 is ready at <Aggregate ion>
    170 17:50:41 INFO    : DCN circuit 103141 is ready at <Aggregate ion>
    171 17:50:48 INFO    : ... Allocation at <Aggregate ion> complete.
    172 17:50:48 INFO    : All aggregates are complete.
    173 17: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.
    174 17:50:48 INFO    : Saved combined reservation RSpec at 4 AMs to file '/Users/xliu/Documents/tools/xuan-wiki-prep1-manifest-rspec-stitching-combined.xml'
    175 Success: 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).
    177 }}}