X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fclient%2Fsfi.py;h=9ddef9fd1b2303a5300018599acedada35e00b52;hb=862dfa7f7b8cce8c17e80c42aedd8d500ea86cb6;hp=c551a8081596e699bd4f756448bdb7531e612ed7;hpb=d6f7538217350e80c6f6728dcf971bb14f2dab2a;p=sfa.git diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index c551a808..9ddef9fd 100644 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -28,8 +28,8 @@ from sfa.util.config import Config from sfa.util.version import version_core from sfa.util.cache import Cache -from sfa.storage.persistentobjs import RegRecord, RegAuthority, RegUser, RegSlice, RegNode -from sfa.storage.persistentobjs import make_record +from sfa.storage.model import RegRecord, RegAuthority, RegUser, RegSlice, RegNode +from sfa.storage.model import make_record from sfa.rspecs.rspec import RSpec from sfa.rspecs.rspec_converter import RSpecConverter @@ -323,6 +323,8 @@ class Sfi: help="root registry", metavar="URL", default=None) parser.add_option("-s", "--sliceapi", dest="sm", default=None, metavar="URL", help="slice API - in general a SM URL, but can be used to talk to an aggregate") + parser.add_option("-R", "--raw", dest="raw", action="store_true", default=False, + help="Display raw, unparsed server response") parser.add_option("-d", "--dir", dest="sfi_dir", help="config & working directory - default is %default", metavar="PATH", default=Sfi.default_sfi_dir()) @@ -782,7 +784,10 @@ or version information about sfi itself api_options['call_id']=unique_call_id() result = server.ListSlices(creds, *self.ois(server,api_options)) value = ReturnValue.get_value(result) - display_list(value) + if self.options.raw: + print result + else: + display_list(value) return # show rspec for named slice @@ -832,7 +837,10 @@ or with an slice hrn, shows currently provisioned resources result = server.ListResources (creds, api_options) value = ReturnValue.get_value(result) if options.file is None: - display_rspec(value, options.format) + if self.options.raw: + print result + else: + display_rspec(value, options.format) else: save_rspec_to_file(value, options.file) return @@ -899,7 +907,10 @@ or with an slice hrn, shows currently provisioned resources result = server.CreateSliver(slice_urn, creds, rspec, users, *self.ois(server, api_options)) value = ReturnValue.get_value(result) if options.file is None: - print value + if self.options.raw: + print result + else: + print value else: save_rspec_to_file (value, options.file) return value @@ -925,8 +936,12 @@ or with an slice hrn, shows currently provisioned resources api_options = {} api_options ['call_id'] = unique_call_id() result = server.DeleteSliver(slice_urn, creds, *self.ois(server, api_options ) ) - # xxx no ReturnValue ?? - return result + value = ReturnValue.get_value(result) + if self.options.raw: + print result + else: + print value + return value def status(self, options, args): """ @@ -947,10 +962,13 @@ or with an slice hrn, shows currently provisioned resources # options and call_id when supported api_options = {} - api_options['call_id']=unique_call_id() + api_options['call_id']=unique_call_id() result = server.SliverStatus(slice_urn, creds, *self.ois(server,api_options)) value = ReturnValue.get_value(result) - print value + if self.options.raw: + print result + else: + print value if options.file: save_variable_to_file(value, options.file, options.fileformat) @@ -971,7 +989,13 @@ or with an slice hrn, shows currently provisioned resources delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority)) creds.append(delegated_cred) # xxx Thierry - does this not need an api_options as well ? - return server.Start(slice_urn, creds) + result = server.Start(slice_urn, creds) + value = ReturnValue.get_value(result) + if self.options.raw: + print result + else: + print value + return value def stop(self, options, args): """ @@ -987,7 +1011,13 @@ or with an slice hrn, shows currently provisioned resources if options.delegate: delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority)) creds.append(delegated_cred) - return server.Stop(slice_urn, creds) + result = server.Stop(slice_urn, creds) + value = ReturnValue.get_value(result) + if self.options.raw: + print result + else: + print value + return value # reset named slice def reset(self, options, args): @@ -1004,7 +1034,13 @@ or with an slice hrn, shows currently provisioned resources if options.delegate: delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority)) creds.append(delegated_cred) - return server.reset_slice(creds, slice_urn) + result = server.reset_slice(creds, slice_urn) + value = ReturnValue.get_value(result) + if self.options.raw: + print result + else: + print value + return value def renew(self, options, args): """ @@ -1027,6 +1063,10 @@ or with an slice hrn, shows currently provisioned resources api_options['call_id']=unique_call_id() result = server.RenewSliver(slice_urn, creds, time, *self.ois(server,api_options)) value = ReturnValue.get_value(result) + if self.options.raw: + print result + else: + print value return value @@ -1044,7 +1084,13 @@ or with an slice hrn, shows currently provisioned resources if options.delegate: delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority)) creds.append(delegated_cred) - return server.Shutdown(slice_urn, creds) + result = server.Shutdown(slice_urn, creds) + value = ReturnValue.get_value(result) + if self.options.raw: + print result + else: + print value + return value def get_ticket(self, options, args):