From: Tony Mack Date: Thu, 23 Jun 2011 18:36:09 +0000 (-0400) Subject: ProtoGENI is really picky when it comes to the 'rspec_version' option. Let make sure... X-Git-Tag: sfa-1.0-27~77 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;ds=sidebyside;h=d4e3a515c4723485c6c41e79e1e10e86a4179cc3;p=sfa.git ProtoGENI is really picky when it comes to the 'rspec_version' option. Let make sure to provide a value that wont make the call fail --- diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index cca75870..a46ea426 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -26,6 +26,8 @@ import sfa.util.xmlrpcprotocol as xmlrpcprotocol from sfa.util.config import Config from sfa.util.version import version_core from sfa.util.cache import Cache +from sfa.rspecs.rspec_version import RSpecVersion +from sfa.rspecs.pg_rspec import pg_rspec_request_version AGGREGATE_PORT=12346 CM_PORT=12346 @@ -893,7 +895,14 @@ class Sfi: delegated_cred = self.delegate_cred(cred, get_authority(self.authority)) creds.append(delegated_cred) if opts.rspec_version: - call_options['rspec_version'] = opts.rspec_version + server_version = self.get_cached_server_version(server) + if 'sfa' in server_version: + # just request the version the client wants + call_options['rspec_version'] = dict(RSpecVersion(opts.rspec_version)) + else: + # this must be a protogeni aggregate. We should request a v2 ad rspec + # regardless of what the client user requested + call_options['rspec_version'] = dict(pg_rspec_request_version) #panos add info options if opts.info: call_options['info'] = opts.info