2 # this models a box that hosts qemu nodes
3 # could probably also be used for boxes that host plc instances
10 def __init__(self,hostname,buildname,key=None):
11 self.hostname_value=hostname
12 self.buildname=buildname
16 return self.hostname_value
19 return utils.is_local (self.hostname())
21 def run_in_buildname (self,command):
23 return utils.system(command)
26 ssh_comand += "-i %s.rsa "%(self.key)
27 ssh_command += "%s/%s"%(self.buildname,utils.backslash_shell_specials(command))
28 return utils.system(ssh_command)
30 # should use rsync instead
31 def copy (self,local_file,recursive=False):
35 if recursive: command += "-r "
37 command += "-i %s.rsa "
38 command +="%s %s:%s/%s"%(local_file,self.hostname(),self.buildname,
39 os.path.basename(local_file) or ".")
40 return utils.system(command)
45 return utils.system("rm -rf %s"%self.buildname)
50 return utils.system("mkdir %s"%self.buildname)
52 def kill_all_qemus(self):
53 self.run_in_buildname("killall qemu")