omni: a command line geni resource reservation tool

16
Sponsored by the National Science Foundation Omni: a command line GENI resource reservation tool Niky Riga, Sarah Edwards GENI Project Office 13 March, 2012

Upload: herve

Post on 22-Feb-2016

58 views

Category:

Documents


0 download

DESCRIPTION

Omni: a command line GENI resource reservation tool. Niky Riga, Sarah Edwards GENI Project Office 13 March, 2012. What is Omni?. Omni: Resource Reservation tool. A command line experimenter tool Create slices and slivers using the GENI AM API - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation

Omni:a command line

GENI resource reservation tool

Niky Riga, Sarah EdwardsGENI Project Office

13 March, 2012

Page 2: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 2GEC 13: March 13, 2012

WHAT IS OMNI?

Page 3: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 3GEC 13: March 13, 2012

Omni: Resource Reservation tool

• A command line experimenter tool

• Create slices and slivers using the GENI AM API

• Written in and scriptable from Python

• Use existing user accounts– ProtoGENI (incl. GPO issued)– PlanetLab

• Works with aggregates that implement the GENI AM API – ProtoGENI, PlanetLab,

OpenFlow, …

$ 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 fileINFO:omni:Writing result of createsliver for INFO:omni:Writing to ‘aliceslice-manifest-rspeINFO: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+pgeniReserved resources on https://www.emulab.net/p Saved createsliver results to aliceslice-manINFO:omni: ===================================

http://trac.gpolab.bbn.com/gcf/wiki/Omni

Page 4: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 4GEC 13: March 13, 2012

Omni Command Workflow

createslice

listmyslices

getversion

renewslice createsliver

listresources

sliverstatus

deletesliver

Repeat for each aggregate

Repeat for each aggregate

Create Slice Create Sliver Cleanup

Legend: AM API command

renewsliver

Page 5: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 5GEC 13: March 13, 2012

omni.py getversion

Page 6: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 6GEC 13: March 13, 2012

Omni Commands

• omni.py getversion• omni.py createslice slicename• omni.py renewslice slicename date• omni.py listmyslices username• omni.py createsliver slicename reqRSpec• omni.py sliverstatus slicename• omni.py listresources [slicename]• omni.py deletesliver slicename

Page 7: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 7GEC 13: March 13, 2012

Other Omni command line arguments

-c omni_config to specify an omni_config-f plc to use a different framework-t GENI 3 to specify the version of the Rspec-V 2 to specify the version of the AM API

ProtoGENI and PLC now both support AM API v2.

When running against an AM API v2 aggregate, include both:

-V 2 -t GENI 3

Page 8: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 8GEC 13: March 13, 2012

Getting Help• omni.py –h

Lists all commands and their argumentsLists all command line optionsLists Omni versionLists url to find out more information about Omni

• Omni Troubleshooting page: http://trac.gpolab.bbn.com/gcf/wiki/OmniTroubleShoot

• Omni Configuration instructions:http://trac.gpolab.bbn.com/gcf/wiki/OmniConfigure

• Submitting a bug report:– Send e-mail to [email protected] or [email protected]– Include:

• Exact command run and output of command (if possible, run with --debug)• The omni_config you are using• The request Rspec used to create your sliver

Page 9: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 9GEC 13: March 13, 2012

WHERE & WHEN TO USE OMNI

Page 10: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 10GEC 13: March 13, 2012

Where to use Omni

• Use at aggregates in the GENI Meso-scale – Many of these aggregates only trust GPO credentials– In particular, this includes OpenFlow aggregates

Page 11: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 11GEC 13: March 13, 2012

OpenFlow Mesoscale Overview

OpenFlow Mesoscale deployment :• is a prototype GENI infrastructure • spans multiple sites connected over Layer 2

– 2 backbone, 7 regionals, 8 campuses• is open to experimenters that want to gain early

access to a Layer 2 infrastructure that combines multiple aggregates.

• includes : – OpenFlow aggregates – Private PlanetLab aggregates (MyPLC) – ProtoGeni aggregates

Page 12: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 12GEC 13: March 13, 2012

Where are the GENI meso-scale resources?

10 OpenFlow AM (2 backbones (NLR, I2) + 8 campuses)8 MyPLC AM

- Clemson, GaTech, GPO, Indiana, Rutgers, Stanford, Wisconsin, Washington 2 ProtoGENI AM (GPO, Utah)

Page 13: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 13GEC 13: March 13, 2012

When to use Omni

• Any time a command line tool is preferable• Scripting• Determine ssh command to login to your resource

– readyToLogin.py script is very helpful for this• Also useful for tool development and testing

– AM API acceptance tests use omni scripting– Could use omni scripting to write simple experimenter

tools

Page 14: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 14GEC 13: March 13, 2012

Scripting Omni

• You can write custom Python scripts – Call existing Omni functions– Easily create scripts which take the same

arguments as Omni– Parse the Output

• Example: examples/readyToLogin.py– Calls sliverstatus– Parses output of sliverstatus– Determines ssh command to log into node

• More examples distributed with Omnihttp://trac.gpolab.bbn.com/gcf/wiki/OmniScriptingWithOptions and http://trac.gpolab.bbn.com/gcf/wiki/OmniScriptingExpiration

Page 15: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 15GEC 13: March 13, 2012

WANT TO TRY OMNI?

Page 16: Omni: a command line  GENI resource  reservation tool

Sponsored by the National Science Foundation 16GEC 13: March 13, 2012

Want to try Omni?

• Tutorial: Experimenter Workflow and Example Topologies– After this session at 10:00am in Pacific/Palisades Room– See Omni and Flack in action

• Experimenter Coding Sprint– Thurs at 1:30pm in Pacific/Palisades Room– Get help getting started with a tool or an experiment– Experienced members of the GENI community on hand

• Try it at Home– HelloGENI tutorials at:

http://groups.geni.net/geni/wiki/HelloGENIhttp://groups.geni.net/geni/wiki/GENIExperimenter

– Configuring Omni: http://trac.gpolab.bbn.com/gcf/wiki/OmniConfigure

– Get help: [email protected] or [email protected]