X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fmethods%2Fstart_slice.py;h=37f7ea09cc1d0c77b97e55efdde87cd47678055b;hb=00ff8b0b1ae756d4ea5beb042f29243dc63a9fd8;hp=44826e511f739bcff1a40e20eed8382b960075cb;hpb=e26fcdf13e2dcc4f0850072f597d288c9b70ac05;p=sfa.git diff --git a/sfa/methods/start_slice.py b/sfa/methods/start_slice.py index 44826e51..37f7ea09 100644 --- a/sfa/methods/start_slice.py +++ b/sfa/methods/start_slice.py @@ -6,7 +6,7 @@ from sfa.util.misc import * from sfa.util.method import Method from sfa.util.parameter import Parameter, Mixed from sfa.trust.auth import Auth -from sfa.plc.slices import Slices +from sfa.trust.credential import Credential class start_slice(Method): """ @@ -17,7 +17,7 @@ class start_slice(Method): @return 1 is successful, faults otherwise """ - interfaces = ['aggregate', 'slicemgr', 'comonent'] + interfaces = ['aggregate', 'slicemgr', 'component'] accepts = [ Parameter(str, "Credential string"), @@ -36,7 +36,23 @@ class start_slice(Method): client_gid_str = client_gid.save_to_string(save_parents=True) self.api.auth.authenticateGid(client_gid_str, [cred, hrn], request_hash) self.api.auth.check(cred, 'startslice') - slices = Slices(self.api) - slices.start_slice(hrn) - + + # send the call to the right manager + manager_base = 'sfa.managers' + if self.api.interface in ['component']: + mgr_type = self.api.config.SFA_CM_TYPE + manager_module = manager_base + ".component_manager_%s" % mgr_type + manager = __import__(manager_module, fromlist=[manager_base]) + manager.start_slice(self.api, hrn) + elif self.api.interface in ['aggregate']: + mgr_type = self.api.config.SFA_AGGREGATE_TYPE + manager_module = manager_base + ".aggregate_manager_%s" % mgr_type + manager = __import__(manager_module, fromlist=[manager_base]) + manager.start_slice(self.api, hrn) + elif self.api.interface in ['slicemgr']: + mgr_type = self.api.config.SFA_SM_TYPE + manager_module = manager_base + ".slice_manager_%s" % mgr_type + manager = __import__(manager_module, fromlist=[manager_base]) + manager.start_slice(self.api, hrn) + return 1