X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fclient%2Fsfi.py;h=b0fa53cac78fb31604c453315f76806a139c478e;hb=03dc21a0ac95b4fbe8c950c8dc052955d281cc44;hp=ae4d97a50618dc0726701186e405c0e0f6ca7cad;hpb=080e7f90e2c66067aea94c96c4de68fc998e009b;p=sfa.git diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index ae4d97a5..b0fa53ca 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -25,7 +25,8 @@ from sfa.util.xrn import get_leaf, get_authority, hrn_to_urn 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 @@ -423,7 +424,7 @@ class Sfi: if cache: version = cache.get(cache_key) - + if not version: result = server.GetVersion() version= ReturnValue.get_value(result) @@ -542,6 +543,7 @@ class Sfi: gid = self.get_cached_gid(gidfile) if not gid: user_cred = self.get_user_cred() + print>>sys.stderr, " \r\n \t SFI.PY _get_gid " records = self.registry.Resolve(hrn, user_cred.save_to_string(save_parents=True)) if not records: raise RecordNotFound(args[0]) @@ -972,12 +974,14 @@ class Sfi: server_version = self.get_cached_server_version(server) if 'sfa' in server_version: # just request the version the client wants - options['rspec_version'] = version_manager.get_version(opts.rspec_version).to_dict() + options['geni_rspec_version'] = version_manager.get_version(opts.rspec_version).to_dict() else: # this must be a protogeni aggregate. We should request a v2 ad rspec # regardless of what the client user requested - options['rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict() - + options['geni_rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict() + else: + options['geni_rspec_version'] = {'type': 'geni', 'version': '3.0'} + call_args = [creds, options] result = server.ListResources(*call_args) value = ReturnValue.get_value(result) @@ -1000,7 +1004,9 @@ class Sfi: delegated_cred = None else: # delegate the cred to the callers root authority - delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority)+'.slicemanager') + print>>sys.stderr, " \r\n \r\n \t SFI.PY get_authority(self.authority+'.slicemanager') %s self.authority %s slice_cred \t %s " %(get_authority(self.authority+'.slicemanager'), self.authority, slice_cred) + delegated_cred = self.delegate_cred(slice_cred, get_authority(self.authority+'.slicemanager')) + #delegated_cred = self.delegate_cred(slice_cred, get_authority(slice_hrn)) #creds.append(delegated_cred) @@ -1013,11 +1019,13 @@ class Sfi: # keys: [, ] # }] users = [] + print>>sys.stderr, " \r\n SFI.PY create slice_urn ", slice_urn slice_records = self.registry.Resolve(slice_urn, [user_cred.save_to_string(save_parents=True)]) if slice_records and 'researcher' in slice_records[0] and slice_records[0]['researcher']!=[]: slice_record = slice_records[0] user_hrns = slice_record['researcher'] user_urns = [hrn_to_urn(hrn, 'user') for hrn in user_hrns] + print>>sys.stderr, " \r\n SFI.PY create user_urns %s \r\n \t slice_records %s"%( user_urns,slice_records) user_records = self.registry.Resolve(user_urns, [user_cred.save_to_string(save_parents=True)]) if 'sfa' not in server_version: @@ -1027,6 +1035,7 @@ class Sfi: rspec = RSpecConverter.to_pg_rspec(rspec.toxml(), content_type='request') creds = [slice_cred] else: + print >>sys.stderr, "\r\n \r\n \r\n WOOOOOO" users = sfa_users_arg(user_records, slice_record) creds = [slice_cred] if delegated_cred: @@ -1034,7 +1043,8 @@ class Sfi: call_args = [slice_urn, creds, rspec, users] if self.server_supports_options_arg(server): options = {'call_id': unique_call_id()} - call_args.append(options) + call_args.append(options) + print>>sys.stderr, " \r\n SFI.PY create user" ,users result = server.CreateSliver(*call_args) value = ReturnValue.get_value(result) if opts.file is None: