Understanding the AM API through a simple experiment

Slides:



Advertisements
Similar presentations
Sponsored by the National Science Foundation Working with Collaborators.
Advertisements

Sponsored by the National Science Foundation Lab Zero: A First Experiment.
Sponsored by the National Science Foundation 1 Lab Zero – November 6, 2014 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you.
Sponsored by the National Science Foundation Using Omni to Build Tools Sarah Edwards, GENI Project Office 23 July 2013 $ omni.py createsliver aliceslice.
Sponsored by the National Science Foundation An Introduction to GENI Tools Sarah Edwards GENI Project Office.
Using the jFed tool to experiment from zero to hero Brecht Vermeulen FGRE, July 7 th, 2015.
Sponsored by the National Science Foundation Omni: a command line GENI resource reservation tool Niky Riga, Sarah Edwards GENI Project Office 13 March,
OnTimeMeasure Integration with Gush Prasad Calyam, Ph.D. (PI) Tony Zhu (Software Programmer) Alex Berryman (REU Student) GEC10 Selected.
Sponsored by the National Science Foundation Tutorial: Advanced Topics in Networking Experiments using GENI Niky Riga, Sarah Edwards GENI Project Office.
Sarah Edwards, GENI Project Office
Andy Bavier, PlanetWorks Scott Baker, SB-Software July 27, 2011.
National Science Foundation Arlington, Virginia January 7-8, 2013 Tom Lehman University of Maryland Mid-Atlantic Crossroads.
Sponsored by the National Science Foundation GENI Exploring Networks of the Future Niky Riga, GENI Project Office
Using the jFed tool to experiment from zero to hero Brecht Vermeulen Thijs Walcarius GEC 22, March 24 th, 2015.
Sponsored by the National Science Foundation Towards an Ontology-savvy Aggregate Manager API Marshall Brinn GENI Program Office Sept. 17, 2015.
| nectar.org.au NECTAR TRAINING Module 10 Beyond the Dashboard.
GEC 15 Houston, Texas October 23, 2012 Tom Lehman Xi Yang University of Maryland Mid-Atlantic Crossroads (MAX)
Visual Experiment Management Matt Strum, University of Utah.
Sponsored by the National Science Foundation Survey of Available GENI Resources Aaron Falk GENI Project Office 26 July 2011.
Sponsored by the National Science Foundation 1 September 15, 2015 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do the.
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation An Introduction to GENI Tools Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation GENI Exploring Networks of the Future
Sponsored by the National Science Foundation GENI Exploring Networks of the Future Sarah Edwards, GPO
Sponsored by the National Science Foundation GENI Terminology: How All the Pieces Fit Together Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation 1 GREESC15– May 25, 2015 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do.
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation LabWiki Tutorial (OMF/OML) Divya Bhat, Mike Zink, Pieter Becue, Brecht Vermeulen GEC20 July 8 th 2014, Ghent,
Sponsored by the National Science Foundation 1 Last updated April 1, 2013 Are you ready for the tutorial? 1.Sign In 2.Grab a Worksheet 3.Did you do the.
Sponsored by the National Science Foundation Tutorial: Introduction to Omni Niky Riga GENI Project Office GREESC13 $ omni.py createsliver aliceslice myRSpec.xml.
Sponsored by the National Science Foundation Getting Started With Your Own Experiment Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation 1 ICDCS13: July 8, 2013 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do the.
Sponsored by the National Science Foundation 1 GEC16: March 20, 2013 Are you ready for the tutorial? 1.Did you do the pre-work? A.Are you able to login.
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI.
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation featuring Named Data Networking.
Behind the Scenes of GENI Experimentation Understanding GENI AM API and RSpec Sponsored by the National Science Foundation
Sponsored by the National Science Foundation Understanding the AM API through a simple Hadoop experiment.
Sponsored by the National Science Foundation 1 GREE SC: June 24, 2013 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do.
Sponsored by the National Science Foundation GENI Aggregate Manager API Tom Mitchell March 16, 2010.
Behind the Scenes of GENI Experimentation Understanding GENI AM API and RSpec Sponsored by the National Science Foundation
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation An Introduction to GENI Tools Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation Tutorial: Experimenter Workflow and Topologies using GENI Niky Riga, Sarah Edwards GENI Project Office 13.
| nectar.org.au NECTAR TRAINING Module 10 Beyond the Dashboard.
LAMP and INSTOOLS A configuration overview 118/05/2012 Raphael Dourado.
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation Getting Started With Your Own Experiment.
Sponsored by the National Science Foundation Today’s Exercise.
Sponsored by the National Science Foundation Tutorial: Advanced Topics in Networking Experiments using GENI Niky Riga, Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation 1 Lab Zero – October 20, 2014 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you.
Sponsored by the National Science Foundation GENI Exploring Networks of the Future
Sponsored by the National Science Foundation GENI Exploring Networks of the Future
Behind the Scenes of GENI Experimentation An Introduction to GENI Tools Sponsored by the National Science Foundation.
Sponsored by the National Science Foundation 1 Lab Zero – March 14, 2014 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you.
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation featuring Named Data Networking Sarah Edwards.
Sponsored by the National Science Foundation GENI Exploring Networks of the Future
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation An Introduction to GENI Tools Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation featuring Content Centric Networking.
Sponsored by the National Science Foundation Understanding the AM API through a simple Hadoop experiment.
Sponsored by the National Science Foundation Tutorial: Advanced Topics in Networking Experiments using GENI Niky Riga, Vic Thomas, Tim Upthegrove GENI.
Sponsored by the National Science Foundation Click Software Routers Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation GENI Terminology Sarah Edwards, GENI Project Office Violet Syrotiuk, Arizona State University.
Sponsored by the National Science Foundation 1 GEC16: March 19, 2013 Are you ready for the tutorial? 1.Sign In 2.Grab a Worksheet 3.Did you do the pre-work?
Sponsored by the National Science Foundation GEC17 Plenary Session: Architecture Marshall Brinn, GPO July 22, 2013.
Using the jFed tool to experiment from zero to hero
Run a Complete Experiment
Lab Zero: A First Experiment using GENI
GENI Exploring Networks of the Future
Getting Started With Your Own Experiment
GENI Terminology Sponsored by the National Science Foundation.
Basic Tutorial Part II 31/12/2018.
GENI Exploring Networks of the Future
Presentation transcript:

Understanding the AM API through a simple experiment

In Part 1 You Learned to… Log into the GENI Portal

In Part 1 You Learned to… Log into the GENI Portal Create a slice

In Part 1 You Learned to… Log into the GENI Portal Create a slice Launch the Flack experimenter tool

In Part 1 You Learned to… Log into the GENI Portal Create a slice Launch the Flack experimenter tool Set up a simple experiment Add resources to your slice from an aggregate Use the resources in your slice

In Part 1 You Learned to… Log into the GENI Portal Create a slice Launch the Flack experimenter tool Set up a simple experiment Add resources to your slice from an aggregate Use the resources in your slice Delete resources in your slice

In Part 2 You will Learn… What happens behind the scenes when you run an experiment on GENI New concepts: GENI Resource Specifications (RSpecs) GENI Aggregate Manager API (GENI AM API)

GENI Resource Specifications (RSpecs) RSpecs are XML documents that describe resources VMs, links, etc. RSpec for a virtual machine with one interface: <?xml version="1.0" encoding="UTF-8"?> <rspec type="request” xsi:schemaLocation="http://www.geni.net/resources/rspec/3 … xmlns="http://www.geni.net/resources/rspec/3"> <node client_id="server" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm”> <sliver_type name="emulab-openvz"/> <interface client_id="server:if0”> </interface> </node> </rspec>

RSpecs RSpec documents are exchanged by experimenter tools (e.g. Flack) and aggregates Aggregates use RSpecs to describe what they have – Advertisement RSpecs Experimenters use RSpecs to describe the resources they want – Request RSpecs Aggregates use RSpecs to describe the resources allocated to an experimenter – Manifest RSpecs

The GENI AM API Experimenter tools and aggregates talk to each other using the GENI Aggregate Manager API (GENI AM API) ListResources(…) Advertisement RSpec CreateSliver(Request RSpec, …) Aggregate Manager Experimenter Tool Manifest RSpec ListResources(SliceName, …) Manifest RSpec

Putting it all Together… Flack calls ListResources on all aggregates it knows about Aggregates send back advertisement RSpecs Flack uses information in the advertisements to populate its palette of resources

Putting it all Together… When you drag and drop resources on to the Flack canvas, it creates request RSpecs for these resources To view the request Rspec click on “View” and select “Preview request documents” When you click “Submit”, Flack makes createSliver calls on the aggregates

Putting it all Together… Flack periodically calls sliverStatus on the aggregates to check on the status of your request When sliverStatus shows: Resources have been allocated, Flack turns its canvas yellow Resources are ready to use, Flack turns its canvas green

Putting it all Together… listResources with a slice name returns a manifest RSpec Manifest includes names and ports used to ssh into VMs Flack uses this information to help you log into your resources

Putting it all Together… When you deleted your resources, Flack called deleteSliver on the aggregates

Hands-On Exercise Reinforce understanding of the new concepts by: Viewing and editing RSpec documents Making the AM API calls ourselves using the Omni experimenter tool

The Exercise Repeat the experiment from Part 1 by loading an RSpec into Flack Instead of drawing the topology ourselves (saves time) Edit the RSpec using Flack but don’t “submit” Save the request RSpec generated by Flack into a file Use Omni to make GENI AM API calls to send the request RSpec, check status of resources, etc.

GENI AM API Calls Used listresources: Get an advertisement rspec listing the resources at an aggregate createsliver: Request resources from an aggregate sliverstatus: Get status of resources allocated to a slice at an aggregate deletesliver: Delete resources allocated to a slice by an aggregate For a complete list of GENI AM API calls see: http://groups.geni.net/geni/wiki/GAPI_AM_API

Omni: Resource Reservation tool A command line experimenter tool Useful for making AM API calls on aggregates Written in and scriptable from Python Works with aggregates that implement the GENI AM API ProtoGENI, PlanetLab, OpenFlow, InstaGENI, ExoGENI $ omni.py createsliver aliceslice myRSpec.xml INFO:omni:Loading config file omni_config INFO:omni:Using control framework pgeni INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab. expires within 1 day on 2011-07-07 INFO:omni:Creating sliver(s) from rspec file INFO:omni:Writing result of createsliver for INFO:omni:Writing to ‘aliceslice-manifest-rspe INFO:omni: ----------------------------------- INFO:omni: Completed createsliver: Options as run: aggregate: https://www.emulab. framework: pgeni native: True Args: createsliver aliceslice myRSpec.xml Result Summary: Slice urn:publicid:IDN+pgeni Reserved resources on https://www.emulab.net/p Saved createsliver results to aliceslice-man INFO:omni: =================================== http://trac.gpolab.bbn.com/gcf/wiki/Omni

Omni Commands You Will Use omni.py –a aggregatename listresources omni.py –a aggregatename createsliver slicename requestRSpec omni.py –a aggregatename sliverstatus slicename omni.py –a aggregatename listresources slicename omni.py –a aggregatename deletesliver slicename A useful utility (distributed with Omni): readyToLogin.py Gives you the ssh commands you need to log into your nodes readyToLogin.py parses the output of sliverStatus to determine the hostname, portname and username for the ssh commands

Configuring Omni Omni reads a configuration file omni_config to: Get usernames for accounts to be created on compute resources Find locations of ssl certs and ssh key files ssl certs are used to secure communication between Omni and the aggregates ssh key pairs are used log into compute resources Find standard nicknames for aggregates E.g. you can refer to the InstaGENI rack at BBN as ig-bbn instead of https://boss.instageni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0

Creating an Omni Config File Download the GENI bundle from the GENI Portal Run the script omni-configure.py Distributed with Omni Already installed on your virtual machine geni@NSDI13-Tutorials:~$> omni-configure.py –f portal

Watch Instructor do the Exercise

Wrapping Up… By the end of this exercise you should: Feel comfortable running simple experiments on GENI Have a basic understanding of how GENI works Later exercises may skip some of these basic steps to focus on new material You may be given an RSpec to use rather than have you create one You may use slices that have already been created and resources added to them For a description of the GENI concepts you have learned, see: http://groups.geni.net/geni/wiki/GENIConcepts

Try it on Your Own… You should have a printout with detailed instructions Online instructions: http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/UnderstandAMAPI/Procedure