From 67cc4eb55c98e2ec9194562e8244256ea84f5dcb Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Fri, 20 Nov 2009 19:15:46 +0000 Subject: [PATCH] pass slice_credential when calling redeem_ticket on components(nodes) --- sfa/client/sfi.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index d8fd549d..5a2467dd 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -824,11 +824,19 @@ class Sfi: ticket.save_to_file(filename=file, save_parents=True) def redeem_ticket(self, opts, args): - ticket, rspec = args[0], args[1] + ticket_file, rspec_file = args[0], args[1] + + # get slice hrn from the ticket + ticket = SfaTicket(filename=ticket_file) + ticket.decode() + slice_hrn = ticket.attributes['hrn'] + user_cred = self.get_user_cred() + slice_cred = self.get_slice_cred(slice_hrn).save_to_string(save_parents=True) + # get a list node hostnames from the nodespecs in the rspec - resource_spec = RSpec() - resource_spec.parseFile(rspec) - nodespecs = resource_spec.getDictsByTagName('NodeSpec') + rspec = RSpec() + rspec.parseFile(rspec_file) + nodespecs = rspec.getDictsByTagName('NodeSpec') hostnames = [nodespec['name'] for nodespec in nodespecs] # create an xmlrpc connection to the component manager at each of these @@ -840,7 +848,7 @@ class Sfi: url = "https://%(hostname)s:%(cm_port)s" % locals() print "Calling get_ticket at %(url)s " % locals(), cm = xmlrpcprotocol.get_server(url, self.key_file, self.cert_file) - cm.redeem_ticket(ticket) + cm.redeem_ticket(slice_cred, ticket.save_to_string(save_parents=True)) print "Success" except socket.gaierror: print "Failed:", -- 2.43.0