From: Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> Date: Thu, 1 Dec 2011 09:30:28 +0000 (+0100) Subject: incoming version is tagged geni_rspec_version, not rspec_version X-Git-Tag: sfa-2.1-24~28^2 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=7f61a7924523a8bedfa7d09068191b075d0f962a;p=sfa.git incoming version is tagged geni_rspec_version, not rspec_version --- diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index 132a84c0..845b2b13 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -978,7 +978,8 @@ class Sfi: # this must be a protogeni aggregate. We should request a v2 ad rspec # regardless of what the client user requested options['geni_rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict() - options['geni_rspec_version'] = {'type': 'geni', 'version': '3.0'} + else: + options['geni_rspec_version'] = {'type': 'geni', 'version': '3.0'} call_args = [creds, options] result = server.ListResources(*call_args) diff --git a/sfa/managers/slice_manager.py b/sfa/managers/slice_manager.py index 2fce1399..76ea6d27 100644 --- a/sfa/managers/slice_manager.py +++ b/sfa/managers/slice_manager.py @@ -141,7 +141,7 @@ class SliceManager: del(options['geni_compressed']) # get the rspec's return format from options - rspec_version = version_manager.get_version(options.get('rspec_version')) + rspec_version = version_manager.get_version(options.get('geni_rspec_version')) version_string = "rspec_%s" % (rspec_version) # look in cache first @@ -172,7 +172,7 @@ class SliceManager: results = threads.get_results() - rspec_version = version_manager.get_version(options.get('rspec_version')) + rspec_version = version_manager.get_version(options.get('geni_rspec_version')) if xrn: result_version = version_manager._get_version(rspec_version.type, rspec_version.version, 'manifest') else: diff --git a/sfa/rspecs/version_manager.py b/sfa/rspecs/version_manager.py index 666da7a1..2eabaa49 100644 --- a/sfa/rspecs/version_manager.py +++ b/sfa/rspecs/version_manager.py @@ -32,6 +32,8 @@ class VersionManager: if content_type is None or content_type.lower() == version.content_type.lower() \ or version.content_type == '*': retval = version + ### sounds like we should be glad with the first match, not the last one + break if not retval: raise UnvalidRSpecVersion("%s %s is not suported here"% (type, version_num, content_type)) return retval @@ -54,7 +56,7 @@ class VersionManager: elif isinstance(version, BaseVersion): retval = version else: - raise InvalidRSpec("No such version: %s "% str(version)) + raise UnsupportedRSpecVersion("No such version: %s "% str(version)) return retval