git://git.onelab.eu
/
tests.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
first draft for a tracker-less rewrite
[tests.git]
/
system
/
TestNode.py
diff --git
a/system/TestNode.py
b/system/TestNode.py
index
c0e098b
..
11e9391
100644
(file)
--- a/
system/TestNode.py
+++ b/
system/TestNode.py
@@
-6,7
+6,7
@@
import xmlrpclib
import utils
from TestUser import TestUser
import utils
from TestUser import TestUser
-from TestBox
import TestBox
+from TestBox
Qemu import TestBoxQemu
from TestSsh import TestSsh
class TestNode:
from TestSsh import TestSsh
class TestNode:
@@
-51,12
+51,12
@@
class TestNode:
utils.header("WARNING : qemu nodes need a host box")
return 'localhost'
utils.header("WARNING : qemu nodes need a host box")
return 'localhost'
- # this returns a TestBox instance - cached in .test_box_value
+ # this returns a TestBox
Qemu
instance - cached in .test_box_value
def test_box (self):
try:
return self.test_box_value
except:
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 = TestBox
Qemu
(self.host_box(),self.buildname())
return self.test_box_value
def create_node (self):
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
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():
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):
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
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']
if not self.is_qemu():
return
mac=self.node_spec['interface_fields']['mac']
@@
-177,7
+180,7
@@
class TestNode:
file.close()
return True
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
# 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
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:
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
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):
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()))
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)
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
TestSsh(self.name()).clear_known_hosts()
return True