return geni_slivers
def aggregate_version(self):
- logger.warning("iotlabdriver aggregate_version")
version_manager = VersionManager()
ad_rspec_versions = []
request_rspec_versions = []
'geni_slivers': desc['geni_slivers']}
return status
- def _get_users(self):
+ def _get_users(self, email=None):
""" Get all users """
- ret = self.shell.get_users()
+ ret = self.shell.get_users(email)
if 'error' in ret:
return None
return ret
""" Get user login with email """
email = caller_user['email']
# ensure user exist in LDAP tree
- users = self._get_users()
+ users = self._get_users(email)
if users and email not in users:
self.shell.add_user(caller_user)
- users = self._get_users()
+ users = self._get_users(email)
if users and email in users:
return users[email]['login']
else:
"""
leases = rspec.version.get_leases()
start_time = min([int(lease['start_time'])
- for lease in leases])
- end_time = max([int(lease['start_time']) +
- int(lease['duration'])*60
- for lease in leases])
+ for lease in leases])
+ # ASAP jobs
+ if start_time == 0:
+ start_time = None
+ duration = max([int(lease['duration'])
+ for lease in leases])
+ # schedule jobs
+ else:
+ end_time = max([int(lease['start_time']) +
+ int(lease['duration']) * 60
+ for lease in leases])
+ from math import floor
+ # minutes
+ duration = floor((end_time - start_time) / 60)
nodes_list = [Xrn.unescape(Xrn(lease['component_id'].strip(),
- type='node').get_leaf())
+ type='node').get_leaf())
for lease in leases]
# uniq hostnames
nodes_list = list(set(nodes_list))
- from math import floor
- # minutes
- duration = floor((end_time - start_time)/60)
return nodes_list, start_time, duration
def _save_db_lease(self, job_id, slice_hrn):