From 488215a7c4960cf8d97cac14b77d53a37f3d24cd Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Fri, 27 May 2011 00:01:19 -0400 Subject: [PATCH] cache server version. Only pass call id to interfaces that support it --- sfa/client/sfi.py | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index b95eb70b..4e77b24c 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -891,11 +891,10 @@ class Sfi: if opts.info: call_options['info'] = opts.info - server_version = self.get_cached_server_version(server) + call_args = [creds, call_options] if self.server_supports_call_id_arg(server): - result = server.ListResources(creds, call_options,unique_call_id()) - else: - result = server.ListResources(creds, call_options) + call_args.append(unique_call_id()) + result = server.ListResources(*call_args) format = opts.format if opts.file is None: display_rspec(result, format) @@ -941,8 +940,13 @@ class Sfi: for user_record in user_records: if 'keys' in user_record: user['keys'].extend(user_record['keys']) - users.append(user) - result = server.CreateSliver(slice_urn, creds, rspec, users, unique_call_id()) + users.append(user) + + call_args = [slice_urn, creds, rspec, users] + if self.server_supports_call_id_arg(server): + call_args.append(unique_call_id()) + + result = server.CreateSliver(*call_args) print result return result @@ -1009,8 +1013,12 @@ class Sfi: delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority)) creds.append(delegated_cred) server = self.get_server_from_opts(opts) - return server.DeleteSliver(slice_urn, creds, unique_call_id()) - + + call_args = [slice_urn, creds] + if self.server_supports_call_id_arg(server): + call_args.append(unique_call_id()) + return server.DeleteSliver(*call_args) + # start named slice def start(self, opts, args): slice_hrn = args[0] @@ -1057,7 +1065,11 @@ class Sfi: delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority)) creds.append(delegated_cred) time = args[1] - return server.RenewSliver(slice_urn, creds, time, unique_call_id()) + + call_args = [slice_urn, creds, time] + if self.server_supports_call_id_arg(server): + call_args.append(unique_call_id()) + return server.RenewSliver(*call_args) def status(self, opts, args): @@ -1069,7 +1081,10 @@ class Sfi: delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority)) creds.append(delegated_cred) server = self.get_server_from_opts(opts) - print server.SliverStatus(slice_urn, creds, unique_call_id()) + call_args = [slice_urn, creds] + if self.server_supports_call_id_arg(server): + call_args.append(unique_call_id()) + print server.SliverStatus(*call_args) def shutdown(self, opts, args): -- 2.43.0