default_steps = [
'show', SEP,
- 'vs_delete','vs_create','timestamp_vs', SEP,
+ 'vs_delete','timestamp_vs','vs_create', SEP,
'plc_install', 'plc_configure', 'plc_start', SEP,
'keys_fetch', 'keys_store', 'keys_clear_known_hosts', SEP,
'initscripts', 'sites', 'nodes', 'slices', 'nodegroups', 'leases', SEP,
print '+\tqemu box %s'%node_spec['host_box']
print '+\thostname=%s'%node_spec['node_fields']['hostname']
- # write a timestamp in /vservers/<>/
+ # write a timestamp in /vservers/<>.timestamp
+ # cannot be inside the vserver, that causes vserver .. build to cough
def timestamp_vs (self):
now=int(time.time())
- utils.system(self.test_ssh.actual_command("mkdir -p /vservers/%s"%self.vservername))
- return utils.system(self.test_ssh.actual_command("echo %d > /vservers/%s/timestamp"%(now,self.vservername)))==0
+ return utils.system(self.test_ssh.actual_command("echo %d > /vservers/%s.timestamp"%(now,self.vservername)))==0
def local_pre (self):
"run site-dependant pre-test script as defined in LocalTestResources"
def vs_delete(self):
"vserver delete the test myplc"
self.run_in_host("vserver --silent %s delete"%self.vservername)
+ self.run_in_host("rm -f /vservers/%s.timestamp"%self.vservername)
return True
### install
# ignore result
sfa_spec=self.plc_spec['sfa']
- slicename='%s_%s'%(sfa_spec['login_base'],sfa_spec['slicename'])
- try: self.apiserver.DeleteSlice(self.auth_root(),slicename)
- except: print "Slice %s already absent from PLC db"%slicename
+ for sfa_slice_spec in sfa_spec['sfa_slice_specs']:
+ slicename='%s_%s'%(sfa_spec['login_base'],sfa_slice_spec['slicename'])
+ try: self.apiserver.DeleteSlice(self.auth_root(),slicename)
+ except: print "Slice %s already absent from PLC db"%slicename
username="%s@%s"%(sfa_spec['regularuser'],sfa_spec['domain'])
try: self.apiserver.DeletePerson(self.auth_root(),username)
fileconf.close()
utils.header ("(Over)wrote %s"%file_name)
- file_name=dir_name + os.sep + 'person.xml'
- fileconf=open(file_name,'w')
- for record in sfa_spec['sfa_person_xml']:
- person_record=record
- fileconf.write(person_record)
- fileconf.write('\n')
- fileconf.close()
- utils.header ("(Over)wrote %s"%file_name)
-
- file_name=dir_name + os.sep + 'slice.xml'
- fileconf=open(file_name,'w')
- for record in sfa_spec['sfa_slice_xml']:
- slice_record=record
- #slice_record=sfa_spec['sfa_slice_xml']
- fileconf.write(slice_record)
- fileconf.write('\n')
- utils.header ("(Over)wrote %s"%file_name)
- fileconf.close()
+ # cannot use sfa_slice_mapper to pass dir_name
+ for slice_spec in self.plc_spec['sfa']['sfa_slice_specs']:
+ site_spec = self.locate_site (slice_spec['sitename'])
+ test_site = TestSite(self,site_spec)
+ test_slice=TestSliceSfa(self,test_site,slice_spec)
+ test_slice.sfi_config(dir_name)
file_name=dir_name + os.sep + 'slice.rspec'
fileconf=open(file_name,'w')