wiki:GENIExperimenter/Tutorials/GENI-SAVI

Get to Know GENI and SAVI

Overview:

The Canadian SAVI (Smart Applications on Virtual Infrastructure) testbed is a network of OpenStack Clouds running at a number of sites across Canada. The American GENI (Global Environment for Network Innovations) testbed includes, among other capabilities, a distributed cloud. Used together, GENI and SAVI form a distributed cloud across over 60 sites in North America.

In this tutorial, attendees will learn to create a slice spanning the GENI and SAVI testbeds, and orchestrate the actions of the VMs across the entire joint testbed.


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=<slice name>&name=<container name>&ip=<IP of host>&lat=<latitude of host>&lng=<longitude of container>

This page will log each of your queries, and you can check that all your nodes were successfully able to run the query by viewing them on a map.


To meet this objective, participants will use Ansible to install software and run commands on one GENI virtual machine and one SAVI virtual machine.

Prerequisites:

  • Familiarity with Linux and the command line.
  • Have an account on the GENI testbed.

Tools:

  • During the tutorial we will use the GENI/SAVI Federation Tool to allocate slices across the two testbeds.
  • We will be using Ansible to install software in and manage the joint slices.

How to get help:

During the tutorial, please raise your hand and one of the tutorial leaders will help you.

Resources:

Tutorial Instructions

Design/Setup
  • Part I: Design/Setup
    1. Learn to use the GENI/SAVI Federation Tool on the SAVI client machines
    2. Allocate a slice spanning GENI and SAVI
    3. Configure the Ansible controller for your slice
    4. Learn basic concepts of Ansible
Execute
  • Part II: Execute
    1. Create and run an Ansible playbook to install the software you'll need
    2. Create an Ansible playbook to download a parameterized URL from each node
    3. Run the playbook
    4. Verify that the playbook worked as expected
Finish
Last modified 9 years ago Last modified on 06/23/15 11:36:41