-# $Id$
+# Thierry Parmentelat <thierry.parmentelat@inria.fr>
+# Copyright (C) 2010 INRIA
+#
import os, os.path
import datetime
import time
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',
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
"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:
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']:
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',
'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')
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):
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')
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()
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')