Merge branch 'master' of ssh://git.onelab.eu/git/sfa
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Mon, 28 Nov 2011 19:44:57 +0000 (20:44 +0100)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Mon, 28 Nov 2011 19:44:57 +0000 (20:44 +0100)
Conflicts:
sfa/util/config.py

1  2 
sfa/client/sfi.py

diff --combined sfa/client/sfi.py
@@@ -4,7 -4,6 +4,7 @@@
  
  import sys
  sys.path.append('.')
 +
  import os, os.path
  import tempfile
  import socket
@@@ -14,26 -13,23 +14,27 @@@ import pickl
  from lxml import etree
  from StringIO import StringIO
  from optparse import OptionParser
 -from sfa.client.client_helper import pg_users_arg, sfa_users_arg
 -from sfa.util.sfalogging import sfi_logger
 +
  from sfa.trust.certificate import Keypair, Certificate
  from sfa.trust.gid import GID
  from sfa.trust.credential import Credential
  from sfa.trust.sfaticket import SfaTicket
 -from sfa.util.record import SfaRecord, UserRecord, SliceRecord, NodeRecord, AuthorityRecord
 -from sfa.rspecs.rspec import RSpec
 -from sfa.rspecs.rspec_converter import RSpecConverter
 +
 +from sfa.util.sfalogging import sfi_logger
  from sfa.util.xrn import get_leaf, get_authority, hrn_to_urn
 -import sfa.client.xmlrpcprotocol as xmlrpcprotocol
  from sfa.util.config import Config
  from sfa.util.version import version_core
  from sfa.util.cache import Cache
 +from sfa.util.record import SfaRecord, UserRecord, SliceRecord, NodeRecord, AuthorityRecord
 +
 +from sfa.rspecs.rspec import RSpec
 +from sfa.rspecs.rspec_converter import RSpecConverter
  from sfa.rspecs.version_manager import VersionManager
+ from sfa.client.return_value import ReturnValue
  
 +import sfa.client.xmlrpcprotocol as xmlrpcprotocol
 +from sfa.client.client_helper import pg_users_arg, sfa_users_arg
 +
  AGGREGATE_PORT=12346
  CM_PORT=12346
  
@@@ -424,13 -420,13 +425,13 @@@ class Sfi
              version = cache.get(cache_key)
              
          if not version: 
-             version = server.GetVersion()
+             result = server.GetVersion()
+             version= ReturnValue.get_value(result)
              # cache version for 24 hours
              cache.add(cache_key, version, ttl= 60*60*24)
              self.logger.info("Updating cache file %s" % cache_file)
              cache.save_to_file(cache_file)
  
          return version   
          
  
                  server=self.registry
              else:
                  server = self.server_proxy_from_opts(opts)
-             version=server.GetVersion()
+             result = server.GetVersion()
+             version = ReturnValue.get_value(result)
          for (k,v) in version.iteritems():
              print "%-20s: %s"%(k,v)
          if opts.file:
          if self.server_supports_options_arg(server):
              options = {'call_id': unique_call_id()}
              call_args.append(options)
-         results = server.ListSlices(*call_args)
-         display_list(results)
+         result = server.ListSlices(*call_args)
+         value = ReturnValue.get_value(result)
+         display_list(value)
          return
      
      # show rspec for named slice
  
          call_args = [creds, options]
          result = server.ListResources(*call_args)
+         value = ReturnValue.get_value(result)
          if opts.file is None:
-             display_rspec(result, opts.format)
+             display_rspec(value, opts.format)
          else:
-             save_rspec_to_file(result, opts.file)
+             save_rspec_to_file(value, opts.file)
          return
  
      # created named slice with given rspec
              options = {'call_id': unique_call_id()}
              call_args.append(options)
          result = server.CreateSliver(*call_args)
+         value = ReturnValue.get_value(result)
          if opts.file is None:
-             print result
+             print value
          else:
-             save_rspec_to_file (result, opts.file)
-         return result
+             save_rspec_to_file (value, opts.file)
+         return value
  
      # get a ticket for the specified slice
      def get_ticket(self, opts, args):
          if self.server_supports_options_arg(server):
              options = {'call_id': unique_call_id()}
              call_args.append(options)
-         return server.RenewSliver(*call_args)
+         result =  server.RenewSliver(*call_args)
+         value = ReturnValue.get_value(result)
+         return value
  
  
      def status(self, opts, args):
              options = {'call_id': unique_call_id()}
              call_args.append(options)
          result = server.SliverStatus(*call_args)
-         print result
+         value = ReturnValue.get_value(result)
+         print value
          if opts.file:
-             save_variable_to_file(result, opts.file, opts.fileformat)
+             save_variable_to_file(value, opts.file, opts.fileformat)
  
  
      def shutdown(self, opts, args):