from TestKey import TestKey
from TestSlice import TestSlice
from TestSliver import TestSliver
-from TestBox import TestBox
+from TestBoxQemu import TestBoxQemu
from TestSsh import TestSsh
from TestApiserver import TestApiserver
from TestSliceSfa import TestSliceSfa
class TestPlc:
default_steps = [
- 'show', 'local_pre', SEP,
- 'vs_delete','vs_create','plc_install', 'plc_configure', 'plc_start', SEP,
+ 'show', SEP,
+ 'vs_delete','vs_create','timestamp_vs', SEP,
+ 'plc_install', 'plc_configure', 'plc_start', SEP,
'keys_fetch', 'keys_store', 'keys_clear_known_hosts', SEP,
'initscripts', 'sites', 'nodes', 'slices', 'nodegroups', 'leases', SEP,
- 'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config', 'qemu_export', 'qemu_kill_all', 'qemu_start', SEP,
+ 'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config', SEP,
+ 'qemu_export', 'qemu_kill_all', 'qemu_start', 'timestamp_qemu', SEP,
'sfa_install', 'sfa_configure', 'cross_sfa_configure', 'sfa_import', 'sfa_start', SEPSFA,
'sfi_configure@1', 'sfa_add_user@1', 'sfa_add_slice@1', 'sfa_discover@1', SEPSFA,
'sfa_create_slice@1', 'sfa_check_slice_plc@1', SEPSFA,
'ssh_node_boot', 'ssh_slice', 'check_initscripts', SEP,
'ssh_slice_sfa@1', 'sfa_delete_slice@1', 'sfa_delete_user@1', SEPSFA,
'check_tcp', SEP,
- 'force_gather_logs', 'force_local_post', SEP,
+ 'force_gather_logs', SEP,
]
other_steps = [
'check_hooks',
def __init__ (self,plc_spec,options):
self.plc_spec=plc_spec
self.options=options
- self.test_ssh=TestSsh(self.plc_spec['hostname'],self.options.buildname)
+ self.test_ssh=TestSsh(self.plc_spec['host_box'],self.options.buildname)
try:
self.vserverip=plc_spec['vserverip']
self.vservername=plc_spec['vservername']
return "%s.%s"%(name,self.vservername)
def hostname(self):
- return self.plc_spec['hostname']
+ return self.plc_spec['host_box']
def is_local (self):
return self.test_ssh.is_local()
for (box,nodes) in self.gather_hostBoxes().iteritems():
# pass the first nodename, as we don't push template-qemu on testboxes
nodedir=nodes[0].nodedir()
- TestBox(box,self.options.buildname).qemu_kill_all(nodedir)
+ TestBoxQemu(box,self.options.buildname).qemu_kill_all(nodedir)
return True
# make this a valid step
'list all qemu instances on the qemu boxes involved by this setup'
for (box,nodes) in self.gather_hostBoxes().iteritems():
# this is the brute force version, kill all qemus on that host box
- TestBox(box,self.options.buildname).qemu_list_all()
+ TestBoxQemu(box,self.options.buildname).qemu_list_all()
return True
# kill only the right qemus
@staticmethod
def display_mapping_plc (plc_spec):
print '+ MyPLC',plc_spec['name']
- print '+\tvserver address = root@%s:/vservers/%s'%(plc_spec['hostname'],plc_spec['vservername'])
+ print '+\tvserver address = root@%s:/vservers/%s'%(plc_spec['host_box'],plc_spec['vservername'])
print '+\tIP = %s/%s'%(plc_spec['PLC_API_HOST'],plc_spec['vserverip'])
for site_spec in plc_spec['sites']:
for node_spec in site_spec['nodes']:
print '+\tqemu box %s'%node_spec['host_box']
print '+\thostname=%s'%node_spec['node_fields']['hostname']
+ # write a timestamp in /vservers/<>/
+ def timestamp_vs (self):
+ now=int(time.time())
+ utils.system(self.test_ssh.actual_command("mkdir -p /vservers/%s"%self.vservername))
+ return utils.system(self.test_ssh.actual_command("echo %d > /vservers/%s/timestamp"%(now,self.vservername)))==0
+
def local_pre (self):
"run site-dependant pre-test script as defined in LocalTestResources"
from LocalTestResources import local_resources
"all nodes: start the qemu instance (also runs qemu-bridge-init start)"
pass
+ @node_mapper
+ def timestamp_qemu (self) :
+ "all nodes: start the qemu instance (also runs qemu-bridge-init start)"
+ pass
+
def check_tcp (self):
"check TCP connectivity between 2 slices (or in loopback if only one is defined)"
specs = self.plc_spec['tcp_test']