# add/remove leases (nodes and channels)
# a lease in Nitos RSpec case is a reservation of nodes and channels grouped by (slice,timeslot)
- rspec_requested_nodes, rspec_requested_channels = rspec.version.get_leases()
-
+ rspec_requested_leases = rspec.version.get_leases()
+ rspec_requested_nodes = []
+ rspec_requested_channels = []
+ for lease in rspec_requested_leases:
+ if lease['type'] == 'node':
+ lease.pop('type', None)
+ rspec_requested_nodes = lease
+ else:
+ lease.pop('type', None)
+ rspec_requested_channels = lease
+
nodes = slices.verify_slice_leases_nodes(slice, rspec_requested_nodes)
channels = slices.verify_slice_leases_channels(slice, rspec_requested_channels)
lease['start_time'] = datetime_to_epoch(utcparse(lease_elem.attrib['start_time']))
lease['duration'] = lease_elem.attrib['duration']
lease['component_id'] = node_elem.attrib['component_id']
+ lease['type'] = 'node'
leases.append(lease)
#get channels
channel_elems = lease_elem.xpath('./default:channel | ./channel')
channel['start_time'] = datetime_to_epoch(utcparse(lease_elem.attrib['start_time']))
channel['duration'] = lease_elem.attrib['duration']
channel['component_id'] = channel_elem.attrib['component_id']
-
+ channel['type'] = 'channel'
channels.append(channel)
- return (leases, channels)
+ return leases + channels