X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2FTestNode.py;h=11e9391bff6650f3e193a87a22383b2380b5d4c6;hb=f8436f56fe24e8e545c9b3669897b8332dddffbc;hp=c0e098b44d6a5383c5ee1f12b5ae52aacf616158;hpb=9b0329cff29b8367bb22cbc2be72544d16c1e67c;p=tests.git diff --git a/system/TestNode.py b/system/TestNode.py index c0e098b..11e9391 100644 --- a/system/TestNode.py +++ b/system/TestNode.py @@ -6,7 +6,7 @@ import xmlrpclib import utils from TestUser import TestUser -from TestBox import TestBox +from TestBoxQemu import TestBoxQemu from TestSsh import TestSsh class TestNode: @@ -51,12 +51,12 @@ class TestNode: utils.header("WARNING : qemu nodes need a host box") return 'localhost' - # this returns a TestBox instance - cached in .test_box_value + # this returns a TestBoxQemu instance - cached in .test_box_value def test_box (self): try: return self.test_box_value except: - self.test_box_value = TestBox (self.host_box(),self.buildname()) + self.test_box_value = TestBoxQemu (self.host_box(),self.buildname()) return self.test_box_value def create_node (self): @@ -108,7 +108,7 @@ class TestNode: self.test_plc.apiserver.DeleteNode(auth,self.name()) # Do most of the stuff locally - will be pushed on host_box - *not* the plc - later if needed - def init_node(self): + def qemu_local_init(self): utils.system("rm -rf %s"%self.nodedir()) utils.system("mkdir %s"%self.nodedir()) if not self.is_qemu(): @@ -151,11 +151,14 @@ class TestNode: return True def nodestate_show (self): + if self.test_plc.options.dry_run: + print "Dry_run: skipped getting current node state" + return True state=self.test_plc.apiserver.GetNodes(self.test_plc.auth_root(), self.name(), ['boot_state'])[0]['boot_state'] print self.name(),':',state return True - def configure_qemu(self): + def qemu_local_config(self): if not self.is_qemu(): return mac=self.node_spec['interface_fields']['mac'] @@ -177,7 +180,7 @@ class TestNode: file.close() return True - def export_qemu (self): + def qemu_export (self): # if relevant, push the qemu area onto the host box if self.test_box().is_local(): return True @@ -186,17 +189,22 @@ class TestNode: 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 - def start_node (self): + def qemu_start (self): model=self.node_spec['node_fields']['model'] #starting the Qemu nodes before if self.is_qemu(): self.start_qemu() else: - utils.header("TestNode.start_node : %s model %s taken as real node"%(self.name(),model)) + utils.header("TestNode.qemu_start : %s model %s taken as real node"%(self.name(),model)) return True + def timestamp_qemu (self): + test_box = self.test_box() + test_box.run_in_buildname("mkdir -p %s"%self.nodedir()) + now=int(time.time()) + return test_box.run_in_buildname("echo %d > %s/timestamp"%(now,self.nodedir()))==0 + def start_qemu (self): - options = self.test_plc.options test_box = self.test_box() utils.header("Starting qemu node %s on %s"%(self.name(),test_box.hostname())) @@ -226,7 +234,7 @@ class TestNode: local_log="logs/node.qemu.%s.txt"%self.name() self.test_box().test_ssh.fetch(remote_log,local_log) - def clear_known_hosts (self): + def keys_clear_known_hosts (self): TestSsh(self.name()).clear_known_hosts() return True