attempt to fix the add_sfa step
[tests.git] / system / TestPlc.py
index 1246fa1..812b867 100644 (file)
@@ -1,4 +1,6 @@
-# $Id$
+# Thierry Parmentelat <thierry.parmentelat@inria.fr>
+# Copyright (C) 2010 INRIA 
+#
 import os, os.path
 import datetime
 import time
@@ -535,8 +537,9 @@ class TestPlc:
         tmpname='%s.plc-config-tty'%(self.name())
         fileconf=open(tmpname,'w')
         for var in [ 'PLC_NAME',
-                     'PLC_ROOT_PASSWORD',
                      'PLC_ROOT_USER',
+                     'PLC_ROOT_PASSWORD',
+                     'PLC_SLICE_PREFIX',
                      'PLC_MAIL_ENABLED',
                      'PLC_MAIL_SUPPORT_ADDRESS',
                      'PLC_DB_HOST',
@@ -665,8 +668,8 @@ class TestPlc:
 
     YEAR = 365*24*3600
     @staticmethod
-    def translate_timestamp (start,timestamp):
-        if timestamp < TestPlc.YEAR:    return start+timestamp
+    def translate_timestamp (start,grain,timestamp):
+        if timestamp < TestPlc.YEAR:    return start+timestamp*grain
         else:                           return timestamp
 
     @staticmethod
@@ -677,8 +680,9 @@ class TestPlc:
         "create leases (on reservable nodes only, use e.g. run -c default -c resa)"
         now=int(time.time())
         grain=self.apiserver.GetLeaseGranularity(self.auth_root())
-        round_time=(now/grain)*grain
-        start=round_time+grain
+        print 'API answered grain=',grain
+        start=(now/grain)*grain
+        start += grain
         # find out all nodes that are reservable
         nodes=self.all_reservable_nodenames()
         if not nodes: 
@@ -690,8 +694,8 @@ class TestPlc:
         for lease_spec in self.plc_spec['leases']:
             # skip the ones that come with a null slice id
             if not lease_spec['slice']: continue
-            lease_spec['t_from']=TestPlc.translate_timestamp(start,lease_spec['t_from'])
-            lease_spec['t_until']=TestPlc.translate_timestamp(start,lease_spec['t_until'])
+            lease_spec['t_from']=TestPlc.translate_timestamp(start,grain,lease_spec['t_from'])
+            lease_spec['t_until']=TestPlc.translate_timestamp(start,grain,lease_spec['t_until'])
             lease_addition=self.apiserver.AddLeases(self.auth_root(),nodes,
                                                     lease_spec['slice'],lease_spec['t_from'],lease_spec['t_until'])
             if lease_addition['errors']:
@@ -1071,7 +1075,7 @@ class TestPlc:
         tmpname='%s.sfa-config-tty'%(self.name())
         fileconf=open(tmpname,'w')
         for var in [ 'SFA_REGISTRY_ROOT_AUTH',
-                     'SFA_REGISTRY_LEVEL1_AUTH',
+#                     'SFA_REGISTRY_LEVEL1_AUTH',
                     'SFA_REGISTRY_HOST',
                     'SFA_AGGREGATE_HOST',
                      'SFA_SM_HOST',
@@ -1080,7 +1084,8 @@ class TestPlc:
                      'SFA_PLC_DB_HOST',
                      'SFA_PLC_DB_USER',
                      'SFA_PLC_DB_PASSWORD',
-                    'SFA_PLC_URL']:
+                    'SFA_PLC_URL',
+                     ]:
             fileconf.write ('e %s\n%s\n'%(var,self.plc_spec['sfa'][var]))
         fileconf.write('w\n')
         fileconf.write('R\n')
@@ -1103,6 +1108,7 @@ class TestPlc:
         return self.run_in_guest('service sfa start')==0
 
     def setup_sfa(self):
+        sfa_spec=self.plc_spec['sfa']
         "sfi client configuration"
        dir_name=".sfi"
        if os.path.exists(dir_name):
@@ -1115,23 +1121,23 @@ class TestPlc:
 
        file_name=dir_name + os.sep + 'sfi_config'
         fileconf=open(file_name,'w')
-       SFI_AUTH=self.plc_spec['sfa']['SFA_REGISTRY_ROOT_AUTH']+".main"
+       SFI_AUTH="%s.%s"%(sfa_spec['SFA_REGISTRY_ROOT_AUTH'],sfa_spec['login_base'])
         fileconf.write ("SFI_AUTH='%s'"%SFI_AUTH)
        fileconf.write('\n')
        SFI_USER=SFI_AUTH+'.fake-pi1'
         fileconf.write ("SFI_USER='%s'"%SFI_USER)
        fileconf.write('\n')
-       SFI_REGISTRY='http://' + self.plc_spec['sfa']['SFA_PLC_DB_HOST'] + ':12345/'
+       SFI_REGISTRY='http://' + sfa_spec['SFA_PLC_DB_HOST'] + ':12345/'
         fileconf.write ("SFI_REGISTRY='%s'"%SFI_REGISTRY)
        fileconf.write('\n')
-       SFI_SM='http://' + self.plc_spec['sfa']['SFA_PLC_DB_HOST'] + ':12347/'
+       SFI_SM='http://' + sfa_spec['SFA_PLC_DB_HOST'] + ':12347/'
         fileconf.write ("SFI_SM='%s'"%SFI_SM)
        fileconf.write('\n')
         fileconf.close()
 
        file_name=dir_name + os.sep + 'person.xml'
         fileconf=open(file_name,'w')
-       for record in self.plc_spec['sfa']['sfa_person_xml']:
+       for record in sfa_spec['sfa_person_xml']:
           person_record=record
        fileconf.write(person_record)
        fileconf.write('\n')
@@ -1139,9 +1145,9 @@ class TestPlc:
 
        file_name=dir_name + os.sep + 'slice.xml'
         fileconf=open(file_name,'w')
-       for record in self.plc_spec['sfa']['sfa_slice_xml']:
+       for record in sfa_spec['sfa_slice_xml']:
            slice_record=record
-       #slice_record=self.plc_spec['sfa']['sfa_slice_xml']
+       #slice_record=sfa_spec['sfa_slice_xml']
        fileconf.write(slice_record)
        fileconf.write('\n')
         fileconf.close()
@@ -1149,7 +1155,7 @@ class TestPlc:
        file_name=dir_name + os.sep + 'slice.rspec'
         fileconf=open(file_name,'w')
        slice_rspec=''
-       for (key, value) in self.plc_spec['sfa']['sfa_slice_rspec'].items():
+       for (key, value) in sfa_spec['sfa_slice_rspec'].items():
            slice_rspec +=value 
        fileconf.write(slice_rspec)
        fileconf.write('\n')