From 07d48bcd7f6b1ed5e45b4276a7ea2c7cab95149f Mon Sep 17 00:00:00 2001 From: Sandrine Avakian Date: Wed, 11 Sep 2013 16:27:47 +0200 Subject: [PATCH] Last changes to fix the returned Rspec with leases that should not be there problem. --- sfa/iotlab/iotlabaggregate.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/sfa/iotlab/iotlabaggregate.py b/sfa/iotlab/iotlabaggregate.py index 9831973b..584a9c27 100644 --- a/sfa/iotlab/iotlabaggregate.py +++ b/sfa/iotlab/iotlabaggregate.py @@ -286,7 +286,7 @@ class IotlabAggregate: ('lease_id', 'hostname', 'site_id', 'name', 'start_time', 'duration'). All the leases running or scheduled are returned. - :param ldap_username: if a ldap uid is not None, looks for the leases + :param ldap_username: if ldap uid is not None, looks for the leases belonging to this user. :type ldap_username: string :returns: rspec lease dictionary with keys lease_id, component_id, @@ -310,7 +310,7 @@ class IotlabAggregate: logger.debug("IOTLABAGGREGATE get_all_leases ldap_username %s " % (ldap_username)) - leases = self.driver.iotlab_api.GetLeases(ldap_username) + leases = self.driver.iotlab_api.GetLeases(login=ldap_username) grain = self.driver.iotlab_api.GetLeaseGranularity() # site_ids = [] rspec_leases = [] @@ -357,7 +357,7 @@ class IotlabAggregate: :type options: dict :returns: Xml Rspec. - :rtype: XMLf + :rtype: XML """ @@ -379,6 +379,16 @@ class IotlabAggregate: version.type, version.version, 'manifest') slices, slivers = self.get_slice_and_slivers(slice_xrn, login) + if slice_xrn and slices is not None: + #Get user associated with this slice + #for one_slice in slices : + ldap_username = slices[0]['reg_researchers'][0].__dict__['hrn'] + # ldap_username = slices[0]['user'] + tmp = ldap_username.split('.') + ldap_username = tmp[1] + logger.debug("IotlabAggregate \tget_rspec **** \ + LDAP USERNAME %s \r\n" \ + % (ldap_username)) #at this point sliver may be empty if no iotlab job #is running for this user/slice. rspec = RSpec(version=rspec_version, user_options=options) @@ -409,12 +419,14 @@ class IotlabAggregate: #In case creating a job, slice_xrn is not set to None rspec.version.add_nodes(nodes) if slice_xrn and slices is not None: - #Get user associated with this slice - #for one_slice in slices : - # ldap_username = slices[0]['hrn'] - # tmp = ldap_username.split('.') - # ldap_username = tmp[1].split('_')[0] - ldap_username = slices[0]['user'] + # #Get user associated with this slice + # #for one_slice in slices : + # ldap_username = slices[0]['reg_researchers'] + # # ldap_username = slices[0]['user'] + # tmp = ldap_username.split('.') + # ldap_username = tmp[1] + # # ldap_username = tmp[1].split('_')[0] + logger.debug("IotlabAggregate \tget_rspec **** \ version type %s ldap_ user %s \r\n" \ % (version.type, ldap_username)) -- 2.43.0