Sponsored by the National Science Foundation Omni: a command line GENI resource reservation tool...
-
Upload
sylvia-montgomery -
Category
Documents
-
view
221 -
download
0
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 [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
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: [email protected] or [email protected]