| 1 | = [.. Lab Zero: A First Experiment Using GENI] = |
| 2 | {{{ |
| 3 | #!html |
| 4 | |
| 5 | |
| 6 | <div style="text-align:center; width:495px; margin-left:auto; margin-right:auto;"> |
| 7 | <img id="Image-Maps_5201305222028436" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Setup.jpg?format=raw" usemap="#Image-Maps_5201305222028436" border="0" width="495" height="138" alt="" /> |
| 8 | <map id="_Image-Maps_5201305222028436" name="Image-Maps_5201305222028436"> |
| 9 | <area shape="rect" coords="18,18,135,110" href="./DesignSetup" alt="" title="" /> |
| 10 | <area shape="rect" coords="180,18,297,111" href="./Execute" alt="" title="" /> |
| 11 | <area shape="rect" coords="344,17,460,110" href="./Finish" alt="" title="" /> |
| 12 | <area shape="rect" coords="493,136,495,138" href="http://www.image-maps.com/index.php?aff=mapped_users_5201305222028436" alt="Image Map" title="Image Map" /> |
| 13 | </map> |
| 14 | <!-- Image map text links - End - --> |
| 15 | |
| 16 | </div> |
| 17 | }}} |
| 18 | |
| 19 | |
| 20 | |
| 21 | == 1. Design the Experiment == |
| 22 | |
| 23 | {{{ |
| 24 | #!html |
| 25 | <table border="0"> |
| 26 | <tr> |
| 27 | <td > |
| 28 | <ol type='a'><li>In today's experiment you will use resources at the aggregate listed on the worksheet. If you don't have a worksheet use <i>Clemson InstaGENI (aka instageni.clemson.edu)</i> </li> |
| 29 | </ol> |
| 30 | </td> |
| 31 | </tr> |
| 32 | </table> |
| 33 | }}} |
| 34 | |
| 35 | == 2. Establish the Environment == |
| 36 | |
| 37 | |
| 38 | |
| 39 | === 2.1 Pre-work: Create a GENI account === |
| 40 | {{{ |
| 41 | #!html |
| 42 | <table border="0"> |
| 43 | |
| 44 | <tr> |
| 45 | |
| 46 | <td > |
| 47 | <ol type='a'> |
| 48 | <li> Go to <a href="https://portal.geni.net"> https://portal.geni.net </a> and press the <b> Use GENI </b> button</li> |
| 49 | <li> From the Drop Down menu select your institution. If you got an account through the GENI Identity Provider, please select <b>GENI Project Office</b>. |
| 50 | <br/> |
| 51 | |
| 52 | <table id="Table_03" border="0" cellpadding="5" cellspacing="0"> |
| 53 | <tr> |
| 54 | <td> |
| 55 | <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Symbols-Tips-icon.png?format=raw" width="50" height="50" alt="Tip"> |
| 56 | </td> |
| 57 | <td> |
| 58 | Start typing the name of your institution and see the list become smaller. |
| 59 | </tr> |
| 60 | </table> |
| 61 | </li> |
| 62 | <li> You will be transferred to the Login Page of your institution. Fill in your username and password. </li> |
| 63 | <li> <FONT COLOR="black">Complete the form that appears after you have successfully logged in and press <b>Continue</b>.</font></li> |
| 64 | <li> <FONT COLOR="black">You will be transferred to an <b>Activation Page</b>. Make sure both checkboxes are checked and then press <b>Activate</b></font>. </li> |
| 65 | </ol> |
| 66 | </td> |
| 67 | <td> |
| 68 | |
| 69 | <a href="https://portal.geni.net"> |
| 70 | <!--img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/Graphics/login.png?format=raw" alt="Login to GENI" height="120" title="Use GENI" /> </a> |
| 71 | |
| 72 | <br/--><img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/PortalSimpleLayer2Example/Graphics/portal_login.png?format=raw" alt="Use GENI" width="375" title="Login to GENI" /> </a> |
| 73 | <br /> |
| 74 | <b>Figure 2-1</b> <i>Logging into the GENI Experimenter Portal.</i> |
| 75 | </td> |
| 76 | </tr> |
| 77 | </table> |
| 78 | }}} |
| 79 | |
| 80 | Congratulations, you have successfully created a GENI account. |
| 81 | |
| 82 | |
| 83 | === 2.2 Pre-work: Project lead adds you to a project === |
| 84 | In order to use the portal to reserve resources, you must join a project. We have created a project for this tutorial. |
| 85 | |
| 86 | {{{ |
| 87 | #!html |
| 88 | <table border="0"> |
| 89 | |
| 90 | <tr> |
| 91 | <td > |
| 92 | <ol type='a'> |
| 93 | <li> 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. |
| 94 | <table id="Table_03" border="0" cellpadding="5" cellspacing="0"> |
| 95 | <tr> |
| 96 | <td> |
| 97 | <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Symbols-Tips-icon.png?format=raw" width="50" height="50" alt="Tip"> |
| 98 | </td> |
| 99 | <td> |
| 100 | If you are not doing this exercise as part of an in-person tutorial please sign up for a <a target="_blank" href="http://groups.geni.net/geni/wiki/SignMeUp">GENI account</a> and join a project. |
| 101 | </td> |
| 102 | </tr> |
| 103 | </table> |
| 104 | |
| 105 | |
| 106 | </li> |
| 107 | </ol> |
| 108 | </td> |
| 109 | |
| 110 | </tr> |
| 111 | </table> |
| 112 | }}} |
| 113 | |
| 114 | |
| 115 | |
| 116 | === 2.3 Generate and Download SSH Keypair === |
| 117 | |
| 118 | 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.) |
| 119 | |
| 120 | {{{ |
| 121 | #!html |
| 122 | <table border="0"> |
| 123 | <tr> |
| 124 | <td > |
| 125 | <ol type='a'> |
| 126 | <li>Once you are logged in, click on the <i>Profile</i> page.</li> |
| 127 | <li>On the <i>Profile</i> page in the <i>SSH Keys</i> section, select <b>generate and download an SSH keypair</b> button.</li> |
| 128 | |
| 129 | </ol> |
| 130 | </td> |
| 131 | <td> |
| 132 | <img src="http://groups.geni.net/geni/attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/profile_sshkeys_3_v4.png?format=raw" alt="Generate an SSH Key Pair" width="400" title="Generate an SSH Key Pair" /> </a> |
| 133 | <br/> |
| 134 | <b>Figure 2-2</b> <i>On the </i>Profile<i> page, select the "generate and download an SSH keypair" button.</i> |
| 135 | </td> |
| 136 | </tr> |
| 137 | <tr> |
| 138 | <td > |
| 139 | <ol type='a' start='3'> |
| 140 | <li>Enter the same passphrase twice, then press <b>Generate SSH private key</b>.</li> |
| 141 | </ol> |
| 142 | </td> |
| 143 | <td> |
| 144 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/generate_sshkeys_1_v2.png?format=raw" alt="Generate an SSH Key Pair" width="400" title="Generate an SSH Key Pair" /> </a> |
| 145 | <br/> |
| 146 | <b>Figure 2-3</b> <i>Enter passphrase twice, then generate SSH private key.</i> |
| 147 | </td> |
| 148 | </tr> |
| 149 | <tr> |
| 150 | <td > |
| 151 | <ol type='a' start='4'> |
| 152 | <li>Now, press the <b>Download Private Key</b> button</li> |
| 153 | <li><b>If you are using a command line based ssh client</b>, open a terminal and execute: |
| 154 | <pre> |
| 155 | $ mv ~/Downloads/id_geni_ssh_rsa ~/.ssh/. |
| 156 | $ chmod 0600 ~/.ssh/id_geni_ssh_rsa |
| 157 | $ ssh-add ~/.ssh/id_geni_ssh_rsa |
| 158 | </pre> |
| 159 | Later in the tutorial, this will allow you to log into your nodes securely without a password. </li> |
| 160 | |
| 161 | </ol> |
| 162 | </td> |
| 163 | <td> |
| 164 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/download_sshkeys_1_v2.png?format=raw" alt="Download an SSH Key Pair" width="400" title="Download an SSH Key Pair" /> </a> |
| 165 | <br/> |
| 166 | <b>Figure 2-4</b> <i>Download an SSH Key Pair.</i> |
| 167 | </td> |
| 168 | |
| 169 | </tr> |
| 170 | </table> |
| 171 | }}} |
| 172 | |
| 173 | |
| 174 | |
| 175 | == 3. Obtain Resources == |
| 176 | |
| 177 | Now that you are a member of a project, you can create a slice and reserve resources. |
| 178 | |
| 179 | === 3.1 Create a slice === |
| 180 | |
| 181 | {{{ |
| 182 | #!html |
| 183 | <table border="0"> |
| 184 | |
| 185 | <tr> |
| 186 | |
| 187 | <td > |
| 188 | <ol type='a'> |
| 189 | <li> Go to the <i>Home</i> tab. </li> |
| 190 | <li> Press the <b>Create Slice</b> button for this project.</li> |
| 191 | <li> <FONT COLOR="black">As a slice name use the slice name on your worksheet. If you don't have a worksheet, use <i>lab0<your initials></i>. You can leave the description empty and press <b>Create Slice</b></font> |
| 192 | </li> |
| 193 | |
| 194 | |
| 195 | </ol> |
| 196 | </td> |
| 197 | <td> |
| 198 | |
| 199 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/createslice_3_v2.png?format=raw" alt="Create a GENI Slice" width="400" title="Create a GENI Slice" /> |
| 200 | <br /> |
| 201 | <b>Figure 3-1</b> <i>Create a new slice.</i> |
| 202 | </td> |
| 203 | </tr> |
| 204 | </table> |
| 205 | }}} |
| 206 | |
| 207 | === 3.2 (optional) Renew your slice === |
| 208 | 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. |
| 209 | {{{ |
| 210 | #!html |
| 211 | |
| 212 | <table id="Table_01" border="0" cellpadding="5" cellspacing="0"> |
| 213 | <tr> |
| 214 | <td> |
| 215 | <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/warning-icon-hi.png?format=raw" width="50" height="50" alt="Warning"> |
| 216 | </td> |
| 217 | <td>Slices and the resources within them have <i>distinct</i> expiration times. You must renew <b>both</b> the slice and the resources separately. |
| 218 | </td> |
| 219 | </tr> |
| 220 | </table> |
| 221 | }}} |
| 222 | |
| 223 | {{{ |
| 224 | #!html |
| 225 | <table border="0"> |
| 226 | <tr> |
| 227 | |
| 228 | <td > |
| 229 | <ol type='a'> |
| 230 | <li>On the <i>Slice</i> page, select the <b>Renew slice only</b> radio button.</li> |
| 231 | <li>Click on the date below. In the calendar that pops up, select a date in the near future.</li> |
| 232 | <li>Press <b>Renew</b> to renew the slice. Renewing the slice now allows the resources to have longer initial expiration times.</li> |
| 233 | |
| 234 | </ol> |
| 235 | </td> |
| 236 | <td> |
| 237 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/renew_slice_v3.png?format=raw" alt="Renew slice" width="400" title="Renew Slice" /> |
| 238 | <br /> |
| 239 | <b>Figure 3-2</b> <i>Renew the slice.</i></i> |
| 240 | </td> |
| 241 | </tr> |
| 242 | </table> |
| 243 | }}} |
| 244 | |
| 245 | |
| 246 | === 3.3 Reserve Two Virtual Machines at One Aggregate === |
| 247 | The Portal is integrated with a tool, Jacks, which allows you to draw topologies of GENI resources and then reserve them. |
| 248 | |
| 249 | |
| 250 | {{{ |
| 251 | #!html |
| 252 | <table border="0"> |
| 253 | |
| 254 | <tr> |
| 255 | <td > |
| 256 | <ol type='a'> |
| 257 | <li>On the <i>Slice</i> tab, press the <b>Slice Jacks (beta)</b> button. </li> |
| 258 | <li>In the window that opens, click the <i>Add Resources</i> button. </li> |
| 259 | </ol> |
| 260 | </td> |
| 261 | <td> |
| 262 | |
| 263 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_1.png?format=raw" alt="Launch Jacks" width="400" title="Launch Jacks" /> |
| 264 | <br /> |
| 265 | <b>Figure 3-3</b> <i>Launch Jacks</i> |
| 266 | </td> |
| 267 | </tr> |
| 268 | <tr> |
| 269 | |
| 270 | <td > |
| 271 | <ol type='a' start='3'> |
| 272 | <li>Wait for Jacks to open in editing mode. Jacks should look like the picture to the right.</li> |
| 273 | </ol> |
| 274 | </td> |
| 275 | <td> |
| 276 | |
| 277 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_2.png?format=raw" alt="Jacks" width="400" title="Jacks" /> |
| 278 | <br /> |
| 279 | <b>Figure 3-4</b> <i>Jacks after it has loaded.</i> |
| 280 | </td> |
| 281 | </tr> |
| 282 | <tr> |
| 283 | <td > |
| 284 | <ol type='a' start='4'> |
| 285 | <li>Click the black <b>VM</b> box and drag it onto the canvas. This icon represents a generic `default-vm` which the aggregate has a well known default for (for InstaGENI it is a Xen VM and for ExoGENI it is an ExoSmall).</li> |
| 286 | <li>Repeat the above step. You should now see two <b>VM</b> boxes on the canvas.</li> |
| 287 | <li>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 connecting the two VMs.</li> |
| 288 | <li>The canvas should now look like the picture on the right.</li> |
| 289 | |
| 290 | </ol> |
| 291 | </td> |
| 292 | <td> |
| 293 | |
| 294 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_3.png?format=raw" alt="Two VMs connected by a link." width="400" title="Two VMs connected by a link." /> |
| 295 | <br /> |
| 296 | <b>Figure 3-5</b> <i>Two VMs connected by a link.</i> |
| 297 | </td> |
| 298 | </tr> |
| 299 | <tr> |
| 300 | |
| 301 | <td > |
| 302 | <ol type='a' start='8'> |
| 303 | |
| 304 | <li>To edit the name of the VM, click the VM box.</li> |
| 305 | <li>In the "Name" field at the top, replace "node-0" with "client".</li> |
| 306 | <li>Repeat for the VM labeled node-1. In the "Name" field at the top, replace "node-1" with "server".</li> |
| 307 | |
| 308 | </ol> |
| 309 | </td> |
| 310 | <td> |
| 311 | |
| 312 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_4.png?format=raw" alt="Relabel VM" width="400" title="Relabel VM" /> |
| 313 | <br /> |
| 314 | <b>Figure 3-6</b> <i>Edit the name of the VM.</i> |
| 315 | </td> |
| 316 | </tr> |
| 317 | <tr> |
| 318 | <td > |
| 319 | <ol type='a' start='11'> |
| 320 | <li>Now click on the unlabeled box in the middle of the link.</li> |
| 321 | <li>Enter an IP Address for the "node-0/client" interface of <i>10.1.1.1</i>.</li> |
| 322 | <li>Enter a Mask of <i>255.255.255.0</i>.</li> |
| 323 | <li>Scroll down further and set IP Address of the "node-1/server" interface to <i>10.1.1.2</i> and a Mask of <i>255.255.255.0</i>.</li> |
| 324 | </ol> |
| 325 | </td> |
| 326 | <td> |
| 327 | |
| 328 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_5.png?format=raw" alt="Relabel VM" width="400" title="Relabel VM" /> |
| 329 | <br /> |
| 330 | <b>Figure 3-7</b> <i>Edit the IP Address and Mask of the VM. </i> |
| 331 | </td> |
| 332 | </tr> |
| 333 | <tr> |
| 334 | <td > |
| 335 | <ol type='a' start='15'> |
| 336 | <li>Click the "Site 0" box and select the aggregate you've been assigned from the pulldown menu. The "Reserved Resources" button at the bottom of the pane should now be clickable.</li> |
| 337 | <li>Click the "Reserve Resources" button near the bottom of the page.</li> |
| 338 | </ol> |
| 339 | </td> |
| 340 | <td> |
| 341 | |
| 342 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_7.png?format=raw" alt="Two VMs connected by a link" width="400" title="Two VMs connected by a link" /> |
| 343 | <br /> |
| 344 | <b>Figure 3-8</b> <i>Binding the topology to an aggregate.</i> |
| 345 | </td> |
| 346 | </tr> |
| 347 | </table> |
| 348 | }}} |
| 349 | |
| 350 | |
| 351 | === 3.4 Check Whether Virtual Machines are Ready to be Used === |
| 352 | {{{ |
| 353 | #!html |
| 354 | <table> |
| 355 | <tr> |
| 356 | <td > |
| 357 | <ol type='a' start='1'> |
| 358 | <li>After clicking the "Reserve Resources" button, a new page will open giving "Status".</li> |
| 359 | <li>Once the "Status" states "Finished", resources have been reserved. However, the nodes still need to come up which may take some time.</li> |
| 360 | </ol> |
| 361 | </td> |
| 362 | <td> |
| 363 | |
| 364 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_14.png?format=raw" alt="Status Finished" width="400" title="Reservation Finished" /> |
| 365 | <br /> |
| 366 | <b>Figure 3-9</b> <i>Reservation complete. </i> |
| 367 | </td> |
| 368 | </tr> |
| 369 | <tr> |
| 370 | <td > |
| 371 | <ol type='a' start='3'> |
| 372 | <li>Return to the <b>Slice</b> page, and then the <b>Slice Jack (beta)</b> page. </li> |
| 373 | <li>Wait until all of the nodes turn green. The page should now look like the picture on the right.</li> |
| 374 | </ol> |
| 375 | </td> |
| 376 | <td> |
| 377 | |
| 378 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_16.png?format=raw" alt="Status Finished" width="400" title="Status Finished" /> |
| 379 | <br /> |
| 380 | <b>Figure 3-10</b> <i>Nodes are ready to login.</i> |
| 381 | </td> |
| 382 | </tr> |
| 383 | |
| 384 | </table> |
| 385 | }}} |
| 386 | |
| 387 | |
| 388 | ---- |
| 389 | = [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartI/Procedure Introduction] = |
| 390 | = [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartI/Procedure/Execute Next: Execute] = |