= [.. Lab Zero: A First Experiment Using GENI] = {{{ #!html
Image Map
}}} == 1. Design the Experiment == {{{ #!html
  1. In today's experiment you will use resources at the aggregate listed on the worksheet. If you don't have a worksheet use RENCI ExoGENI
}}} == 2. Establish the Environment == === 2.1 Pre-work: Create a GENI account === {{{ #!html
  1. Go to https://portal.geni.net and press the Use GENI button
  2. From the Drop Down menu select your institution. If you got an account through the GENI Identity Provider, please select GENI Project Office.
    Tip Start typing the name of your institution and see the list become smaller.
  3. You will be transferred to the Login Page of your institution. Fill in your username and password.
  4. Complete the form that appears after you have successfully logged in and press Continue.
  5. You will be transferred to an Activation Page. Make sure both checkboxes are checked and then press Activate.
Use GENI
Figure 2-1 Logging into the GENI Experimenter Portal.
}}} Congratulations, you have successfully created a GENI account. === 2.2 Pre-work: Project lead adds you to a project === In order to use the portal to reserve resources, you must join a project. We have created a project for this tutorial. {{{ #!html
  1. The tutorial organizers should have added you to the project for this tutorial. On the home page, you should see that you are a member of at least one project.
    Tip If you are not doing this exercise as part of an in-person tutorial please sign up for a GENI account and join a project.
}}} === 2.3 Generate and Download SSH Keypair === Access to compute resources in GENI is provided through ssh key pairs and thus the portal needs a public key to upload to compute resources. For the purposes of the tutorial we will have the portal create an SSH key pair for you. (However, if you prefer to use your personal public key you can choose to upload it.) {{{ #!html
  1. Once you are logged in, click on the Profile page.
  2. On the Profile page in the SSH Keys section, select generate and download an SSH keypair button.
Generate an SSH Key Pair
Figure 2-2 On the Profile page, select the "generate and download an SSH keypair" button.
  1. Enter the same passphrase twice, then press Generate SSH private key.
Generate an SSH Key Pair
Figure 2-3 Enter passphrase twice, then generate SSH private key.
  1. Now, press the Download Private Key button
  2. If you are using a command line based ssh client, open a terminal and execute:
    $ mv ~/Downloads/id_geni_ssh_rsa ~/.ssh/.
    $ chmod 0600 ~/.ssh/id_geni_ssh_rsa
    $ ssh-add ~/.ssh/id_geni_ssh_rsa
    
    Later in the tutorial, this will allow you to log into your nodes securely without a password.
Download an SSH Key Pair
Figure 2-4 Download an SSH Key Pair.
}}} == 3. Obtain Resources == Now that you are a member of a project, you can create a slice and reserve resources. === 3.1 Create a slice === {{{ #!html
  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. If you don't have a worksheet, use lab0<your initials>. You can leave the description empty and press Create Slice
Create a GENI Slice
Figure 3-1 Create a new slice.
}}} === 3.2 (optional) Renew your slice === Slices and the resources within them are reserved until their individual ''expiration times''. Renewing allows you to extend the expiration time of your slice and the resources in them. {{{ #!html
Warning Slices and the resources within them have distinct expiration times. You must renew both the slice and the resources separately.
}}} {{{ #!html
  1. On the Slice page, select the Renew slice only radio button.
  2. Click on the date below. In the calendar that pops up, select a date in the near future.
  3. Press Renew to renew the slice. Renewing the slice now allows the resources to have longer initial expiration times.
Renew slice
Figure 3-2 Renew the slice.
}}} === 3.3 Reserve Two Virtual Machines at One Aggregate === The Portal is integrated with a tool, Jacks, which allows you to draw topologies of GENI resources and then reserve them. {{{ #!html
  1. On the Slice tab, press the Slice Jacks (beta) button.
  2. In the window that opens, click the Add Resources button.
Launch Jacks
Figure 3-3 Launch Jacks
  1. Wait for Jacks to open in editing mode. Jacks should look like the picture to the right.
Jacks
Figure 3-4 Jacks after it has loaded.
  1. Click the Blue EG VM box and drag it onto the canvas. This icon represents an ExoSmall VM at ExoGENI.
  2. Repeat the above step twice. You should now see three VM boxes on the canvas.
  3. Now click near one of the VM boxes on the canvas, then click and drag towards another VM. Release when you reach the other VM. You should now see a line and a box representing a link connecting the two VMs.
  4. Draw two more links so that the three nodes are connected in a triangle.
  5. The canvas should now look like the picture on the right.
Three VMs connected in a triangle.
Figure 3-5 Three VMs connected in a triangle.
  1. To edit the name of the VM, click the VM box.
  2. In the "Name" field at the top, replace "node-0" with "NodeA".
  3. Repeat for the VMs labeled node-1 and node-2. In the "Name" field at the top, replace "node-1" with "NodeB" and replace "node-2" with "NodeC".
Relabel VM
Figure 3-6 Edit the name of the VM.
  1. Now click on the unlabeled box in the middle of the link between "NodeA" and "NodeB".
  2. Enter an IP Address for the "NodeA" interface of 192.168.1.10.
  3. Enter a Mask of 255.255.255.0.
  4. Scroll down further and set IP Address of the "NodeB" interface to 192.168.1.11 and a Mask of 255.255.255.0.
Edit IP and Mask
Figure 3-7 Edit the IP Address and Mask of the interface on the VM.
  1. Continue by setting the IP addresses and masks for the remaining four interfaces as shown in Figure 3-8.
route topology
Figure 3-8 Configure the remaining interfaces with the IP addresses and Masks specified in the figure.
  1. Click the "Site 0" box and select the aggregate you've been assigned from the pulldown menu. If you have not been assigned an aggregate or are doing this exercise out of a class or tutorial use RENCI ExoGENI. The "Reserved Resources" button at the bottom of the pane should now be clickable.
  2. Click the "Reserve Resources" button near the bottom of the page.
Binding to an aggregate
Figure 3-9 Binding the topology to an aggregate.
}}} === 3.4 Check Whether Virtual Machines are Ready to be Used === {{{ #!html
  1. After clicking the "Reserve Resources" button, a new page will open giving "Status".
  2. Once the "Status" states "Finished", resources have been reserved. However, the nodes still need to come up which may take some time.
Status Finished
Figure 3-10 Reservation complete.
  1. Return to the Slice page, and then the Slice Jack (beta) page.
  2. Wait until all of the nodes turn green. The page should now look like the picture on the right.
Status Finished
Figure 3-11 Nodes are ready to login.
}}} ---- = [.. Introduction] = = [../Execute Next: Execute] =