From 5629b2ed09514dcba6b1bb8e39715c5642e1fdf0 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Fri, 23 Jul 2010 21:49:57 +0000 Subject: [PATCH] get_ticket now verifies that the required records/objects exist at the aggregate before issuing the ticket --- sfa/managers/aggregate_manager_pl.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/sfa/managers/aggregate_manager_pl.py b/sfa/managers/aggregate_manager_pl.py index 76c576bd..e6b2c3de 100644 --- a/sfa/managers/aggregate_manager_pl.py +++ b/sfa/managers/aggregate_manager_pl.py @@ -96,13 +96,25 @@ def create_slice(api, xrn, xml, reg_objects=None): return True -def get_ticket(api, xrn, rspec, origin_hrn=None): +def get_ticket(api, xrn, rspec, origin_hrn=None, reg_objects=None): + slice_hrn, type = urn_to_hrn(xrn) - # the the slice record + slices = Slices(api) + peer = slices.get_peer(slice_hrn) + sfa_peer = slices.get_sfa_peer(slice_hrn) + + # get the slice record registry = api.registries[api.hrn] credential = api.getCredential() records = registry.resolve(credential, xrn) - + + # similar to create_slice, we must verify that the required records exist + # at this aggregate before we can issue a ticket + site_id, remote_site_id = slices.verify_site(registry, credential, slice_hrn, + peer, sfa_peer, reg_objects) + slice = slices.verify_slice(registry, credential, slice_hrn, site_id, + remote_site_id, peer, sfa_peer, reg_objects) + # make sure we get a local slice record record = None for tmp_record in records: -- 2.43.0