self.api= Generic.the_flavour().make_api(interface='registry')
def version(self):
+ """Display the Registry version"""
version = self.api.manager.GetVersion(self.api, {})
pprinter.pprint(version)
default='', type="str", action='callback', callback=optparse_listvalue_callback)
def register(self, xrn, type=None, url=None, description=None, key=None, slices='',
pis='', researchers=''):
+ """Create a new Registry recory"""
record_dict = self._record_dict(xrn=xrn, type=type, url=url, key=key,
slices=slices, researchers=researchers)
self.api.manager.Register(self.api, record_dict)
default='', type="str", action='callback', callback=optparse_listvalue_callback)
def update(self, xrn, type=None, url=None, description=None, key=None, slices='',
pis='', researchers=''):
+ """Update an existing Registry record"""
record_dict = self._record_dict(xrn=xrn, type=type, url=url, description=description,
key=key, slices=slices, researchers=researchers)
self.api.manager.Update(self.api, record_dict)
@args('-t', '--type', dest='type', metavar='<type>', help='object type', default=None)
@args('-o', '--outfile', dest='outfile', metavar='<outfile>', help='output file', default=None)
def export(self, xrn, type=None, outfile=None):
+ """Fetch an object's GID from the Registry"""
from sfa.storage.alchemy import dbsession
from sfa.storage.model import RegRecord
hrn = Xrn(xrn).get_hrn()
@args('-g', '--gidfile', dest='gid', metavar='<gid>', help='path of gid file to display (mandatory)')
def display(self, gidfile):
+ """Print contents of a GID file"""
gid_path = os.path.abspath(gidfile)
if not gid_path or not os.path.isfile(gid_path):
print "No such gid file: %s" % gidfile
self.api= Generic.the_flavour().make_api(interface='aggregate')
def version(self):
+ """Display the Aggregate version"""
version = self.api.manager.GetVersion(self.api, {})
pprinter.pprint(version)
def slices(self):
+ """List the running slices at this Aggregate"""
print self.api.manager.ListSlices(self.api, [], {})
@args('-x', '--xrn', dest='xrn', metavar='<xrn>', help='object hrn/urn (mandatory)')
def status(self, xrn):
+ """Display the status of a slice or slivers"""
urn = Xrn(xrn, 'slice').get_urn()
status = self.api.manager.SliverStatus(self.api, urn, [], {})
pprinter.pprint(status)
@args('-r', '--rspec-version', dest='rspec_version', metavar='<rspec_version>',
default='GENI', help='version/format of the resulting rspec response')
def resources(self, xrn=None, rspec_version='GENI'):
+ """Display the available resources at an aggregate or display the resources allocated
+ by a slice"""
options = {'geni_rspec_version': rspec_version}
if xrn:
options['geni_slice_urn'] = xrn
@args('-u', '--user', dest='user', metavar='<user>', help='hrn/urn of slice user (mandatory)')
@args('-k', '--key', dest='key', metavar='<key>', help="path to user's public key file (mandatory)")
def create(self, xrn, rspec, user, key):
+ """Allocate slivers"""
xrn = Xrn(xrn, 'slice')
slice_urn=xrn.get_urn()
rspec_string = open(rspec).read()
@args('-x', '--xrn', dest='xrn', metavar='<xrn>', help='slice hrn/urn (mandatory)')
def delete(self, xrn):
+ """Delete slivers"""
self.api.manager.DeleteSliver(self.api, xrn, [], {})
@args('-x', '--xrn', dest='xrn', metavar='<xrn>', help='slice hrn/urn (mandatory)')
def start(self, xrn):
+ """Start slivers"""
self.api.manager.start_slice(self.api, xrn, [])
@args('-x', '--xrn', dest='xrn', metavar='<xrn>', help='slice hrn/urn (mandatory)')
def stop(self, xrn):
+ """Stop slivers"""
self.api.manager.stop_slice(self.api, xrn, [])
@args('-x', '--xrn', dest='xrn', metavar='<xrn>', help='slice hrn/urn (mandatory)')
def reset(self, xrn):
+ """Reset sliver"""
self.api.manager.reset_slice(self.api, xrn)