From d4e3a515c4723485c6c41e79e1e10e86a4179cc3 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Thu, 23 Jun 2011 14:36:09 -0400 Subject: [PATCH] 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 --- sfa/client/sfi.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 -- 2.43.0