1 # Thierry Parmentelat <thierry.parmentelat@inria.fr>
2 # Copyright (C) 2010 INRIA
4 # this models a box that hosts qemu nodes
5 # could probably also be used for boxes that host plc instances
8 from TestSsh import TestSsh
10 # xxx this should probably inherit TestSsh
13 def __init__(self,hostname,buildname,key=None):
14 self.hostname_value=hostname
15 self.buildname=buildname
17 self.test_ssh=TestSsh(self.hostname_value,self.buildname,self.key)
20 return self.hostname_value
23 return self.test_ssh.is_local()
25 def run_in_buildname (self,command,background=False):
26 message="On %s: running %s"%(self.hostname(),command)
27 if background: message += " &"
29 return self.test_ssh.run_in_buildname (command,background)
31 # xxx could/should use rsync instead
32 def copy (self,local_file,recursive=False):
33 return self.test_ssh.copy (local_file,recursive)
35 def clean_dir (self,dirname):
36 return self.test_ssh.clean_dir(dirname)
38 def mkdir (self,dirname):
39 return self.test_ssh.mkdir(dirname)
41 # we need at least one nodename, as template-qemu is not synced on remote testboxes
42 def qemu_kill_all(self,nodedir):
43 self.run_in_buildname("%s/qemu-kill-node"%nodedir)
46 def qemu_list_all(self):
47 self.run_in_buildname("template-qemu/qemu-kill-node -l")