"stop": "name",
"delegate": "name",
"GetVersion": "name",
- "ListResources": "name"
-
+ "ListResources": "name",
+ "CreateSliver": "name"
}
if additional_cmdargs:
user_cred = self.get_user_cred().save_to_string(save_parents=True)
server = self.geni_am
call_options = {'geni_compressed': True}
+ xrn = None
+ cred = user_cred
if args:
- urn = args[0]
- else:
- urn = None
- if urn:
- call_options['geni_slice_urn'] = urn
+ xrn = args[0]
+ cred = self.get_slice_cred(xrn).save_to_string(save_parents=True)
+
+ if xrn:
+ call_options['geni_slice_urn'] = xrn
rspec = server.ListResources([user_cred], call_options)
rspec = zlib.decompress(rspec.decode('base64'))
print rspec
-
+
+ def CreateSliver(self,opts,args):
+ slice_xrn = args[0]
+ user_cred = self.get_user_cred()
+ slice_cred = self.get_slice_cred(slice_xrn).save_to_string(save_parents=True)
+ rspec_file = self.get_rspec_file(args[1])
+ rspec = open(rspec_file).read()
+ server = self.geni_am
+ return server.CreateSliver(slice_xrn, [slice_cred], rspec)
#
# Main: parse arguments and dispatch to command
#
version['geni_stitching'] = False
return version
+
def ListResources(api, creds, options):
manager_base = 'sfa.managers'
mgr_type = 'pl'
manager_module = manager_base + ".aggregate_manager_%s" % mgr_type
manager = __import__(manager_module, fromlist=[manager_base])
- hrn = None
+ xrn = None
if options.has_key('geni_slice_urn'):
xrn = options['geni_slice_urn']
- hrn, type = urn_to_hrn(xrn)
+ api.logger.info(xrn)
- rspec = manager.get_rspec(api, hrn, None)
+ rspec = manager.get_rspec(api, xrn, None)
#outgoing_rules = SFATablesRules('OUTGOING')
if options.has_key('geni_compressed') and options['geni_compressed'] == True:
return rspec
+def CreateSlice(api, slice_xrn, creds, rspec):
+ manager_base = 'sfa.managers'
+ mgr_type = 'pl'
+ manager_module = manager_base + ".aggregate_manager_%s" % mgr_type
+ manager = __import__(manager_module, fromlist=[manager-base])
+
+ allocated = manager.create_slice(api, slice_xrn, rspec)
+ return allocated
+
"resolve": ["resolve", "list", "getcredential", "listresources", "getversion"],
"sa": ["getticket", "redeemslice", "redeemticket", "createslice", "deleteslice", "updateslice",
"getsliceresources", "getticket", "loanresources", "stopslice", "startslice",
- "deleteslice", "resetslice", "listslices", "listnodes", "getpolicy"],
- "embed": ["getticket", "redeemslice", "redeemticket", "createslice", "deleteslice", "updateslice", "getsliceresources"],
+ "deleteslice", "resetslice", "listslices", "listnodes", "getpolicy", "createsliver"],
+ "embed": ["getticket", "redeemslice", "redeemticket", "createslice", "createsliver", "deleteslice", "updateslice", "getsliceresources"],
"bind": ["getticket", "loanresources", "redeemticket"],
- "control": ["updateslice", "createslice", "stopslice", "startslice", "deleteslice", "resetslice", "getsliceresources", "getgids"],
+ "control": ["updateslice", "createslice", "createsliver", "stopslice", "startslice", "deleteslice", "resetslice", "getsliceresources", "getgids"],
"info": ["listslices", "listnodes", "getpolicy"],
"ma": ["setbootstate", "getbootstate", "reboot", "getgids", "gettrustedcerts"],
"operator": ["gettrustedcerts", "getgids"]}