X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fdummy%2Fdummydriver.py;h=5f3138fda5174f28fc02b22f061daa6c3f5e5d50;hb=d923fc971bdb0c010ab59b9231d907720f41dc7c;hp=1fd08434173339fdcccacf6a5b31a0429c93db80;hpb=bcddcccb27539888e5ff85da4601c3eeadcfcf4f;p=sfa.git diff --git a/sfa/dummy/dummydriver.py b/sfa/dummy/dummydriver.py index 1fd08434..5f3138fd 100644 --- a/sfa/dummy/dummydriver.py +++ b/sfa/dummy/dummydriver.py @@ -359,7 +359,9 @@ class DummyDriver (Driver): 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)) @@ -487,9 +489,9 @@ class DummyDriver (Driver): 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 = [] @@ -501,7 +503,11 @@ class DummyDriver (Driver): 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)