= [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/StitchingTutorial GENI Inter-Aggregate Stitching Tutorial] = {{{ #!html
Image Map
}}} = Step 1: Download and Import Initial Resource Request RSpec = For this tutorial we are going to use the Jacks tool as an rspec editor, but we are going to do the actual reservation using stitcher, a command line tool. This tutorial starts with an existing RSpec which includes 3 nodes in a linear topology. The resources are un-bound, which means the resources are not affiliated with any rack aggregate. [[Image(GENIExperimenter/Graphics:Stitching-tutorial-initial-topology.jpg)]] To get started download the initial RSpec file and import it into Jacks to make modifications as follows: '''1.''' Login to the GENI Portal at https://portal.geni.net '''2.''' Go to the [https://portal.geni.net/secure/projects.php "Projects"] panel and click on the '' "Create Slice" '' button for the tutorial project. (If you are running this tutorial on your own, you may use any existing project you belong to.) On the "Create New Slice" page enter a slice name and click on "Create slice" button. For the purpose of this tutorial we will assume the slice is named ''!MySlice'', but you should use a unique name because each slice name must be unique within a project. '''3.''' On the slice page select the ''"Slice Jacks"'' button. '''4.''' On the Jacks canvas, in the '''Choose RSpec''' section, select the ''"URL"'' button. Paste this URL ''"http://www.gpolab.bbn.com/exp/StitchingTutorial/3nodesInRack.rspec"'' and hit Enter. ----- = Step 2: Modify RSpec to include 2 Aggregates with 1 stitched link = Now that you have imported the RSpec, we will modify it to include a stitched link. Modifications in this section will result in the following topology: [[Image(GENIExperimenter/Graphics:Stitching-tutorial-stitching-topology.jpg)]] To get to the above topology, we must make changes to the resources imported into Jacks. We will now modify ''"right-client"'' to become part of a different rack aggregate and then modify its link to be a stitched link. '''5.''' Click on the ''"New Site"'' icon and drag it onto the Jacks Canvas. Drag the ''"right-client"'' box into the New Site on the Jacks Canvas. [[Image(http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/JacksStitchScreen.png, nolink, 20%)]] '''6.''' Double-click the ''"Site"'' button in each oval. From the aggregates that were assigned to you at the beginning of the tutorials, assign one aggregate for one oval and assign the second aggregate manager to the other one. (If you are running this tutorial on your own, you may use any other site aggregate found on the [http://groups.geni.net/geni/wiki/GeniNetworkStitchingSites GENI Network Stitching Sites] page.) '''7.''' You will now see that the link from the ''"server"'' VM to ''"right-client"'' VM is now a gre-tunnel link. Select the gre-tunnel link information button [[Image(GENIExperimenter/Graphics:info.jpg)]] to modify the link type to ''"stitched"'' and click ''"Apply"'' button. [[Image(GENIExperimenter/Graphics:gre-to-stitched.jpg)]] '''8.''' You should now see that the topology has changed and that between the ''"server"'' VM and the ''"right-client"'' VM the link is now named ''"stitched0"''. '''9.''' We will now export this topology to a file by selecting the "View" pull-down and choosing ''"Preview requested document(s)"''. You will now choose "Save to file" to export the RSpec we just modified. For the purpose of this experiment we will assume the file is saved to ''"!MyTopology.rspec"'', but you can choose any name or location, just make a note of it. [[Image(GENIExperimenter/Graphics:export-to-file.jpg)]] We are now ready to use stitcher to create the stitched topology for our experiment! ----- = Step 3: Run stitcher tool to get resources = The stitcher tools delivers the same features as the Omni tool, but with one major difference: stitcher will submit sliver request at all aggregate in your request RSpec. Let's now set up slivers for the request RSpec generated in the previous section: '''11.''' Use stitcher to create a sliver, using the slice that we created in the Portal. The request will use the RSpec that was saved to a file in the setup steps. The output will look something like this: {{{ $ stitcher createsliver MySlice MyTopology.rspec 11:48:18 INFO stitcher: Loading agg_nick_cache file '/Users/lnevers/.gcf/agg_nick_cache' 11:48:18 INFO stitcher: Loading config file /Users/lnevers/.gcf/omni_config 11:48:18 INFO stitcher: Setting option useSliceMembers based on omni_config setting 11:48:18 INFO stitcher: Using control framework portal 11:48:18 INFO stitcher: Member Authority is https://ch.geni.net/MA (from config) 11:48:18 INFO stitcher: Slice Authority is https://ch.geni.net/SA (from config) 11:48:19 INFO stitcher: Checking that slice MySlice is valid... 11:48:19 INFO stitcher: Slice urn:publicid:IDN+ch.geni.net:ln-prj+slice+MySlice expires on 2014-03-17 14:57:35 UTC 11:48:20 INFO stitcher: Stitched reservation will include resources from these aggregates: 11:48:20 INFO stitcher: 11:48:20 INFO stitcher: 11:48:20 INFO stitcher: 11:48:20 INFO stitch.Aggregate: Stitcher doing createsliver at https://www.instageni.wisc.edu:12369/protogeni/xmlrpc/am 11:48:38 INFO stitch.Aggregate: Allocation at complete. 11:48:38 INFO stitch.Aggregate: Stitcher doing createsliver at https://www.instageni.stanford.edu:12369/protogeni/xmlrpc/am 11:48:58 INFO stitch.Aggregate: Allocation at complete. 11:48:58 INFO stitch.Aggregate: Stitcher doing createsliver at http://geni-am.net.internet2.edu:12346 11:49:43 INFO stitch.Aggregate: DCN AM : must wait for status ready.... 11:49:43 INFO stitch.Aggregate: Pause 30 seconds to let circuit become ready... 11:50:20 INFO stitch.Aggregate: DCN circuit 74871 is ready 11:50:27 INFO stitch.Aggregate: Allocation at complete. 11:50:27 INFO stitch.launcher: All aggregates are complete. 11:50:27 INFO stitcher: Saved combined reservation RSpec at 3 AMs to file MySlice-manifest-rspec-stitching-combined.xml Stitching success: Reserved resources in slice MySlice at 3 Aggregates (including 1 intermediate aggregate(s) not in the original request), creating 1 link(s). }}} We are now ready to run the experiment! ---- = [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/StitchingTutorial Introduction] = = [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/StitchingTutorial/Execute Next: Execute] =