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:
- In a browser, go to the GENI portal (https://portal.geni.net/)
- Click the “Use GENI” button
- 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”
- 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.
- Click your name in the upper right corner and choose “Profile” from the dropdown menu.
- 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.
- Click “SSL” in the grey bar.
- Click “Create an SSL certificate”
- Click “Generate Combined Certificate and Key File”
- 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).
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.
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:
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.
orca.xmlrpc.url=https://geni.renci.org:11443/orca/xmlrpc user.certfile=/Users/pruth/.ssl/geni-pruth.pem user.certkeyfile=/Users/pruth/.ssl/geni-pruth.pem enable.modify=true ssh.key=~/.ssh/id_dsa # SSH Public key to install into VM instances ssh.pubkey=~/.ssh/id_dsa.pub # Secondary login (works with ssh.other.pubkey) ssh.other.login=pruth # Secondary public SSH keys ssh.other.pubkey=~/.ssh/id_dsa.pub # Should the secondary account have sudo privileges ssh.other.sudo=yes # Path to XTerm executable on your system xterm.path=/opt/X11/bin/xterm
4. Run the the jnlp by double clicking the file or by using the javaws application on the command line.
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.
- Start Flukes as described above
- Click in the field to place a VM in the request.
- 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.
- Choose a node type: (suggestion: XO Medium)
- Choose an image: (suggestion: Centos 6.3 v1.0.10)
- Choose a domain: (suggestion: Leave as “System select)
- Press “Ok”
- Name your slice by putting a short string in the text box next to the submit button: (suggestion: <yourlogin>.test1
- 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).
- Click “ok”
- Switch to the “Manifest View” by clicking “Manifest View”
- Click “My Slices”. A window will popup listing your new slice.
- 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.
- 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.
- 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.
- Start Flukes
- Click the field twice to insert two VMs into the request.
- Click and drag a line from one node to the other. This creates a point-to-point Ethernet between the nodes.
- Edit the properties of each node. Set: (node type: “XO medium”, image: “Centos 6.3 v1.0.10”, domain: “System select”)
- In addition, set the Link0 IP address of one VM to 172.16.1.1/24 and the other to 172.16.1.2/24.
- Name your slice (suggestion: <login_name>.dumbell1)
- Submit the request
- Query for the manifest. Notice that there are three resources this time (2 VMs and 1 link)
- 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.
- Try pinging the other VM.