type=sfa_record['type']
pointer=sfa_record['pointer']
if type == 'user':
- self.shell.DeleteUser{'user_id': pointer})
+ self.shell.DeleteUser({'user_id': pointer})
elif type == 'slice':
- self.shell.DeleteSlice('slice_id': pointer)
+ self.shell.DeleteSlice({'slice_id': pointer})
elif type == 'node':
- self.shell.DeleteNode('node_id': pointer)
+ self.shell.DeleteNode({'node_id': pointer})
return True
def update_relation (self, subject_type, target_type, relation_name, subject_id, target_ids):
# hard-wire the code for slice/user for now, could be smarter if needed
if subject_type =='slice' and target_type == 'user' and relation_name == 'researcher':
- subject=self.shell.GetSlices (subject_id)[0]
+ subject=self.shell.GetSlices ({'slice_id': subject_id})[0]
+ if 'user_ids' not in subject.keys():
+ subject['user_ids'] = []
current_target_ids = subject['user_ids']
add_target_ids = list ( set (target_ids).difference(current_target_ids))
del_target_ids = list ( set (current_target_ids).difference(target_ids))
requested_attributes = rspec.version.get_slice_attributes()
# ensure slice record exists
- slice = slices.verify_slice(slice_hrn, slice_record, peer, sfa_peer, options=options)
+ slice = slices.verify_slice(slice_hrn, slice_record, sfa_peer, options=options)
# ensure user records exists
- users = slices.verify_users(slice_hrn, slice, users, peer, sfa_peer, options=options)
+ #users = slices.verify_users(slice_hrn, slice, users, sfa_peer, options=options)
# add/remove slice from nodes
requested_slivers = []
hostname = xrn_to_hostname(node.get('component_id').strip())
if hostname:
requested_slivers.append(hostname)
- nodes = slices.verify_slice_nodes(slice, requested_slivers, peer)
+ requested_slivers_ids = []
+ for hostname in requested_slivers:
+ node_id = self.shell.GetNodes({'hostname': hostname})[0]['node_id']
+ requested_slivers_ids.append(node_id)
+ nodes = slices.verify_slice_nodes(slice, requested_slivers_ids)
return aggregate.get_rspec(slice_xrn=slice_urn, version=rspec.version)
slice = slices[0]
try:
- self.shell.DeleteSliceFromNodes({'slice_id': slice['slice_id'], 'node_ids': slice['node_ids'])
+ self.shell.DeleteSliceFromNodes({'slice_id': slice['slice_id'], 'node_ids': slice['node_ids']})
return True
except:
return False