X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2FTestPlc.py;h=8d0dc4f0be3e14049546aa4ac861d33a4dd19b58;hb=911a8117a16e68130f16379da04845a064132988;hp=34e99597c0ad4f1c774dc22629e26744933b3968;hpb=d6bf4b85d5614301693ca30642ecd484cba11fb2;p=tests.git diff --git a/system/TestPlc.py b/system/TestPlc.py index 34e9959..8d0dc4f 100644 --- a/system/TestPlc.py +++ b/system/TestPlc.py @@ -84,6 +84,7 @@ class TestPlc: 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, @@ -92,7 +93,7 @@ class TestPlc: # 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, @@ -180,13 +181,13 @@ class TestPlc: 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)) @@ -197,7 +198,7 @@ class TestPlc: #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) @@ -329,7 +330,7 @@ class TestPlc: 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']: @@ -350,7 +351,7 @@ class TestPlc: # 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 @@ -358,7 +359,7 @@ class TestPlc: 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) @@ -367,24 +368,33 @@ class TestPlc: # 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() @@ -624,6 +634,11 @@ class TestPlc: 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"