From 7f61a7924523a8bedfa7d09068191b075d0f962a Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Thu, 1 Dec 2011 10:30:28 +0100 Subject: [PATCH] incoming version is tagged geni_rspec_version, not rspec_version --- sfa/client/sfi.py | 3 ++- sfa/managers/slice_manager.py | 4 ++-- sfa/rspecs/version_manager.py | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) 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 -- 2.47.0