Document

Report
Omni:
a command line
GENI resource reservation tool
Niky Riga, Sarah Edwards
GENI Project Office
13 March, 2012
Sponsored by the National Science Foundation
WHAT IS OMNI?
Sponsored by the National Science Foundation
GEC 13: March 13, 2012
2
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 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
Sponsored by the National Science Foundation
GEC 13: March 13, 2012
3
Omni Command Workflow
Create Slice
Create Sliver
Cleanup
Repeat for each
aggregate
getversion
Repeat for each
aggregate
createslice
listresources
renewslice
createsliver
deletesliver
sliverstatus
listmyslices
renewsliver
Sponsored by the National Science Foundation
GEC 13: March 13, 2012
Legend: AM API command
4
omni.py getversion
Sponsored by the National Science Foundation
GEC 13: March 13, 2012
5
Omni Commands
•
•
•
•
•
•
•
•
omni.py
omni.py
omni.py
omni.py
omni.py
omni.py
omni.py
omni.py
getversion
createslice slicename
renewslice slicename date
listmyslices username
createsliver slicename reqRSpec
sliverstatus slicename
listresources [slicename]
deletesliver slicename
Sponsored by the National Science Foundation
GEC 13: March 13, 2012
6
Other Omni command line arguments
-c
-f
-t
-V
omni_config to specify an omni_config
plc to use a different framework
GENI 3 to specify the version of the Rspec
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
GEC 13: March 13, 2012
7
Getting Help
• omni.py –h
Lists all commands and their arguments
Lists all command line options
Lists Omni version
Lists 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
GEC 13: March 13, 2012
8
WHERE & WHEN TO USE OMNI
Sponsored by the National Science Foundation
GEC 13: March 13, 2012
9
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
GEC 13: March 13, 2012
10
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
GEC 13: March 13, 2012
11
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
GEC 13: March 13, 2012
12
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
GEC 13: March 13, 2012
13
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 Omni
http://trac.gpolab.bbn.com/gcf/wiki/OmniScriptingWithOptions and
http://trac.gpolab.bbn.com/gcf/wiki/OmniScriptingExpiration
Sponsored by the National Science Foundation
GEC 13: March 13, 2012
14
WANT TO TRY OMNI?
Sponsored by the National Science Foundation
GEC 13: March 13, 2012
15
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]
Sponsored by the National Science Foundation
GEC 13: March 13, 2012
16

similar documents