From: Sandrine Avakian Date: Fri, 27 Jul 2012 08:35:46 +0000 (+0200) Subject: Getting reserved node now handles the case where reservation X-Git-Tag: sfa-2.1-24~3^2~108 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=387c7ce2b9b141f85958212f9f63ed5db2283b8d;p=sfa.git Getting reserved node now handles the case where reservation are defined as "as soon as possible" and do not have information on scheduled start and resources. Please enter the commit message for your changes. Lines starting --- diff --git a/sfa/senslab/OARrestapi.py b/sfa/senslab/OARrestapi.py index fe3ff8de..d2c8f982 100644 --- a/sfa/senslab/OARrestapi.py +++ b/sfa/senslab/OARrestapi.py @@ -321,15 +321,24 @@ class OARGETParser: job = {} #Parse resources info for json_element in self.raw_json['items']: - job['t_from'] = json_element['scheduled_start'] - #Get resources id list for the job - job['resource_ids'] = \ - [ node_dict['id'] for node_dict in json_element['resources'] ] + #In case it is a real reservation (not asap case) + if json_element['scheduled_start']: + job['t_from'] = json_element['scheduled_start'] + job['t_until'] = int(json_element['scheduled_start']) + \ + int(json_element['walltime']) + #Get resources id list for the job + job['resource_ids'] = \ + [ node_dict['id'] for node_dict in json_element['resources'] ] + else: + job['t_from'] = "As soon as possible" + job['t_until'] = "As soon as possible" + job['resource_ids'] = ["Undefined"] + job['state'] = json_element['state'] job['lease_id'] = json_element['id'] - job['t_until'] = json_element['scheduled_start'] + \ - json_element['walltime'] + + job['user'] = json_element['owner'] #logger.debug("OARRestapi \tParseReservedNodes job %s" %(job)) reservation_list.append(job) diff --git a/sfa/senslab/slabdriver.py b/sfa/senslab/slabdriver.py index e33f12ca..f88e7439 100644 --- a/sfa/senslab/slabdriver.py +++ b/sfa/senslab/slabdriver.py @@ -648,10 +648,12 @@ class SlabDriver(Driver): hostname_list = [] hostname_dict_list = [] for resource_id in resource_id_list: - hostname_dict_list.append({'hostname' : \ - oar_id_node_dict[resource_id]['hostname'], - 'site_id' : oar_id_node_dict[resource_id]['site']}) - + #Because jobs requested "asap" do not have defined resources + if resource_id is not "Undefined": + hostname_dict_list.append({'hostname' : \ + oar_id_node_dict[resource_id]['hostname'], + 'site_id' : oar_id_node_dict[resource_id]['site']}) + #hostname_list.append(oar_id_node_dict[resource_id]['hostname']) return hostname_dict_list