wiki:GEC15Agenda/WednesdayPlenary/RACEDemo

Version 15 (modified by nriga@bbn.com, 7 years ago) (diff)

--

This page will guide you through Running a Complete Experiment in GENI as seen in the plenary demo!

For this experiment you will need :

  1. A GENI Account. If you don't have one sign up. If you are at the GEC, get a temporary account.
  2. An Irods Account
  3. The tutorial VM. If you do not have it please find us and we will give you a copy.

That's, you are ready to run this experiment!

1. Account Configuration

First we are going to configure all the tools that we will need for this experiment. More specifically we will use :

  • Flack to reserve our resources
  • GEMINI to instrument our experiment
  • OMNI to orchestrate the experiment

We are going to start the configuration in the reverse direction.

1a. Configure Omni on the VM

Omni is already installed in the tutorial VM, but we will need to configure it with your account. Follow these instructions using your personal username, password and passphrase.

Omni scripting for orchestrating the experiment

For orchestrating our experiment we used Omni scripting. We based our script on the readyToLogin.py script. We needed to modify it slightly and then we created a script that uses remote execution to give instructions to the hosts. You can find a copy of our script and the modified ready to login script through these links. For our purpose we placed these two files under /usr/local/bin/gcf/examples/ in the VM.

1b. Configure GEMINI on the VM

These steps are based on these instructions.

  1. Place your GENI passphrase in a file under ~/.ssl/password
    echo "<passphrase>" > ~/.ssl/password
    
    and verify that it is correct
    cat ~/.ssl/password
    
  2. Add your ssh key to the ssh-agent:
    ssh-add ~/.ssh/geni_key
    
  3. Add your certificate to firefox. Follow these instructions. Before you start you will need a copy of your cert in pkc12 format. To do that :
    1. login to pgeni.gpolab.bbn.com using your account
    2. Click the Download certificate link on the left
    3. Download it in pkc12 format.

1c. Login to Flack

We are going to use Flack a web-based graphical tool for reserving GENI resources. Your first step is to log in to Flack. This video will guide you through the steps of logging in.

Login to Flack Video
  1. Go to http://www.protogeni.net/flack and press the Log in button
  2. From the select authority drop down menu, select the site authority for your GENI account, most probably pgeni.gpolab.bbn.com and press the Download button
  3. Answer yes in the pop-up window
  4. Login to the new window using your GENI account
  5. Reload the Flack tab and repeat steps 1 and 2
  6. After your private key and certificate are loaded, type your GENI passphrase in the box
  7. Select the sites you want. For this tutorial we only need the utaemulab.cm site.

2. Launch your experiment

Now that you are logged in to Flack, we are ready to design our experiment. This video will guide you through the process of setting up the resources for the Hello GENI experiment. To complete the setup you will need to save a copy of this file on your computer. This is a Resource Specification (rspec) file that contains a description of this experiment for Flack.

Launch Experiment Video
  1. After Flack finishes loading all the information, create a new slice by clicking New on the left of the screen, right under your user name. Name your slice something like xxxhello (where xxx are your initials)
  2. When an empty canvas shows up, you are ready to create an experiment. Click at the Import button on the top of the canvas and select Import from file
  3. Find the copy of this rspec file that you downloaded earlier and press ok
  4. A topology will come up, it will look different than the topology on the video. Your topology should look like Login to Flack Video. Press the Submit button and confirm that you want to reserve these resources.
  5. Wait while your resources are being reserved. This will take several minutes so be patient. When your sliver is ready the background will be green.

3. Enable Instrumentation In your Experiment

Now that your slice is ready we will need to instrumentize it. On the VM open a terminal and do:

  1. Navigate to the right GEMINI folder
    cd ~/Tutorials/GEMINI/common
    
    1. Run the instrumentize script
        instrumentize.py -f ~/.ssl/geni_cert.pem -n <slicename>
      
      This will take a while so be patient until it is done.
    2. Once it is done, use the printed information to login to the [ https://geminiportal.netlab.uky.edu portal].
    3. Navigate to the graphs. In the map that will appear after you login to the portal
      1. press on the GN node,
      2. select passive
      3. on the left, navigate to the graphs for PC1

4. Run your experiment

You are all set to run your experiment. On the terminal do :

  1. Go to the location of the script
    cd /usr/local/bin/gcf/examples
    
  2. Run the script
     ./race-script.py -a pg-utah <slicename>
    
    The script will first get the information about logging in to your nodes and then it will start executing remote commands to your nodes. It will change the delay of the links and then initiate a UDP and a TCP transfer.
    1. Look at the TCP and UDP graphs as the script is running and notice the performance of UDT and TCP, side by side.

5. Archive your data

Once the script is done, its time to archive the run. Follpw these instructions using your own account information. You can modify the script to test for other values of delay, or bandwidth, or loss rate.

6. Cleanup

Once you are done with your testing, it is time to release the resources. In order to cleanup your slice :

  1. Press at the Delete button in the bottom of your canvas
  2. select to delete it at used managers only and confirm your selection.

Wait and after a few moments all the resources will have been released and you will have an empty canvas again. Notice that your slice is still there. There is no way to delete a slice, it will be removed automatically after its expiration date, but remember that a slice is just an empty container so it doesn't take up any resources.

Attachments (3)

Download all attachments as: .zip