default_steps = [
'show', SEP,
'vs_delete','timestamp_vs','vs_create', SEP,
+# 'plc_install', 'mod_python', 'plc_configure', 'plc_start', SEP,
'plc_install', 'plc_configure', 'plc_start', SEP,
'keys_fetch', 'keys_store', 'keys_clear_known_hosts', SEP,
'plcapi_urls','speed_up_slices', SEP,
# keep this our of the way for now
# 'check_vsys_defaults', SEP,
'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config', SEP,
- 'qemu_export', 'qemu_kill_mine', 'qemu_start', 'timestamp_qemu', SEP,
+ 'qemu_kill_mine','qemu_clean_mine', 'qemu_export', 'qemu_start', 'timestamp_qemu', SEP,
'sfa_install_all', 'sfa_configure', 'cross_sfa_configure', 'sfa_start', 'sfa_import', SEPSFA,
'sfi_configure@1', 'sfa_add_site@1','sfa_add_pi@1', SEPSFA,
'sfa_add_user@1', 'sfa_update_user@1', 'sfa_add_slice@1', 'sfa_renew_slice@1', SEPSFA,
pass
def actual_command_in_guest (self,command):
- return self.test_ssh.actual_command(self.host_to_guest(command))
+ return self.test_ssh.actual_command(self.host_to_guest(command),dry_run=self.options.dry_run)
def start_guest (self):
- return utils.system(self.test_ssh.actual_command(self.start_guest_in_host()))
+ return utils.system(self.test_ssh.actual_command(self.start_guest_in_host(),dry_run=self.options.dry_run))
def stop_guest (self):
- return utils.system(self.test_ssh.actual_command(self.stop_guest_in_host()))
+ return utils.system(self.test_ssh.actual_command(self.stop_guest_in_host(),dry_run=self.options.dry_run))
def run_in_guest (self,command):
return utils.system(self.actual_command_in_guest(command))
def run_in_host (self,command):
- return self.test_ssh.run_in_buildname(command)
+ return self.test_ssh.run_in_buildname(command, dry_run=self.options.dry_run)
#command gets run in the plc's vm
def host_to_guest(self,command):
if self.options.plcs_use_lxc:
- return "ssh -o StrictHostKeyChecking=no %s %s"%(self.vserverip,command)
+ return "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null %s %s"%(self.vserverip,command)
else:
return "vserver %s exec %s"%(self.vservername,command)
def vm_root_in_host(self):
if self.options.plcs_use_lxc:
- return "/var/lib/lxc/%s/rootfs/"%(self.vservername)
+ return "/vservers/%s/rootfs/"%(self.vservername)
else:
return "/vservers/%s"%(self.vservername)
def vm_timestamp_path (self):
if self.options.plcs_use_lxc:
- return "/var/lib/lxc/%s/%s.timestamp"%(self.vservername,self.vservername)
+ return "/vservers/%s/%s.timestamp"%(self.vservername,self.vservername)
else:
return "/vservers/%s.timestamp"%(self.vservername)
return self.locate_sliver_obj(nodename,slicename)
# all different hostboxes used in this plc
- def gather_hostBoxes(self):
+ def get_BoxNodes(self):
# maps on sites and nodes, return [ (host_box,test_node) ]
tuples=[]
for site_spec in self.plc_spec['sites']:
# a step for checking this stuff
def show_boxes (self):
'print summary of nodes location'
- for (box,nodes) in self.gather_hostBoxes().iteritems():
+ for (box,nodes) in self.get_BoxNodes().iteritems():
print box,":"," + ".join( [ node.name() for node in nodes ] )
return True
def qemu_kill_all(self):
'kill all qemu instances on the qemu boxes involved by this setup'
# this is the brute force version, kill all qemus on that host box
- for (box,nodes) in self.gather_hostBoxes().iteritems():
+ for (box,nodes) in self.get_BoxNodes().iteritems():
# pass the first nodename, as we don't push template-qemu on testboxes
nodedir=nodes[0].nodedir()
TestBoxQemu(box,self.options.buildname).qemu_kill_all(nodedir)
# make this a valid step
def qemu_list_all(self):
'list all qemu instances on the qemu boxes involved by this setup'
- for (box,nodes) in self.gather_hostBoxes().iteritems():
+ for (box,nodes) in self.get_BoxNodes().iteritems():
# this is the brute force version, kill all qemus on that host box
TestBoxQemu(box,self.options.buildname).qemu_list_all()
return True
- # kill only the right qemus
+ # kill only the qemus related to this test
def qemu_list_mine(self):
'list qemu instances for our nodes'
- for (box,nodes) in self.gather_hostBoxes().iteritems():
+ for (box,nodes) in self.get_BoxNodes().iteritems():
# the fine-grain version
for node in nodes:
node.list_qemu()
return True
+ # kill only the qemus related to this test
+ def qemu_clean_mine(self):
+ 'cleanup (rm -rf) qemu instances for our nodes'
+ for (box,nodes) in self.get_BoxNodes().iteritems():
+ # the fine-grain version
+ for node in nodes:
+ node.qemu_clean()
+ return True
+
# kill only the right qemus
def qemu_kill_mine(self):
'kill the qemu instances for our nodes'
- for (box,nodes) in self.gather_hostBoxes().iteritems():
+ for (box,nodes) in self.get_BoxNodes().iteritems():
# the fine-grain version
for node in nodes:
node.kill_qemu()
if self.options.plcs_use_lxc:
self.run_in_host("virsh -c lxc:// destroy %s"%self.vservername)
self.run_in_host("virsh -c lxc:// undefine %s"%self.vservername)
- self.run_in_host("rm -fr /var/lib/lxc/%s"%self.vservername)
+ self.run_in_host("rm -fr /vservers/%s"%self.vservername)
return True
else:
self.run_in_host("vserver --silent %s delete"%self.vservername)
pkgs_string=" ".join(pkgs_list)
return self.yum_install (pkgs_list)
+ ###
+ def mod_python(self):
+ """yum install mod_python, useful on f18 and above so as to avoid broken wsgi"""
+ return self.yum_install ( [ 'mod_python' ] )
+
###
def plc_configure(self):
"run plc-config-tty"