From: Thierry Parmentelat Date: Tue, 8 Apr 2008 15:25:50 +0000 (+0000) Subject: fix for when a test involving remote qemu boxes is run twice X-Git-Tag: tests-4.2-4~72 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=70b23e3ad5aa7c78a7124b1bdb9e0ad531396310;p=tests.git fix for when a test involving remote qemu boxes is run twice --- diff --git a/system/TestBox.py b/system/TestBox.py index 462b152..5bcdf40 100644 --- a/system/TestBox.py +++ b/system/TestBox.py @@ -37,8 +37,8 @@ class TestBox: return self.test_ssh.mkdir(dirname) # we need at least one nodename, as template-qemu is not synced on remote testboxes - def kill_all_qemus(self,nodename): - self.run_in_buildname("qemu-%s/qemu-kill-node"%nodename) + def kill_all_qemus(self,nodedir): + self.run_in_buildname("%s/qemu-kill-node"%nodedir) return True def list_all_qemus(self): diff --git a/system/TestNode.py b/system/TestNode.py index 3f2e8b3..3178297 100644 --- a/system/TestNode.py +++ b/system/TestNode.py @@ -154,10 +154,14 @@ class TestNode: file.write('IP=%s\n'%ip) file.write('TARGET_ARCH=%s\n'%target_arch) file.close() + return True + def export_qemu (self): # if relevant, push the qemu area onto the host box if self.test_box().is_local(): return True + utils.header ("Cleaning any former sequel of %s on %s"%(self.name(),self.host_box())) + self.test_box().run_in_buildname("rm -rf %s"%self.nodedir()) utils.header ("Transferring configuration files for node %s onto %s"%(self.name(),self.host_box())) return self.test_box().copy(self.nodedir(),recursive=True)==0 @@ -181,7 +185,7 @@ class TestNode: def list_qemu (self): utils.header("Listing qemu for host %s on box %s"%(self.name(),self.test_box().hostname())) - command="qemu-%s/qemu-kill-node -l %s"%(self.name(),self.name()) + command="%s/qemu-kill-node -l %s"%(self.nodedir(),self.name()) self.test_box().run_in_buildname(command) return True @@ -190,7 +194,7 @@ class TestNode: test_box = self.test_box() # kill the right processes utils.header("Stopping qemu for host %s on box %s"%(self.name(),self.test_box().hostname())) - command="qemu-%s/qemu-kill-node %s"%(self.name(),self.name()) + command="%s/qemu-kill-node %s"%(self.nodedir(),self.name()) self.test_box().run_in_buildname(command) return True diff --git a/system/TestPlc.py b/system/TestPlc.py index 5781ad8..195aa7d 100644 --- a/system/TestPlc.py +++ b/system/TestPlc.py @@ -66,7 +66,7 @@ class TestPlc: 'configure', 'start', SEP, 'store_keys', 'clear_known_hosts', 'initscripts', SEP, 'sites', 'nodes', 'slices', 'nodegroups', SEP, - 'init_node','bootcd', 'configure_qemu', + 'init_node','bootcd', 'configure_qemu', 'export_qemu', 'kill_all_qemus', 'reinstall_node','start_node', SEP, 'standby_20', SEP, 'nodes_booted', 'nodes_ssh', 'check_slice', @@ -227,8 +227,8 @@ class TestPlc: # this is the brute force version, kill all qemus on that host box for (box,nodes) in self.gather_hostBoxes().iteritems(): # pass the first nodename, as we don't push template-qemu on testboxes - nodename=nodes[0].name() - TestBox(box,self.options.buildname).kill_all_qemus(nodename) + nodedir=nodes[0].nodedir() + TestBox(box,self.options.buildname).kill_all_qemus(nodedir) return True # make this a valid step @@ -556,6 +556,8 @@ class TestPlc: def configure_qemu (self): pass @node_mapper def reinstall_node (self): pass + @node_mapper + def export_qemu (self): pass def do_check_initscripts(self): overall = True diff --git a/system/step_fresh_install.py b/system/step_fresh_install.py index 90afd7d..399e893 100644 --- a/system/step_fresh_install.py +++ b/system/step_fresh_install.py @@ -1,15 +1,11 @@ -import utils from TestPlc import TestPlc -# requirement is to implement -# run* (plc_spec, options) - -def run01_uninstall (test_plc,options): - return test_plc.uninstall(options) -def run02_install (test_plc,options): - return test_plc.install(options) -def run03_configure (test_plc,options): - return test_plc.configure(options) -def run04_dump_just_installed (test_plc,options): +def run01_uninstall (test_plc): + return test_plc.uninstall() +def run02_install (test_plc): + return test_plc.install() +def run03_configure (test_plc): + return test_plc.configure() +def run04_dump_just_installed (test_plc): options.dbname='just-installed' - return test_plc.db_dump(options) + return test_plc.db_dump()