From: Tony Mack Date: Thu, 5 Aug 2010 02:37:55 +0000 (+0000) Subject: get_slices has been replaced by ListSlices X-Git-Tag: sfa-1.0-0~89 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=14f9b7046268214c7c5ab8eb8749700ac9437d33;p=sfa.git get_slices has been replaced by ListSlices --- diff --git a/sfa/managers/aggregate_manager_pl.py b/sfa/managers/aggregate_manager_pl.py index 4e31045f..c0bdb5c4 100644 --- a/sfa/managers/aggregate_manager_pl.py +++ b/sfa/managers/aggregate_manager_pl.py @@ -206,7 +206,7 @@ def delete_slice(api, xrn, creds): api.plshell.BindObjectToPeer(api.plauth, 'slice', slice['slice_id'], peer, slice['peer_slice_id']) return 1 -def get_slices(api): +def get_slices(api, creds): # look in cache first if api.cache: slices = api.cache.get('slices') diff --git a/sfa/managers/slice_manager_pl.py b/sfa/managers/slice_manager_pl.py index cc0f6b5d..e305e4d6 100644 --- a/sfa/managers/slice_manager_pl.py +++ b/sfa/managers/slice_manager_pl.py @@ -203,7 +203,7 @@ def status(api, xrn, creds): """ return 1 -def get_slices(api): +def get_slices(api, creds): # look in cache first if api.cache: slices = api.cache.get('slices') @@ -216,7 +216,7 @@ def get_slices(api): 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() diff --git a/sfa/methods/ListSlices.py b/sfa/methods/ListSlices.py new file mode 100644 index 00000000..784effad --- /dev/null +++ b/sfa/methods/ListSlices.py @@ -0,0 +1,37 @@ +### $Id: stop_slice.py 17732 2010-04-19 21:10:45Z tmack $ +### $URL: https://svn.planet-lab.org/svn/sfa/trunk/sfa/methods/stop_slice.py $ + +from sfa.util.faults import * +from sfa.util.namespace import * +from sfa.util.method import Method +from sfa.util.parameter import Parameter, Mixed +from sfa.trust.auth import Auth +from sfa.trust.credential import Credential + +class ListSlices(Method): + """ + List the slices instantiated at this interface + + @param cred credential string specifying the rights of the caller + @return 1 is successful, faults otherwise + """ + + interfaces = ['aggregate', 'slicemgr', 'component'] + + accepts = [ + Mixed(Parameter(str, "Credential string"), + Parameter(type([str]), "List of credentials")), + ] + + returns = Parameter(list, "List of slice names") + + def call(self, creds): + valid_creds = self.api.auth.checkCredentials(creds, 'listslices') + + #log the call + origin_hrn = Credential(string=valid_creds[0]).get_gid_caller().get_hrn() + self.api.logger.info("interface: %s\tcaller-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, self.name)) + + manager = self.api.get_interface_manager() + return manager.get_slices(self.api, valid_creds) + diff --git a/sfa/methods/__init__.py b/sfa/methods/__init__.py index bbff8983..070d38e7 100644 --- a/sfa/methods/__init__.py +++ b/sfa/methods/__init__.py @@ -25,6 +25,7 @@ update remove_peer_object GetVersion ListResources +ListSlices CreateSliver UpdateSliver get_geni_aggregates diff --git a/sfa/methods/get_slices.py b/sfa/methods/get_slices.py index 402bf0a7..87aad948 100644 --- a/sfa/methods/get_slices.py +++ b/sfa/methods/get_slices.py @@ -4,12 +4,11 @@ from sfa.util.faults 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 +from sfa.methods.ListSlices import ListSlices -class get_slices(Method): +class get_slices(ListSlices): """ + Deprecated. Use ListSlices instead. Get a list of instantiated slices at this authority. @param cred credential string specifying the rights of the caller @@ -27,32 +26,5 @@ class get_slices(Method): returns = [Parameter(str, "Human readable slice name (hrn)")] def call(self, cred, origin_hrn=None): - user_cred = Credential(string=cred) - #log the call - if not origin_hrn: - origin_hrn = user_cred.get_gid_caller().get_hrn() - self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, None, self.name)) - # validate the cred - self.api.auth.check(cred, 'listslices') - - slices = [] - # 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]) - slices = manager.get_slices(self.api) - 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]) - slices = manager.get_slices(self.api) - 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]) - slices = manager.get_slices(self.api) - - return slices + return ListSlices.call(self, cred)