Version 16 (modified by 10 years ago) (diff) | ,
---|
GENI Inter-Aggregate Stitching Tutorial
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.
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 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:
To get to the above topology, we must make changes to the resources imported into Jacks. We will now modify the topology so that the "right-client" is on one rack, the "left-client" and "server" are part of another rack and then modify the link between the two racks 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.
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 to 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 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 to modify the link type to "stitched" and click "Apply" button.
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.
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: <Aggregate wisconsin-ig> 11:48:20 INFO stitcher: <Aggregate stanford-ig> 11:48:20 INFO stitcher: <Aggregate ion> 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 <Aggregate wisconsin-ig> 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 <Aggregate stanford-ig> 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 <Aggregate ion>: 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 <Aggregate ion> 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!