| 1 | [[PageOutline]] |
| 2 | |
| 3 | = Get to Know the GENI Experiment Engine = |
| 4 | == Overview: == |
| 5 | The GENI Experiment Engine (GEE) platform provides simple, preconfigured environments called '''slicelets''' to GENI users. A slicelet consists of [https://www.docker.com Docker containers] running on InstaGENI racks; all the containers in a slicelet are connected by a private L3 network. The goal of GEE is to make it fast and easy to get a basic experiment up-and-running on GENI (a.k.a., "the five minute rule"). |
| 6 | |
| 7 | This tutorial will familiarize participants with the GENI experiment engine. The goal of the tutorial is, on each node, to run an http query of the form: |
| 8 | |
| 9 | ''!http://www.lively-web.org/nodejs/GEETutorial/helloWorld?slice=<slice name>&name=<container name>&ip=<IP of host>&local=<IP of container>&lat=<latitude of host>&lng=<longitude of container>'' |
| 10 | |
| 11 | To meet this objective, participants will use [http://docs.ansible.com Ansible] to install software and run commands on GEE slicelets spanning 20 InstaGENI racks. |
| 12 | |
| 13 | == Prerequisites: == |
| 14 | |
| 15 | None |
| 16 | |
| 17 | == Tools: == |
| 18 | - During the tutorial we will use the [http://gee-project.org GEE Portal] to allocate slicelets to participants. You may instead allocate your slicelet in advance if you'd like. |
| 19 | - We will be using [http://docs.ansible.com Ansible] to install software in and manage GEE slicelets. Though it's not required to complete the tutorial, you may want to install Ansible on your laptop following [http://docs.ansible.com/intro_installation.html these instructions]. Ansible does not run directly on Windows; Windows users who want to install Ansible locally can use [http://vagrantup.com Vagrant] to install an Ubuntu VM on their machine, and then install Ansible in that VM. |
| 20 | |
| 21 | == How to get help: == |
| 22 | |
| 23 | == Resources: == |
| 24 | |
| 25 | == Tutorial Instructions == |
| 26 | {{{ |
| 27 | #!html |
| 28 | |
| 29 | |
| 30 | <table id="Table_01" height="409" border="0" cellpadding="0" cellspacing="0"> |
| 31 | <tr> |
| 32 | <td> |
| 33 | <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GENIExperimentEngine/DesignSetup"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/design.png?format=raw" width="152" height="152" alt="Design/Setup"></a> |
| 34 | </td> |
| 35 | <td> |
| 36 | <ul> |
| 37 | <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GENIExperimentEngine/DesignSetup">Part I: Design/Setup</a></li> |
| 38 | <ul> |
| 39 | <li> Get a GEE slicelet and download GEE helper files </li> |
| 40 | <li> Learn about GEE networking </li> |
| 41 | <li> Learn basic concepts of Ansible </li> |
| 42 | <li> Configure the Ansible controller for your slicelet </li> |
| 43 | </ul></ul> |
| 44 | </td> |
| 45 | </tr> |
| 46 | <tr> |
| 47 | <td> |
| 48 | <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GENIExperimentEngine/Execute"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/execute.png?format=raw" width="152" height="143" alt="Execute"></a> |
| 49 | </td> |
| 50 | <td> |
| 51 | <ul> |
| 52 | <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GENIExperimentEngine/Execute">Part II: Execute</a></li> |
| 53 | <ul> |
| 54 | <li> Experiment with various Ansible modules: <b>ping</b>, <b>shell</b>, <b>setup</b> </li> |
| 55 | <li> Create an Ansible playbook to achieve the tutorial objective </li> |
| 56 | </ul></ul> |
| 57 | </td> |
| 58 | </tr> |
| 59 | <tr> |
| 60 | <td> |
| 61 | <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GENIExperimentEngine/Finish"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/finish.png?format=raw" width="152" height="114" alt="Finish"></a> |
| 62 | </td> |
| 63 | |
| 64 | <td> |
| 65 | <ul> |
| 66 | <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GENIExperimentEngine/Finish">Part III: Finish</a></li> |
| 67 | <ul> |
| 68 | <li> Verify that the tutorial objective has been met </li> |
| 69 | <li> Free the GEE slicelet </li> |
| 70 | </ul></ul> |
| 71 | </td> |
| 72 | |
| 73 | </tr> |
| 74 | </table> |
| 75 | |
| 76 | }}} |