wiki:GENIExperimenter/Tutorials/PortalOmniExample/ObtainResources

Version 4 (modified by Gary Wong, 6 years ago) (diff)

Flesh out the instructions and screenshots for the Flack portion.

Obtain Resources: create a slice and reserve resources

Introduction: Getting Started with GENI and the GENI Portal

Design/Setup
Execute
Finish

Instructions

Now that you are a member of a project, you can create a slice and reserve resources.

1. Create a slice

If you are following on from the Flack tutorial, and the slice you created then has not yet expired, you can reuse the same slice -- skip ahead to step 2 (Import a simple experiment).

Otherwise, you will need to create a new slice, which can be done through the GENI Portal, as follows:

Create a GENI Slice
  1. Go to the Home tab.
  2. Press the Create Slice button for this project.
  3. As a slice name use the slice name on your worksheet (the slice name should be of the form portal##), you can leave the description empty and press Create Slice

2. Import a simple experiment

Next, we will learn about the mechanism Flack had been using when bringing up slivers for us. Behind the scenes, slivers are described in GENI rspec files, which are relatively simple XML documents precisely describing the components, configurations, and topologies.

For this exercise, we will start with a prepared rspec file. You should download this now, and save it where you can get to it with your browser. If you have time, it is worthwhile inspecting the contents to see the style of rspec files (in this case, another simple sliver consisting of two nodes connected by a single network link).

Next, you should load this topology into Flack.

From the "Import" menu (see figure), select the "Import from file" item.

Now select the file you saved a moment ago and open it.

Because this file contains a generic description of resources and does not specify any particular aggregate manager, Flack will report "There were resources detected without a manager selected, please select which manager you would like to use." Select "OK", and then choose the manager listed on your worksheet from the list. Then select "Accept", and a network topology (which might look familiar if you have completed earlier tutorials) should appear on the canvas.

3. Modify the experiment to automatically install and execute network test software

For this sample experiment, we'd like some additional software (Apache, iperf, and a couple of custom scripts) loaded onto the VMs to perform traffic measurements. In Flack, you can manipulate the details of the request for a node or link with the "i" button on the relevant component on the canvas (see figure). Do this now on the client node.

When you open the node information, you should see options like those in the figure. The controls available to you will vary depending on the types of the aggregate manager and the component, but many features are widely available throughout GENI.

The way we will request installation of the proper software and execution of our experiment is to add install and execute services. First, select "+ Add Install Service" as shown. Flack will now prompt you for an "Archive URL" and a location for installation. For this experiment, please enter the URL:

http://www.gpolab.bbn.com/experiment-support/HelloGENI/hellogeni-install.tar.gz
and ask for this to be installed in:
/local

Similarly, please use the "+ Add Execute Service" button to request that the command:

sudo /local/install-script.sh

be executed using
sh

Be very careful when entering this information -- these commands will not be executed yet, so it will be some time before you will see any relevant error messages if there is a mistake here.

Once both the "install" and "execute" services are specified, please choose "Apply". Then repeat the procedure to add the same "install" and "execute" services on the server node.

If you have time, it would be instructive to download the "hellogeni-install" file yourself, and inspect the contents. You will see the install-script.sh file referred to in the execute service, and this is a good example of how you can ask for GENI components to perform tasks for you without any manual intervention. This is a very useful facility for large experiments!

4. Export the modified experiment

Now we will pull back some of the covers and inspect exactly what Flack has been doing for us when preparing the rspecs for the experiments we design. Each node and link has a corresponding element in the rspec, and the details of the component configuration (such as the install and execute services we requested above) are specified with attributes, or sometimes child elements, within those portions of the document.

Please use the "View" menu (see figure) and select the "Preview request document(s)" item. This will bring up a window showing the current rspec -- please take a moment to inspect it. The XML elements under the "flack" namespace were added for Flack's internal use (containing information about the canvas layout, editing history, etc.), and are ignored by aggregate managers. The "node" and "link" elements contain the specification for the components we will request, and if you look closely, you will be able to see the install and execute service elements you added earlier.

Next, please use the "Save to file" button (in the upper left) to make a local copy of your rspec. We'll use this in the next step to demonstrate how other client tools also use rspec files to communicate requests to aggregate managers.

5. Instantiate the new experiment using Omni

omni.py -a ig-utah createsliver gtwportalslice ~/Downloads/experiments.rspec
/usr/local/bin/gcf/examples/readyToLogin.py -a ig-utah gtwportalslice

When it is ready, it will give login info in terminal. Log in to client, look in

/tmp/iperf-logs/

Next: Inspect the experiment execution

Attachments (5)

Download all attachments as: .zip