From 3a86caa5a6854fbe984faedd7f3dd547b62039ae Mon Sep 17 00:00:00 2001 From: Sandrine Avakian Date: Tue, 4 Jun 2013 14:52:13 +0200 Subject: [PATCH] Bug fixe when creating leases. --- sfa/senslab/slabaggregate.py | 13 +++++++------ sfa/senslab/slabapi.py | 7 ++++++- sfa/senslab/slabdriver.py | 8 ++++---- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/sfa/senslab/slabaggregate.py b/sfa/senslab/slabaggregate.py index 2d38a7b0..7e15d111 100644 --- a/sfa/senslab/slabaggregate.py +++ b/sfa/senslab/slabaggregate.py @@ -310,8 +310,8 @@ class SlabAggregate: #from plc/aggregate.py - def get_rspec(self, slice_xrn=None, login=None, version = None, options - =None): + def get_rspec(self, slice_xrn=None, login=None, version = None, \ + options=None): rspec = None version_manager = VersionManager() @@ -335,21 +335,22 @@ class SlabAggregate: #if slice and 'expires' in slice: - #rspec.xml.set('expires', datetime_to_epoch(slice['expires'])) + #rspec.xml.set('expires',\ + #datetime_to_string(utcparse(slice['expires'])) # add sliver defaults #nodes, links = self.get_nodes(slice, slivers) logger.debug("\r\n \r\n SlabAggregate \tget_rspec *** \ slice_xrn %s slices %s\r\n \r\n"\ %(slice_xrn, slices)) - try: + if options is not None: lease_option = options['list_leases'] - except KeyError: + else: #If no options are specified, at least print the resources lease_option = 'all' #if slice_xrn : #lease_option = 'all' - pass + if lease_option in ['all', 'resources']: #if not options.get('list_leases') or options.get('list_leases') diff --git a/sfa/senslab/slabapi.py b/sfa/senslab/slabapi.py index a66433e0..ca1aa3b9 100644 --- a/sfa/senslab/slabapi.py +++ b/sfa/senslab/slabapi.py @@ -42,6 +42,9 @@ class SlabTestbedAPI(): return + @staticmethod + def GetMinExperimentDurationInSec(): + return 600 @staticmethod def GetPeers (peer_filter=None ): @@ -1228,7 +1231,9 @@ class SlabTestbedAPI(): #Now we have the slice record fixed_slicerec_dict, get the #jobs associated to this slice - leases_list = self.GetLeases(login = login) + leases_list = [] + if login is not None: + leases_list = self.GetLeases(login = login) #If no job is running or no job scheduled #return only the slice record if leases_list == [] and fixed_slicerec_dict: diff --git a/sfa/senslab/slabdriver.py b/sfa/senslab/slabdriver.py index de1b42ac..11d0ca17 100644 --- a/sfa/senslab/slabdriver.py +++ b/sfa/senslab/slabdriver.py @@ -366,10 +366,10 @@ class SlabDriver(Driver): #the lease to the requested leases list duration_in_seconds = \ int(single_requested_lease['duration'])*60 - if duration_in_seconds > self.slab_api.GetLeaseGranularity(): + if duration_in_seconds > GetMinExperimentDurationInSec() : requested_lease_list.append(single_requested_lease) - return requested_lease_list + return requested_lease_list @staticmethod def _group_leases_by_start_time(requested_lease_list): @@ -394,8 +394,8 @@ class SlabDriver(Driver): if lease['start_time'] not in requested_job_dict: if isinstance(lease['hostname'], str): - #lease['hostname'] = [lease['hostname']] - lease['hostname'] = list(lease['hostname']) + lease['hostname'] = [lease['hostname']] + requested_job_dict[lease['start_time']] = lease -- 2.47.0