Fix dummy driver
[sfa.git] / sfa / dummy / dummydriver.py
index 2ac2b73..ab2053d 100644 (file)
@@ -424,9 +424,10 @@ class DummyDriver (Driver):
         # find out where this slice is currently running
         slice_name = hrn_to_dummy_slicename(slice_hrn)
         
-        slice = self.shell.GetSlices({'slice_name': slice_name})
+        slices = self.shell.GetSlices({'slice_name': slice_name})
         if len(slices) == 0:        
             raise SliverDoesNotExist("%s (used %s as slicename internally)" % (slice_hrn, slicename))
+        slice = slices[0]
         
         # report about the local nodes only
         nodes = self.shell.GetNodes({'node_ids':slice['node_ids']})
@@ -463,7 +464,7 @@ class DummyDriver (Driver):
             res = {}
             res['dummy_hostname'] = node['hostname']
             res['geni_expires'] = datetime_to_string(utcparse(slice['expires']))
-            sliver_id = Xrn(slice_urn, type='slice', id=node['node_id'], authority=self.hrn).urn
+            sliver_id = Xrn(slice_urn, type='slice', id=node['node_id']).urn
             res['geni_urn'] = sliver_id
             res['geni_status'] = 'ready'
             res['geni_error'] = ''
@@ -489,9 +490,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 = []
@@ -503,7 +504,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)