[[PageOutline]] = Get to Know the GENI Experiment Engine = == Overview: == 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"). 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: ''!http://www.lively-web.org/nodejs/GEETutorial/helloWorld?slice=&name=&ip=&local=&lat=&lng='' 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. == Prerequisites: == None == Tools: == - 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. - 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. == How to get help: == == Resources: == == Tutorial Instructions == {{{ #!html
Design/Setup
  • Part I: Design/Setup
    • Get a GEE slicelet and download GEE helper files
    • Learn about GEE networking
    • Learn basic concepts of Ansible
    • Configure the Ansible controller for your slicelet
Execute
  • Part II: Execute
    • Experiment with various Ansible modules: ping, shell, setup
    • Create an Ansible playbook to achieve the tutorial objective
Finish
  • Part III: Finish
    • Verify that the tutorial objective has been met
    • Free the GEE slicelet
}}}