ExoGENI: Getting Started Tutorial

This post describes how to create an account on ExoGENI, install the slice creation tool Flukes, and use Flukes to create simple slices.


These instructions assume you have been given a GENI account OR have an account with an institution that participates in the InCommon Federation.  Most colleges and universities do are in InCommon, check your university here.

Creating a GENI account:

  1. In a browser, go to the GENI portal (https://portal.geni.net/)Screen Shot 2015-09-17 at 12.13.41 PM
  2. Click the “Use GENI” buttonScreen Shot 2015-09-17 at 12.14.10 PM
  3. Under “Show a list of organizations” find your organization.   If you have been assigned a temporary account for an organized tutorial, choose “GENI Project Office”Screen Shot 2015-09-17 at 12.17.16 PM
  4. You will be redirected to your organization’s sign-on page (example shows UNC Chapel Hill’s Onyen system).  Login with the username and password you typically use to access services at your organization.  You will now be logged into the GENI Portal.Screen Shot 2015-09-17 at 12.18.04 PM
  5. Click your name in the upper right corner and choose “Profile” from the dropdown menu.Screen Shot 2015-09-17 at 12.27.43 PM
  6. If you are not part of any projects, you should request to join a project given to you by project PI or class instructor (there is a ‘Join Project’ button in the profile). Wait until you are approved.
  7. Click “SSL” in the grey bar.Screen Shot 2015-09-17 at 12.30.30 PM
  8. Click “Create an SSL certificate”Screen Shot 2015-09-17 at 12.33.46 PM
  9. Click “Generate Combined Certificate and Key File”Screen Shot 2015-09-17 at 12.35.01 PM
  10. Download your certificate and key. This will create a pem file that is named “geni-<your_login>.pem”. Save it to a  known location on your machine (suggestion:  ~/.ssl/geni-<your_login>.pem).    Screen Shot 2015-09-17 at 12.35.53 PM

At this point you can use your pem file to access ExoGENI.   However, if you would like to use other GENI resources you will need to join a GENI project.

Install/Configure Flukes:

1. Install Java on your system (if it is not there already). Note that we do not recommend using OpenJDK. Instead you should use Oracle JDK 7 or 8 for your platform.

2. Download the Flukes jnlp file:

wget http://geni-images.renci.org/webstart/flukes.jnlp

3. Edit (create) a ~/.flukes.properties file.  Modify below to point to your GENI pem file and the ssh keys that you wish to use.

# SSH Public key to install into VM instances
# Secondary login (works with ssh.other.pubkey)
# Secondary public SSH keys 
# Should the secondary account have sudo privileges
# Path to XTerm executable on your system

4. Run the the jnlp by double clicking the file or by using the javaws application on the command line.

javaws /path/to/the/file/flukes.jnlp

At this point the Flukes GUI should be running.  You may need to create security exceptions on your system to allow it to run.   In addition, there may be warnings about certificate authorities.  Usually clicking “run” or “continue” in the popup windows will work).  If Flukes is not running correctly see https://geni-orca.renci.org/trac/wiki/flukes for more information.

Simple Slice: 

  1. Start Flukes as described aboveScreen Shot 2015-09-18 at 12.58.45 PM
  2. Click in the field to place a VM in the request.Screen Shot 2015-09-17 at 1.16.15 PM
  3. Right click the new node and choose “Edit properties” from the menu.   If the application has not yet contacted the ExoGENI server it may ask for the password for your GENI key.   If you don’t know what this is it is probably an empty password.Screen Shot 2015-09-17 at 1.20.56 PM
  4. Choose a node type:  (suggestion:  XO Medium)
  5. Choose an image:  (suggestion:  Centos 6.3 v1.0.10)
  6. Choose a domain:  (suggestion:  Leave as “System select)Screen Shot 2015-09-17 at 1.25.49 PM
  7. Press “Ok”
  8. Name your slice by putting a short string in the text box next to the submit button:  (suggestion: <yourlogin>.test1Screen Shot 2015-09-17 at 1.27.35 PM
  9. Press the Submit button. After a few seconds a window will popup showing the resources you have been assigned (Note: this will take longer if you are participating in a large tutorial).   In the example, there in one VM that will be created at Pittsburg Supercomputing Center (PSC).Screen Shot 2015-09-17 at 1.29.48 PM
  10. Click “ok”
  11. Switch to the “Manifest View” by clicking “Manifest View”Screen Shot 2015-09-17 at 1.31.58 PM
  12. Click “My Slices”. A window will popup listing your new slice.Screen Shot 2015-09-17 at 1.33.33 PM
  13. Select the slice and click “Query”.  A window will popup listing the status of your requested resources.  The status could be:  Ticketed, Active, or Failed.  Ticketed resources are not yet ready.  Active resources are ready to use.   Failed resources experienced a problem that prevented it from becoming Active. Screen Shot 2015-09-17 at 1.36.58 PM
  14. If your resources are Ticketed then click “ok”, wait a couple of minutes, then query for the slice again.  Repeat until the resources are Active.
  15. If your xterm or putty configuration is correct you can login to the VM by right clicking the VM and choosing “Login to Node”.   Alternatively,  you can right-click the node and choose “View Properties” to see the public IP address of the VM.  You can then ssh to the VM using that address and the private key that corresponds to the public key you referenced in your .flukes.properties file.Screen Shot 2015-09-17 at 1.41.31 PM

Dumbell Slice

  1. Start Flukes
  2. Click the field twice to insert two VMs into the request.Screen Shot 2015-09-17 at 1.43.43 PM
  3. Click and drag a line from one node to the other.  This creates a point-to-point Ethernet between the nodes.Screen Shot 2015-09-17 at 1.44.45 PM
  4. Edit the properties of each node.  Set:  (node type: “XO medium”,  image: “Centos 6.3 v1.0.10”, domain: “System select”)
  5. In addition, set the Link0 IP address of one VM to and the other to Shot 2015-09-17 at 1.48.55 PM
  6. Name your slice (suggestion:  <login_name>.dumbell1)
  7. Submit the request
  8. Query for the manifest. Notice that there are three resources this time (2 VMs and 1 link)Screen Shot 2015-09-17 at 1.51.06 PM
  9. After all resources are Active, login to one of the VMs. Run ifconfig.   Notice that the VM has an extra interface that has been assigned the 172.16.1.x address that you specified in the request.Screen Shot 2015-09-17 at 1.52.41 PM
  10. Try pinging the other VM.Screen Shot 2015-09-17 at 1.54.10 PM

Have something to add?

Loading Facebook Comments ...