10 def __init__ (self,test_plc,test_site,node_spec):
11 self.test_plc=test_plc
12 self.test_site=test_site
13 self.node_spec=node_spec
14 self.timset=time.strftime("%H:%M:%S", time.localtime())
15 def create_node (self,role):
16 auth = self.test_site.anyuser_auth (role+"_spec")
17 filter={'boot_state':'rins'}
19 if (role=='pi' and self.node_spec['owned']=='pi'):
20 self.node_id = self.test_plc.server.AddNode(auth,
21 self.test_site.site_spec['site_fields']['login_base'],
23 self.test_plc.server.AddNodeNetwork(auth,self.node_id,
24 self.node_spec['network'])
25 self.test_plc.server.UpdateNode(auth, self.node_id, filter)
28 elif (role=='tech' and self.node_spec['owned']=='tech'):
29 self.node_id = self.test_plc.server.AddNode(auth,
30 self.test_site.site_spec['site_fields']['login_base'],
32 self.test_plc.server.AddNodeNetwork(auth,self.node_id,
33 self.node_spec['network'])
34 self.test_plc.server.UpdateNode(auth, self.node_id, filter)
39 def create_slice(self, role, liste_nodes_spec):
40 print '========>Creating slice at :'+self.timset+' : ',TestConfig.slice_spec
41 auth = self.test_site.anyuser_auth (role+"_spec")
43 for l in liste_nodes_spec :
44 liste_hosts.append(l['hostname'])
46 slice_id=self.test_plc.server.AddSlice(auth, TestConfig.slice_spec)
47 self.test_plc.server.AddSliceToNodes(auth, slice_id, liste_hosts)
48 self.test_plc.server.AddPersonToSlice(auth, self.test_site.site_spec['pi_spec']['email'], slice_id)
49 self.test_plc.server.AddPersonToSlice(auth, self.test_site.site_spec['tech_spec']['email'], slice_id)
50 self.test_plc.server.AddPersonToSlice(auth, self.test_site.site_spec['tech_user_spec']['email'], slice_id)
51 print 'fin creation slices'
58 def conffile(self,image,hostname,path):
60 file=path+'/VirtualFile-'+hostname+'/My_Virtual_Machine.vmx'
63 f1=open(path+'/My-Virtual-Machine-model/My_Virtual_Machine.vmx','r')
73 f2.write('ide1:1.fileName = '+'"'+image+'"' '\n')
81 def create_boot_cd(self,node_spec,path):
83 os.system('mkdir -p %s/VirtualFile-%s && cp %s/My-Virtual-Machine-model/* %s/VirtualFile-%s'%(path, node_spec['hostname'], path, path, node_spec['hostname']))
85 link1=self.test_plc.server.GetBootMedium(self.test_plc.auth_root(),
86 node_spec['hostname'], 'node-iso', '')
88 raise Exception, 'boot.iso not found'
90 file1=open(path+'/VirtualFile-'+node_spec['hostname']+'/boot_file.iso','w')
91 file1.write(base64.b64decode(link1))
95 print '========> boot cd created for :',self.node_spec['hostname']
96 self.conffile('boot_file.iso',self.node_spec['hostname'], path) #create 2 conf file for the vmware based