Fix sfi.py slices.
authorSandrine Avakian <sandrine.avakian@inria.fr>
Mon, 12 Nov 2012 12:05:53 +0000 (13:05 +0100)
committerSandrine Avakian <sandrine.avakian@inria.fr>
Mon, 12 Nov 2012 12:05:53 +0000 (13:05 +0100)
sfa/senslab/config/bash_nukem
sfa/senslab/slabdriver.py
sfa/senslab/slabslices.py

index 60c6c67..ff119a2 100755 (executable)
@@ -31,12 +31,12 @@ fi
 # First restart sfa (prevents stalling when connecting
 # to the DB and dropping tables)
 sudo service sfa restart
+
 # Nuke the database 
 sudo sfaadmin.py registry nuke
 
 # Drop table in slab_sfa
 # to avoid duplicates.
-
 psql -d slab_sfa -U sfa -W -q -c "drop table slice_senslab;"
 
 
@@ -70,8 +70,16 @@ sudo cp $git_local_repo/sfa/senslab/config/$vm/default_config.xml /etc/sfa/defau
 # sudo cp $git_local_repo/sfa/senslab/config/$vm/site.xml  /etc/sfa/site.xml
 # sudo cp $git_local_repo/sfa/senslab/config/$vm/site_config  /etc/sfa/configs/site_config
 # sudo ln -s ldap_config.py  /etc/sfa/ldap_config.py
-sudo cp $git_local_repo/sfa/senslab/config/ldap_config.py  /etc/sfa/ldap_config.py 
-sudo cp $git_local_repo/sfa/senslab/config/oar_config.py  /etc/sfa/oar_config.py 
+
+#Senslab LDAP and OAR access config files
+if [ !-f /etc/sfa/ldap_config.py ] 
+then
+    sudo cp $git_local_repo/sfa/senslab/config/ldap_config.py  /etc/sfa/ldap_config.py 
+
+if [ !-f /etc/sfa/oar_config.py ] 
+then
+    sudo cp $git_local_repo/sfa/senslab/config/oar_config.py  /etc/sfa/oar_config.py 
+
 sudo service sfa restart
 
 # User stuff : clean your folder
index c5e7a78..ca9b27a 100644 (file)
@@ -844,8 +844,10 @@ class SlabDriver(Driver):
                 #slicerec_dict.update({'node_ids':[lease['reserved_nodes'][n]['hostname'] for n in lease['reserved_nodes']]})
                 slicerec_dict.update({'list_node_ids':{'hostname':reserved_list}})   
                 slicerec_dict.update({'node_ids':lease['reserved_nodes']})
-                slicerec_dict.update(fixed_slicerec_dict)
-                slicerec_dict.update({'hrn':\
+                #If the slice does not belong to senslab:
+                if fixed_slicerec_dict:
+                    slicerec_dict.update(fixed_slicerec_dict)
+                    slicerec_dict.update({'hrn':\
                                     str(fixed_slicerec_dict['slice_hrn'])})
                     
     
@@ -876,8 +878,11 @@ class SlabDriver(Driver):
                     if owner == lease['user']:
                         slicerec_dict['oar_job_id'] = lease['lease_id']
                         reserved_list = []
-                        for reserved_node in lease['reserved_nodes']:
-                            reserved_list.append(reserved_node['hostname'])
+                        
+                        #for reserved_node in lease['reserved_nodes']:
+                        logger.debug("SLABDRIVER.PY  \tGetSlices lease %s " %(lease ))
+                            #reserved_list.append(reserved_node['hostname'])
+                        reserved_list.extend(lease['reserved_nodes'])
                         #slicerec_dict.update({'node_ids':{'hostname':reserved_list}})    
                         #slicerec_dict.update({'node_ids':[lease['reserved_nodes'][n]['hostname'] for n in lease['reserved_nodes']]})
                         slicerec_dict.update({'node_ids':lease['reserved_nodes']})
@@ -1291,6 +1296,7 @@ class SlabDriver(Driver):
                     try:
                         for rec in recslice_list:
                             record['oar_job_id'].append(rec['oar_job_id'])
+                            record['node_ids'] = [ self.root_auth + hostname for hostname in rec['node_ids']]
                     except KeyError:
                         pass
 
index c63acf4..1889175 100644 (file)
@@ -319,8 +319,8 @@ class SlabSlices:
         if slices_list:
             for sl in slices_list:
             
-                logger.debug("SLABSLICE \tverify_slice slicename %s sl %s \
-                                    slice_record %s"%(slicename, sl, \
+                logger.debug("SLABSLICE \tverify_slice slicename %s slices_list %s sl %s \
+                                    slice_record %s"%(slicename, slices_list,sl, \
                                                             slice_record))
                 sfa_slice = sl
                 sfa_slice.update(slice_record)