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.storage.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
import sfa.client.xmlrpcprotocol as xmlrpcprotocol
+from sfa.client.return_value import ReturnValue
from sfa.client.client_helper import pg_users_arg, sfa_users_arg
AGGREGATE_PORT=12346
if cache:
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
# regardless of what the client user requested
options['rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict()
+ options['rspec_version']['type'] = options['rspec_version']['type'].lower()
+ options['rspec_version']['version'] = long(options['rspec_version']['version'])
+ options['geni_compressed'] = True
+ print options['rspec_version']
call_args = [creds, options]
result = server.ListResources(*call_args)
+ print result
+ 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):