X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmethods%2Fcreate_slice.py;h=a2b07d556d168a05210fd8ffd136bc2dd1574747;hb=a57602691559f9591877edeaebe512c7a5651fcf;hp=906bf63ec51f9fe90748e01af19d6e6fbb604711;hpb=db84b3ddccc2a04da661a384734c510eb55729c6;p=sfa.git diff --git a/sfa/methods/create_slice.py b/sfa/methods/create_slice.py index 906bf63e..a2b07d55 100644 --- a/sfa/methods/create_slice.py +++ b/sfa/methods/create_slice.py @@ -10,6 +10,7 @@ from sfa.plc.slices import Slices from sfa.util.config import Config # RSpecManager_pl is not used. This is just to resolve issues with the dynamic __import__ that comes later. import sfa.rspecs.aggregates.rspec_manager_pl +from sfa.trust.credential import Credential class create_slice(Method): @@ -32,11 +33,16 @@ class create_slice(Method): returns = Parameter(int, "1 if successful") - def call(self, cred, hrn, rspec): + def call(self, cred, hrn, rspec, caller_cred=None): + if caller_cred==None: + caller_cred=cred + #log the call + self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, Credential(string=caller_cred).get_gid_caller().get_hrn(), hrn, self.name)) + sfa_aggregate_type = Config().get_aggregate_rspec_type() self.api.auth.check(cred, 'createslice') if (sfa_aggregate_type == 'pl'): - slices = Slices(self.api) + slices = Slices(self.api, caller_cred=caller_cred) slices.create_slice(hrn, rspec) else: # To clean up after July 21 - SB