= [http://groups.geni.net/geni/wiki/Tutorials/ICDCS2013/GettingStartedWithGENI_I/Procedure Getting Started With GENI - Part I] = {{{ #!html
Image Map
}}} == 1. Design the Experiment == {{{ #!html
  1. In today's experiment you will use resources at the aggregate listed on the worksheet.
}}} == 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. Open a terminal and execute:
    $ mv ~/Downloads/id_geni_ssh_rsa ~/.ssh/.
    $ chmod 600 ~/.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 (the slice name should be of the form portal##), you can leave the description empty and press Create Slice
Create a GENI Slice
Figure 3-1 Create a new slice.
}}} === 3.2 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 tomorrow's date.
  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, Flack, which allows you to draw topologies of GENI resources and then reserve them. {{{ #!html
  1. On the Slice tab, press the Flack button. Flack will open in a new tab.
Launch Flack
Figure 3-3 Launch Flack
  1. Wait for Flack to load. You should see: the username, the slice name, and a list of aggregates should. Flack should look like the picture to the right.
Flack
Figure 3-4 Flack after it has loaded.
  1. Find the first aggregate listed on your worksheet.
  2. Click the VM box next to that aggregate and drag it onto the canvas.
  3. To edit this VM, click the i in the circle.
Add one VM
Figure 3-5 Draw and edit the first VM.
  1. In the field at the top, replace "VM" with "client".
  2. Then Press "Apply" at the bottom of the screen.
Relabel VM
Figure 3-6 Edit the name of the VM
  1. Repeat the above five steps using the other aggregate listed on your worksheet. Label the second VM "server".
  2. You should now see two VM boxes on the canvas.
Two VMs
Figure 3-7 Two VMs.
  1. Now click near one of the VM boxes on the canvas, then click and drag towards the other VM. Release when you reach the other VM. You should now see a line and a box representing a link (labeled "gre-tunnel1") connecting the two VMs.
  2. To edit this link, click the i in the circle.
Two VMs and a link
Figure 3-8 Two VMs connected by a link.
  1. First, in the Shared VLAN pulldown menu, select "L2-ping-tutorial".
  2. Second, in the field at the top, replace "gre-tunnel0" with "VLAN".
  3. Now Press "Apply" at the bottom of the screen.
Editing the link
Figure 3-9 Edit the link's type and name
  1. The canvas should now look like the picture on the right.
  2. Click the Submit button near the bottom of the page. When prompted, confirm you want to actually reserve resources.
Two VMs and a VLAN
Figure 3-10 Two VMs connected by a VLAN.
}}} === 3.4 Check Whether Virtual Machines are Ready to be Used === {{{ #!html
  1. After clicking the Submit button, wait for the canvas to turn green. (This may take awhile.)
  2. The canvas should now look like the picture on the right.
Resources are ready
Figure 3-11 Two VMs connected by a VLAN are reserved and ready to login.
}}} ---- = [wiki:Tutorials/ICDCS2013/GettingStartedWithGENI_I/Procedure Introduction] = = [wiki:Tutorials/ICDCS2013/GettingStartedWithGENI_I/Procedure/Execute Next: Execute] =