# Just send entire RSpec to each aggregate
threads.run(server.CreateSliver, xrn, cred, rspec, users)
- threads.get_results()
+ 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()
+ threads = ThreadManager()
+ for aggregate in api.aggregates:
+ server = api.aggregates[aggregate]
+ threads.run(server.RenewSliver, xrn, credential, expiration_time)
+ threads.get_results()
return 1
-def get_ticket(api, xrn, rspec, origin_hrn=None):
+def get_ticket(api, xrn, creds, rspec, users):
slice_hrn, type = urn_to_hrn(xrn)
# get the netspecs contained within the clients rspec
aggregate_rspecs = {}
break
if server is None:
continue
- threads.run(server.get_ticket, credential, xrn, aggregate_rspec, origin_hrn)
+ threads.run(server.GetTicket, xrn, credential, aggregate_rspec, users)
+
results = threads.get_results()
# gather information from each ticket
"""
return 1
-def get_slices(api):
+def get_slices(api, creds):
# look in cache first
if api.cache:
slices = api.cache.get('slices')
threads = ThreadManager()
for aggregate in api.aggregates:
server = api.aggregates[aggregate]
- threads.run(server.get_slices, credential)
+ threads.run(server.ListSlices, credential)
# combime results
results = threads.get_results()