Merge branch 'upstreammaster' into senslab2
[sfa.git] / sfa / dummy / dummydriver.py
index 1fd0843..5f3138f 100644 (file)
@@ -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)