message = "%s (line %s)" % (error.message, error.line)
raise InvalidRSpec(message)
- # XX
- # XX TODO: Should try to use delegated credential first
- # XX
- cred = api.getCredential()
+ # attempt to use delegated credential first
+ credential = api.getDelegatedCredential(creds)
+ if not credential:
+ credential = api.getCredential()
threads = ThreadManager()
for aggregate in api.aggregates:
- if aggregate not in [api.auth.client_cred.get_gid_caller().get_hrn()]:
- server = api.aggregates[aggregate]
- # Just send entire RSpec to each aggregate
- threads.run(server.CreateSliver, xrn, cred, rspec, users)
+ # Just send entire RSpec to each aggregate
+ server = api.aggregates[aggregate]
+ threads.run(server.CreateSliver, xrn, credential, rspec, users)
results = threads.get_results()
merged_rspec = merge_rspecs(results)
return merged_rspec
def renew_slice(api, xrn, creds, expiration_time):
- # XX
- # XX TODO: Should try to use delegated credential first
- # XX
- credential = api.getCredential()
+ # attempt to use delegated credential first
+ credential = api.getDelegatedCredential(creds)
+ if not credential:
+ credential = api.getCredential()
threads = ThreadManager()
for aggregate in api.aggregates:
server = api.aggregates[aggregate]
aggregate_hrn = element.values()[0]
aggregate_rspecs[aggregate_hrn] = rspec
- # get a ticket from each aggregate
- credential = api.getCredential()
+ # attempt to use delegated credential first
+ credential = api.getDelegatedCredential(creds)
+ if not credential:
+ credential = api.getCredential()
threads = ThreadManager()
for aggregate, aggregate_rspec in aggregate_rspecs.items():
server = None
return ticket.save_to_string(save_parents=True)
-def delete_slice(api, xrn, origin_hrn=None):
- # XX
- # XX TODO: Should try to use delegated credential first
- # XX
- credential = api.getCredential()
+def delete_slice(api, xrn, creds):
+ # attempt to use delegated credential first
+ credential = api.getDelegatedCredential(creds)
+ if not credential:
+ credential = api.getCredential()
threads = ThreadManager()
for aggregate in api.aggregates:
server = api.aggregates[aggregate]
return 1
def start_slice(api, xrn, creds):
- # XX
- # XX TODO: Should try to use delegated credential first
- # XX
- credential = api.getCredential()
+ # attempt to use delegated credential first
+ credential = api.getDelegatedCredential(creds)
+ if not credential:
+ credential = api.getCredential()
threads = ThreadManager()
for aggregate in api.aggregates:
server = api.aggregates[aggregate]
return 1
def stop_slice(api, xrn, creds):
- # XX
- # XX TODO: Should try to use delegated credential first
- # XX
- credential = api.getCredential()
+ # attempt to use delegated credential first
+ credential = api.getDelegatedCredential(creds)
+ if not credential:
+ credential = api.getCredential()
threads = ThreadManager()
for aggregate in api.aggregates:
server = api.aggregates[aggregate]
if slices:
return slices
- # fetch from aggregates
- slices = []
- credential = api.getCredential()
+ # attempt to use delegated credential first
+ credential = api.getDelegatedCredential(creds)
+ if not credential:
+ credential = api.getCredential()
threads = ThreadManager()
+ # fetch from aggregates
for aggregate in api.aggregates:
server = api.aggregates[aggregate]
threads.run(server.ListSlices, credential)
hrn, type = urn_to_hrn(xrn)
rspec = None
- # XX
- # XX TODO: Should try to use delegated credential first
- # XX
- cred = api.getCredential()
- threads = ThreadManager()
+ # attempt to use delegated credential first
+ credential = api.getDelegatedCredential(creds)
+ if not credential:
+ credential = api.getCredential()
+ threads = ThreadManager()
for aggregate in api.aggregates:
- if aggregate not in [api.auth.client_cred.get_gid_caller().get_hrn()]:
- # get the rspec from the aggregate
- server = api.aggregates[aggregate]
- my_opts = copy(options)
- my_opts['geni_compressed'] = False
- threads.run(server.ListResources, cred, my_opts)
- #threads.run(server.get_resources, cred, xrn, origin_hrn)
+ # get the rspec from the aggregate
+ server = api.aggregates[aggregate]
+ my_opts = copy(options)
+ my_opts['geni_compressed'] = False
+ threads.run(server.ListResources, credential, my_opts)
+ #threads.run(server.get_resources, cred, xrn, origin_hrn)
-
results = threads.get_results()
# combine the rspecs into a single rspec
for agg_rspec in results: