Sponsored by the National Science Foundation Omni: a command line GENI resource reservation tool...

Post on 26-Dec-2015

221 views 0 download

Tags:

Transcript of Sponsored by the National Science Foundation 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 Edwards

GENI Project Office

13 March, 2012

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

WHAT IS OMNI?

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

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

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

omni.py getversion

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

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

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 help@geni.net or omni-users@geni.net– 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

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

WHERE & WHEN TO USE OMNI

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

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

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)

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

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

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

WANT TO TRY OMNI?

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/HelloGENI

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

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

– Get help: help@geni.net or omni-users@geni.net