Removed module usage sfa.planetlab.plxrn from senslab files.
[sfa.git] / sfa / senslab / slabdriver.py
index 555cd0f..3f06ce2 100644 (file)
@@ -18,9 +18,7 @@ from sfa.rspecs.version_manager import VersionManager
 from sfa.rspecs.rspec import RSpec
 
 from sfa.util.xrn import hrn_to_urn, urn_to_sliver_id, get_leaf
-from sfa.planetlab.plxrn import slicename_to_hrn, \
-                                        hostname_to_urn, \
-                                        xrn_to_hostname
+
 
 ## thierry: everything that is API-related (i.e. handling incoming requests) 
 # is taken care of 
@@ -31,7 +29,7 @@ from sfa.senslab.OARrestapi import  OARrestapi
 from sfa.senslab.LDAPapi import LDAPapi
 
 from sfa.senslab.slabpostgres import SlabDB, slab_dbsession, SliceSenslab
-from sfa.senslab.slabaggregate import SlabAggregate
+from sfa.senslab.slabaggregate import SlabAggregate, slab_xrn_to_hostname, slab_xrn_object
 from sfa.senslab.slabslices import SlabSlices
 
 
@@ -193,7 +191,7 @@ class SlabDriver(Driver):
             requested_lease = {}
             if not lease.get('lease_id'):
                 requested_lease['hostname'] = \
-                            xrn_to_hostname(lease.get('component_id').strip())
+                            slab_xrn_to_hostname(lease.get('component_id').strip())
                 requested_lease['start_time'] = lease.get('start_time')
                 requested_lease['duration'] = lease.get('duration')
             else:
@@ -289,13 +287,15 @@ class SlabDriver(Driver):
                 #return slices
     
         # get data from db 
-        logger.debug("SLABDRIVER.PY \tlist_slices")
-        slices = self.GetSlices()
-        slice_hrns = [slicename_to_hrn(self.hrn, slab_slice['slice_hrn']) \
-                                                    for slab_slice in slices]
+
+        slices = self.GetSlices()        
+        logger.debug("SLABDRIVER.PY \tlist_slices hrn %s \r\n \r\n" %(slices))        
+        slice_hrns = [slab_slice['slice_hrn'] for slab_slice in slices]
+        #slice_hrns = [slicename_to_hrn(self.hrn, slab_slice['slice_hrn']) \
+                                                    #for slab_slice in slices]
         slice_urns = [hrn_to_urn(slice_hrn, 'slice') \
                                                 for slice_hrn in slice_hrns]
-    
+
         # cache the result
         #if self.cache:
             #logger.debug ("SlabDriver.list_slices stores value in cache")
@@ -648,10 +648,12 @@ class SlabDriver(Driver):
         hostname_list = []
         hostname_dict_list = [] 
         for resource_id in resource_id_list:
-            hostname_dict_list.append({'hostname' : \
-                    oar_id_node_dict[resource_id]['hostname'], 
-                    'site_id' :  oar_id_node_dict[resource_id]['site']})
-            
+            #Because jobs requested "asap" do not have defined resources
+            if resource_id is not "Undefined":
+                hostname_dict_list.append({'hostname' : \
+                        oar_id_node_dict[resource_id]['hostname'], 
+                        'site_id' :  oar_id_node_dict[resource_id]['site']})
+                
             #hostname_list.append(oar_id_node_dict[resource_id]['hostname'])
         return hostname_dict_list 
         
@@ -795,8 +797,11 @@ class SlabDriver(Driver):
                 
                 
         else:
-            return_slice_list = slab_dbsession.query(SliceSenslab).all()
-
+            slice_list = slab_dbsession.query(SliceSenslab).all()
+            return_slice_list = []
+            for record in slice_list:
+                return_slice_list.append(record.dump_sqlalchemyobj_to_dict())
             logger.debug("SLABDRIVER.PY  \tGetSlices slices %s \
                         slice_filter %s " %(return_slice_list, slice_filter))
         
@@ -1141,9 +1146,10 @@ class SlabDriver(Driver):
             resa['component_id_list'] = []
             #Transform the hostnames into urns (component ids)
             for node in resa['reserved_nodes']:
-                resa['component_id_list'].append(hostname_to_urn(self.hrn, \
-                         self.root_auth, node['hostname']))
-
+                #resa['component_id_list'].append(hostname_to_urn(self.hrn, \
+                         #self.root_auth, node['hostname']))
+                slab_xrn = slab_xrn_object(self.root_auth, node['hostname'])
+                resa['component_id_list'].append(slab_xrn.urn)
         
         #Filter the reservation list if necessary
         #Returns all the leases associated with a given slice