From 7398a32ecc65a97db664c918b6c224417a9947c4 Mon Sep 17 00:00:00 2001 From: Sandrine Avakian Date: Thu, 14 Nov 2013 11:27:40 +0100 Subject: [PATCH] Changing iotlabapi to iotlabshell - propagating the changes --- .../{cortexlabapi.py => cortexlabshell.py} | 8 +-- sfa/importer/iotlabimporter.py | 10 ++-- sfa/iotlab/OARrestapi.py | 2 +- sfa/iotlab/iotlabaggregate.py | 25 +++++----- sfa/iotlab/iotlabdriver.py | 46 ++++++++--------- sfa/iotlab/{iotlabapi.py => iotlabshell.py} | 12 ++--- sfa/iotlab/iotlabslices.py | 50 +++++++++---------- 7 files changed, 76 insertions(+), 77 deletions(-) rename sfa/cortexlab/{cortexlabapi.py => cortexlabshell.py} (99%) rename sfa/iotlab/{iotlabapi.py => iotlabshell.py} (99%) diff --git a/sfa/cortexlab/cortexlabapi.py b/sfa/cortexlab/cortexlabshell.py similarity index 99% rename from sfa/cortexlab/cortexlabapi.py rename to sfa/cortexlab/cortexlabshell.py index 8b976edb..94cb7d9f 100644 --- a/sfa/cortexlab/cortexlabapi.py +++ b/sfa/cortexlab/cortexlabshell.py @@ -23,7 +23,7 @@ from sfa.trust.hierarchy import Hierarchy from sfa.cortexlab.iotlabaggregate import iotlab_xrn_object -class CortexlabTestbedAPI(): +class CortexlabShell(): """ Class enabled to use LDAP and OAR api calls. """ _MINIMUM_DURATION = 10 # 10 units of granularity 60 s, 10 mins @@ -55,7 +55,7 @@ class CortexlabTestbedAPI(): testbed. In seconds. """ - return CortexlabTestbedAPI._MINIMUM_DURATION + return CortexlabShell._MINIMUM_DURATION @staticmethod def GetPeers(peer_filter=None ): @@ -923,8 +923,8 @@ class CortexlabTestbedAPI(): \r\n leasefilter %s" % ( lease_filter_dict)) filter_dict_functions = { - 'slice_hrn' : CortexlabTestbedAPI.filter_lease_name, - 't_from' : CortexlabTestbedAPI.filter_lease_start_time + 'slice_hrn' : CortexlabShell.filter_lease_name, + 't_from' : CortexlabShell.filter_lease_start_time } reservation_list = list(unfiltered_reservation_list) diff --git a/sfa/importer/iotlabimporter.py b/sfa/importer/iotlabimporter.py index bfa094b2..ee61324b 100644 --- a/sfa/importer/iotlabimporter.py +++ b/sfa/importer/iotlabimporter.py @@ -183,7 +183,7 @@ class IotlabImporter: - ignored" % (node_id)) continue escaped_hrn = \ - self.hostname_to_hrn_escaped(iotlabdriver.iotlab_api.root_auth, + self.hostname_to_hrn_escaped(iotlabdriver.testbed_shell.root_auth, node['hostname']) self.logger.info("IOTLABIMPORTER node %s " % (node)) hrn = node['hrn'] @@ -240,8 +240,8 @@ class IotlabImporter: :type iotlabdriver: IotlabDriver """ - sites_listdict = iotlabdriver.iotlab_api.GetSites() - nodes_listdict = iotlabdriver.iotlab_api.GetNodes() + sites_listdict = iotlabdriver.testbed_shell.GetSites() + nodes_listdict = iotlabdriver.testbed_shell.GetNodes() nodes_by_id = dict([(node['node_id'], node) for node in nodes_listdict]) for site in sites_listdict: site_hrn = site['name'] @@ -334,7 +334,7 @@ class IotlabImporter: iotlabdriver attributes. :type iotlabdriver: IotlabDriver """ - ldap_person_listdict = iotlabdriver.iotlab_api.GetPersons() + ldap_person_listdict = iotlabdriver.testbed_shell.GetPersons() self.logger.info("IOTLABIMPORT \t ldap_person_listdict %s \r\n" % (ldap_person_listdict)) @@ -531,7 +531,7 @@ class IotlabImporter: ### remove stale records # special records must be preserved - system_hrns = [iotlabdriver.hrn, iotlabdriver.iotlab_api.root_auth, + system_hrns = [iotlabdriver.hrn, iotlabdriver.testbed_shell.root_auth, iotlabdriver.hrn + '.slicemanager'] for record in self.all_records: if record.hrn in system_hrns: diff --git a/sfa/iotlab/OARrestapi.py b/sfa/iotlab/OARrestapi.py index a4ce7a8b..21c78d3a 100644 --- a/sfa/iotlab/OARrestapi.py +++ b/sfa/iotlab/OARrestapi.py @@ -807,7 +807,7 @@ class OARGETParser: :rtype: dict .. warning:: unused - .. seealso:: GetSites (IotlabTestbedAPI) + .. seealso:: GetSites (IotlabShell) """ self.ChangeRawJsonDependingOnApilibVersion() diff --git a/sfa/iotlab/iotlabaggregate.py b/sfa/iotlab/iotlabaggregate.py index bece8bb4..9a8d0b20 100644 --- a/sfa/iotlab/iotlabaggregate.py +++ b/sfa/iotlab/iotlabaggregate.py @@ -99,7 +99,7 @@ class IotlabAggregate: slice_name = slice_hrn # GetSlices always returns a list, even if there is only one element - slices = self.driver.iotlab_api.GetSlices(slice_filter=str(slice_name), + slices = self.driver.testbed_shell.GetSlices(slice_filter=str(slice_name), slice_filter_type='slice_hrn', login=login) @@ -134,7 +134,7 @@ class IotlabAggregate: #Add default sliver attribute : #connection information for iotlab - # if get_authority(sfa_slice['hrn']) == self.driver.iotlab_api.root_auth: + # if get_authority(sfa_slice['hrn']) == self.driver.testbed_shell.root_auth: # tmp = sfa_slice['hrn'].split('.') # ldap_username = tmp[1].split('_')[0] # ssh_access = None @@ -157,7 +157,7 @@ class IotlabAggregate: researchers = [sfa_slice['reg_researchers'][0].__dict__] # look in ldap: ldap_username = None - ret = self.driver.iotlab_api.GetPersons(researchers) + ret = self.driver.testbed_shell.GetPersons(researchers) if len(ret) != 0: ldap_username = ret[0]['uid'] @@ -204,9 +204,9 @@ class IotlabAggregate: return [] # get the granularity in second for the reservation system - grain = self.driver.iotlab_api.GetLeaseGranularity() + grain = self.driver.testbed_shell.GetLeaseGranularity() - nodes = self.driver.iotlab_api.GetNodes() + nodes = self.driver.testbed_shell.GetNodes() nodes_dict = {} @@ -218,8 +218,7 @@ class IotlabAggregate: logger.debug("IOTLABAGGREGATE api get_nodes slices %s " % (slices)) - - reserved_nodes = self.driver.iotlab_api.GetNodesCurrentlyInUse() + reserved_nodes = self.driver.testbed_shell.GetNodesCurrentlyInUse() logger.debug("IOTLABAGGREGATE api get_nodes slice_nodes_list %s " % (slice_nodes_list)) for node in nodes: @@ -235,12 +234,12 @@ class IotlabAggregate: rspec_node['archi'] = node['archi'] rspec_node['radio'] = node['radio'] - iotlab_xrn = iotlab_xrn_object(self.driver.iotlab_api.root_auth, + iotlab_xrn = iotlab_xrn_object(self.driver.testbed_shell.root_auth, node['hostname']) rspec_node['component_id'] = iotlab_xrn.urn rspec_node['component_name'] = node['hostname'] rspec_node['component_manager_id'] = \ - hrn_to_urn(self.driver.iotlab_api.root_auth, + hrn_to_urn(self.driver.testbed_shell.root_auth, 'authority+sa') # Iotlab's nodes are federated : there is only one authority @@ -325,12 +324,12 @@ class IotlabAggregate: #if slice_record: #lease_filter.update({'name': slice_record['name']}) - #leases = self.driver.iotlab_api.GetLeases(lease_filter) + #leases = self.driver.testbed_shell.GetLeases(lease_filter) logger.debug("IOTLABAGGREGATE get_all_leases ldap_username %s " % (ldap_username)) - leases = self.driver.iotlab_api.GetLeases(login=ldap_username) - grain = self.driver.iotlab_api.GetLeaseGranularity() + leases = self.driver.testbed_shell.GetLeases(login=ldap_username) + grain = self.driver.testbed_shell.GetLeaseGranularity() # site_ids = [] rspec_leases = [] for lease in leases: @@ -339,7 +338,7 @@ class IotlabAggregate: rspec_lease = Lease() rspec_lease['lease_id'] = lease['lease_id'] #site = node['site_id'] - iotlab_xrn = iotlab_xrn_object(self.driver.iotlab_api.root_auth, + iotlab_xrn = iotlab_xrn_object(self.driver.testbed_shell.root_auth, node) rspec_lease['component_id'] = iotlab_xrn.urn #rspec_lease['component_id'] = hostname_to_urn(self.driver.hrn,\ diff --git a/sfa/iotlab/iotlabdriver.py b/sfa/iotlab/iotlabdriver.py index 2211d7ac..e5b79c68 100644 --- a/sfa/iotlab/iotlabdriver.py +++ b/sfa/iotlab/iotlabdriver.py @@ -16,7 +16,7 @@ from sfa.iotlab.iotlabaggregate import IotlabAggregate, iotlab_xrn_to_hostname from sfa.iotlab.iotlabslices import IotlabSlices -from sfa.iotlab.iotlabapi import IotlabTestbedAPI +from sfa.iotlab.iotlabshell import IotlabShell class IotlabDriver(Driver): @@ -40,7 +40,7 @@ class IotlabDriver(Driver): """ Driver.__init__(self, config) self.config = config - self.iotlab_api = IotlabTestbedAPI(config) + self.testbed_shell = IotlabShell(config) self.cache = None def augment_records_with_testbed_info(self, record_list): @@ -85,7 +85,7 @@ class IotlabDriver(Driver): # look for node info using GetNodes # the record is about one node only filter_dict = {'hrn': [record['hrn']]} - node_info = self.iotlab_api.GetNodes(filter_dict) + node_info = self.testbed_shell.GetNodes(filter_dict) # the node_info is about one node only, but it is formatted # as a list record.update(node_info[0]) @@ -117,7 +117,7 @@ class IotlabDriver(Driver): 'key_ids': ''}) #Get iotlab slice record and oar job id if any. - recslice_list = self.iotlab_api.GetSlices( + recslice_list = self.testbed_shell.GetSlices( slice_filter=str(record['hrn']), slice_filter_type='slice_hrn') @@ -131,7 +131,7 @@ class IotlabDriver(Driver): fill_record_info oar_job_id %s " % (rec['oar_job_id'])) - record['node_ids'] = [self.iotlab_api.root_auth + + record['node_ids'] = [self.testbed_shell.root_auth + '.' + hostname for hostname in rec['node_ids']] except KeyError: @@ -145,7 +145,7 @@ class IotlabDriver(Driver): #The record is a SFA user record. #Get the information about his slice from Iotlab's DB #and add it to the user record. - recslice_list = self.iotlab_api.GetSlices( + recslice_list = self.testbed_shell.GetSlices( slice_filter=record['record_id'], slice_filter_type='record_id_user') @@ -178,7 +178,7 @@ class IotlabDriver(Driver): 'hrn': recslice_list[0]['hrn']}) #GetPersons takes [] as filters - user_iotlab = self.iotlab_api.GetPersons([record]) + user_iotlab = self.testbed_shell.GetPersons([record]) record.update(user_iotlab[0]) #For client_helper.py compatibility @@ -214,7 +214,7 @@ class IotlabDriver(Driver): """ #First get the slice with the slice hrn - slice_list = self.iotlab_api.GetSlices(slice_filter=slice_hrn, + slice_list = self.testbed_shell.GetSlices(slice_filter=slice_hrn, slice_filter_type='slice_hrn') if len(slice_list) == 0: @@ -227,7 +227,7 @@ class IotlabDriver(Driver): slice_nodes_list = [] slice_nodes_list = one_slice['node_ids'] #Get all the corresponding nodes details - nodes_all = self.iotlab_api.GetNodes( + nodes_all = self.testbed_shell.GetNodes( {'hostname': slice_nodes_list}, ['node_id', 'hostname', 'site', 'boot_state']) nodeall_byhostname = dict([(one_node['hostname'], one_node) @@ -365,7 +365,7 @@ class IotlabDriver(Driver): if not lease.get('lease_id'): if get_authority(lease['component_id']) == \ - self.iotlab_api.root_auth: + self.testbed_shell.root_auth: single_requested_lease['hostname'] = \ iotlab_xrn_to_hostname(\ lease.get('component_id').strip()) @@ -376,7 +376,7 @@ class IotlabDriver(Driver): #the lease to the requested leases list duration_in_seconds = \ int(single_requested_lease['duration']) - if duration_in_seconds >= self.iotlab_api.GetMinExperimentDurationInGranularity(): + if duration_in_seconds >= self.testbed_shell.GetMinExperimentDurationInGranularity(): requested_lease_list.append(single_requested_lease) return requested_lease_list @@ -503,7 +503,7 @@ class IotlabDriver(Driver): #requested_slivers = [node.get('component_id') \ #for node in rspec.version.get_nodes_with_slivers()\ - #if node.get('authority_id') is self.iotlab_api.root_auth] + #if node.get('authority_id') is self.testbed_shell.root_auth] #l = [ node for node in rspec.version.get_nodes_with_slivers() ] #logger.debug("SLADRIVER \tcreate_sliver requested_slivers \ #requested_slivers %s listnodes %s" \ @@ -546,7 +546,7 @@ class IotlabDriver(Driver): delete_sliver . """ - sfa_slice_list = self.iotlab_api.GetSlices( + sfa_slice_list = self.testbed_shell.GetSlices( slice_filter=slice_hrn, slice_filter_type='slice_hrn') @@ -564,7 +564,7 @@ class IotlabDriver(Driver): logger.debug("IOTLABDRIVER.PY delete_sliver peer %s \ \r\n \t sfa_slice %s " % (peer, sfa_slice)) try: - self.iotlab_api.DeleteSliceFromNodes(sfa_slice) + self.testbed_shell.DeleteSliceFromNodes(sfa_slice) return True except: return False @@ -659,7 +659,7 @@ class IotlabDriver(Driver): # get data from db - slices = self.iotlab_api.GetSlices() + slices = self.testbed_shell.GetSlices() logger.debug("IOTLABDRIVER.PY \tlist_slices hrn %s \r\n \r\n" % (slices)) slice_hrns = [iotlab_slice['hrn'] for iotlab_slice in slices] @@ -736,11 +736,11 @@ class IotlabDriver(Driver): if new_key: # must check this key against the previous one if it exists - persons = self.iotlab_api.GetPersons([old_sfa_record]) + persons = self.testbed_shell.GetPersons([old_sfa_record]) person = persons[0] keys = [person['pkey']] #Get all the person's keys - keys_dict = self.iotlab_api.GetKeys(keys) + keys_dict = self.testbed_shell.GetKeys(keys) # Delete all stale keys, meaning the user has only one key #at a time @@ -753,8 +753,8 @@ class IotlabDriver(Driver): else: #remove all the other keys for key in keys_dict: - self.iotlab_api.DeleteKey(person, key) - self.iotlab_api.AddPersonKey( + self.testbed_shell.DeleteKey(person, key) + self.testbed_shell.AddPersonKey( person, {'sshPublicKey': person['pkey']}, {'sshPublicKey': new_key}) return True @@ -783,16 +783,16 @@ class IotlabDriver(Driver): if sfa_record_type == 'user': #get user from iotlab ldap - person = self.iotlab_api.GetPersons(sfa_record) + person = self.testbed_shell.GetPersons(sfa_record) #No registering at a given site in Iotlab. #Once registered to the LDAP, all iotlab sites are #accesible. if person: #Mark account as disabled in ldap - return self.iotlab_api.DeletePerson(sfa_record) + return self.testbed_shell.DeletePerson(sfa_record) elif sfa_record_type == 'slice': - if self.iotlab_api.GetSlices(slice_filter=hrn, + if self.testbed_shell.GetSlices(slice_filter=hrn, slice_filter_type='slice_hrn'): - ret = self.iotlab_api.DeleteSlice(sfa_record) + ret = self.testbed_shell.DeleteSlice(sfa_record) return True diff --git a/sfa/iotlab/iotlabapi.py b/sfa/iotlab/iotlabshell.py similarity index 99% rename from sfa/iotlab/iotlabapi.py rename to sfa/iotlab/iotlabshell.py index f50441d3..8dd4d650 100644 --- a/sfa/iotlab/iotlabapi.py +++ b/sfa/iotlab/iotlabshell.py @@ -1,5 +1,5 @@ """ -File containing the IotlabTestbedAPI, used to interact with nodes, users, +File containing the IotlabShell, used to interact with nodes, users, slices, leases and keys, as well as the dedicated iotlab database and table, holding information about which slice is running which job. @@ -23,7 +23,7 @@ from sfa.trust.hierarchy import Hierarchy from sfa.iotlab.iotlabaggregate import iotlab_xrn_object -class IotlabTestbedAPI(): +class IotlabShell(): """ Class enabled to use LDAP and OAR api calls. """ _MINIMUM_DURATION = 10 # 10 units of granularity 60 s, 10 mins @@ -55,7 +55,7 @@ class IotlabTestbedAPI(): testbed. In seconds. """ - return IotlabTestbedAPI._MINIMUM_DURATION + return IotlabShell._MINIMUM_DURATION @staticmethod def GetPeers(peer_filter=None ): @@ -719,7 +719,7 @@ class IotlabTestbedAPI(): walltime, sleep_walltime = \ - IotlabTestbedAPI._process_walltime(\ + IotlabShell._process_walltime(\ int(lease_dict['lease_duration'])) @@ -1018,8 +1018,8 @@ class IotlabTestbedAPI(): \r\n leasefilter %s" % ( lease_filter_dict)) filter_dict_functions = { - 'slice_hrn' : IotlabTestbedAPI.filter_lease_name, - 't_from' : IotlabTestbedAPI.filter_lease_start_time + 'slice_hrn' : IotlabShell.filter_lease_name, + 't_from' : IotlabShell.filter_lease_start_time } reservation_list = list(unfiltered_reservation_list) for filter_type in lease_filter_dict: diff --git a/sfa/iotlab/iotlabslices.py b/sfa/iotlab/iotlabslices.py index 10688405..b7a81e0e 100644 --- a/sfa/iotlab/iotlabslices.py +++ b/sfa/iotlab/iotlabslices.py @@ -45,7 +45,7 @@ class IotlabSlices: slice_authority = get_authority(hrn) #Iotlab stuff #This slice belongs to the current site - if slice_authority == self.driver.iotlab_api.root_auth: + if slice_authority == self.driver.testbed_shell.root_auth: site_authority = slice_authority return None @@ -58,7 +58,7 @@ class IotlabSlices: # check if we are already peered with this site_authority #if so find the peer record - peers = self.driver.iotlab_api.GetPeers(peer_filter=site_authority) + peers = self.driver.testbed_shell.GetPeers(peer_filter=site_authority) for peer_record in peers: if site_authority == peer_record.hrn: peer = peer_record @@ -108,7 +108,7 @@ class IotlabSlices: logger.debug("IOTLABSLICES verify_slice_leases sfa_slice %s " % (sfa_slice)) #First get the list of current leases from OAR - leases = self.driver.iotlab_api.GetLeases({'slice_hrn': sfa_slice['hrn']}) + leases = self.driver.testbed_shell.GetLeases({'slice_hrn': sfa_slice['hrn']}) logger.debug("IOTLABSLICES verify_slice_leases requested_jobs_dict %s \ leases %s " % (requested_jobs_dict, leases)) @@ -132,8 +132,8 @@ class IotlabSlices: for job in requested_jobs_dict.values(): job['duration'] = \ str(int(job['duration']) \ - * self.driver.iotlab_api.GetLeaseGranularity()) - if job['duration'] < self.driver.iotlab_api.GetLeaseGranularity(): + * self.driver.testbed_shell.GetLeaseGranularity()) + if job['duration'] < self.driver.testbed_shell.GetLeaseGranularity(): del requested_jobs_dict[job['start_time']] #Requested jobs @@ -207,14 +207,14 @@ class IotlabSlices: logger.debug("IOTLABSLICES \ NEWLEASE slice %s job %s" % (sfa_slice, job)) - self.driver.iotlab_api.AddLeases( + self.driver.testbed_shell.AddLeases( job['hostname'], sfa_slice, int(job['start_time']), int(job['duration'])) #Deleted leases are the ones with lease id not declared in the Rspec if deleted_leases: - self.driver.iotlab_api.DeleteLeases(deleted_leases, + self.driver.testbed_shell.DeleteLeases(deleted_leases, sfa_slice['user']['uid']) logger.debug("IOTLABSLICES \ verify_slice_leases slice %s deleted_leases %s" @@ -223,7 +223,7 @@ class IotlabSlices: if reschedule_jobs_dict: for start_time in reschedule_jobs_dict: job = reschedule_jobs_dict[start_time] - self.driver.iotlab_api.AddLeases( + self.driver.testbed_shell.AddLeases( job['hostname'], sfa_slice, int(job['start_time']), int(job['duration'])) @@ -259,7 +259,7 @@ class IotlabSlices: deleted_nodes = [] if 'node_ids' in sfa_slice: - nodes = self.driver.iotlab_api.GetNodes( + nodes = self.driver.testbed_shell.GetNodes( sfa_slice['list_node_ids'], ['hostname']) current_slivers = [node['hostname'] for node in nodes] @@ -274,7 +274,7 @@ class IotlabSlices: if deleted_nodes: #Delete the entire experience - self.driver.iotlab_api.DeleteSliceFromNodes(sfa_slice) + self.driver.testbed_shell.DeleteSliceFromNodes(sfa_slice) return nodes def verify_slice(self, slice_hrn, slice_record, sfa_peer): @@ -300,7 +300,7 @@ class IotlabSlices: slicename = slice_hrn # check if slice belongs to Iotlab - slices_list = self.driver.iotlab_api.GetSlices( + slices_list = self.driver.testbed_shell.GetSlices( slice_filter=slicename, slice_filter_type='slice_hrn') sfa_slice = None @@ -316,7 +316,7 @@ class IotlabSlices: else: #Search for user in ldap based on email SA 14/11/12 - ldap_user = self.driver.iotlab_api.ldap.LdapFindUser(\ + ldap_user = self.driver.testbed_shell.ldap.LdapFindUser(\ slice_record['user']) logger.debug(" IOTLABSLICES \tverify_slice Oups \ slice_record %s sfa_peer %s ldap_user %s" @@ -333,7 +333,7 @@ class IotlabSlices: } if ldap_user: - hrn = self.driver.iotlab_api.root_auth + '.' + ldap_user['uid'] + hrn = self.driver.testbed_shell.root_auth + '.' + ldap_user['uid'] user = self.driver.get_user_record(hrn) logger.debug(" IOTLABSLICES \tverify_slice hrn %s USER %s" @@ -341,7 +341,7 @@ class IotlabSlices: # add the external slice to the local SFA iotlab DB if sfa_slice: - self.driver.iotlab_api.AddSlice(sfa_slice, user) + self.driver.testbed_shell.AddSlice(sfa_slice, user) logger.debug("IOTLABSLICES \tverify_slice ADDSLICE OK") return sfa_slice @@ -416,8 +416,8 @@ class IotlabSlices: #Check user i in LDAP with GetPersons #Needed because what if the user has been deleted in LDAP but #is still in SFA? - existing_users = self.driver.iotlab_api.GetPersons(filter_user) - logger.debug(" \r\n SLABSLICE.PY \tverify_person filter_user \ + existing_users = self.driver.testbed_shell.GetPersons(filter_user) + logger.debug(" \r\n IOTLABSLICES.PY \tverify_person filter_user \ %s existing_users %s " % (filter_user, existing_users)) #User is in iotlab LDAP @@ -436,7 +436,7 @@ class IotlabSlices: req += users[0]['email'] else: req += users['email'] - ldap_reslt = self.driver.iotlab_api.ldap.LdapSearch(req) + ldap_reslt = self.driver.testbed_shell.ldap.LdapSearch(req) if ldap_reslt: logger.debug(" SLABSLICE.PY \tverify_person users \ @@ -502,7 +502,7 @@ class IotlabSlices: person['email'] = added_user['email'] person['key_ids'] = added_user.get('key_ids', []) - ret = self.driver.iotlab_api.AddPerson(person) + ret = self.driver.testbed_shell.AddPerson(person) if 'uid' in ret: # meaning bool is True and the AddPerson was successful person['uid'] = ret['uid'] @@ -528,7 +528,7 @@ class IotlabSlices: key_ids = [] for person in persons: key_ids.extend(person['key_ids']) - keylist = self.driver.iotlab_api.GetKeys(key_ids, ['key_id', 'key']) + keylist = self.driver.testbed_shell.GetKeys(key_ids, ['key_id', 'key']) keydict = {} for key in keylist: @@ -554,21 +554,21 @@ class IotlabSlices: #try: ##if peer: #person = persondict[user['email']] - #self.driver.iotlab_api.UnBindObjectFromPeer( + #self.driver.testbed_shell.UnBindObjectFromPeer( # 'person',person['person_id'], # peer['shortname']) - ret = self.driver.iotlab_api.AddPersonKey( + ret = self.driver.testbed_shell.AddPersonKey( user['email'], key) #if peer: #key_index = user_keys.index(key['key']) #remote_key_id = user['key_ids'][key_index] - #self.driver.iotlab_api.BindObjectToPeer('key', \ + #self.driver.testbed_shell.BindObjectToPeer('key', \ #key['key_id'], peer['shortname'], \ #remote_key_id) #finally: #if peer: - #self.driver.iotlab_api.BindObjectToPeer('person', \ + #self.driver.testbed_shell.BindObjectToPeer('person', \ #person['person_id'], peer['shortname'], \ #user['person_id']) @@ -578,10 +578,10 @@ class IotlabSlices: removed_keys = set(existing_keys).difference(requested_keys) for key in removed_keys: #if peer: - #self.driver.iotlab_api.UnBindObjectFromPeer('key', \ + #self.driver.testbed_shell.UnBindObjectFromPeer('key', \ #key, peer['shortname']) user = users_by_key_string[key] - self.driver.iotlab_api.DeleteKey(user, key) + self.driver.testbed_shell.DeleteKey(user, key) return -- 2.43.0