def kill_master_monitor_process(parser): """ kill master monitor process on hostOS """ pid = mmsh.get_pid() cmd = cmd_kill.kill_cmd(pid, 9) subprocess.Popen(cmd.split(), stdout=subprocess.PIPE).communicate()
def kill_vm_process(parser): """ kill vm process on hostOS """ ssh = shell_server.get_ssh(parser["HostOS_ip"] , parser["HostOS_usr"] , parser["HostOS_pwd"]) pid = FTVM.get_pid(parser["vm_name"], parser["HostOS_ip"], ssh) cmd = cmd_kill.kill_cmd(pid, 9) s_stdin, s_stdout, s_stderr = ssh.exec_command("sudo "+cmd) ssh.close()
def kill_libvirt_process(parser): """ kill libvirt process on hostOS """ ssh = shell_server.get_ssh(parser["GuestOS_ip"] , parser["GuestOS_usr"] , parser["GuestOS_pwd"]) pid = FTsystem.get_pid(ssh) cmd = cmd_kill.kill_cmd(pid, 9) s_stdin, s_stdout, s_stderr = ssh.exec_command("sudo "+cmd) ssh.close()
def exec_slave_vm_guestOS_crasher(parser): """ execute level 1 crasher in vm kill init process :param parser: is a dict, get from Test config file """ if "pro_wait_time_exe_L1_crasher" in parser.keys( ): #若pro_wait_time_exe_L1_crasher存在於parser time.sleep(int(parser["pro_wait_time_exe_L1_crasher"])) ssh = shell_server.get_ssh(parser["GuestOS_ip_S"], parser["GuestOS_usr"], parser["GuestOS_pwd"]) #獲得ssh cmd = "sudo " + cmd_kill.kill_cmd(1, 11) #獲得kill -SIGSEGV 1之指令字串 #print cmd s_stdin, s_stdout, s_stderr = ssh.exec_command(cmd) #透過ssh執行指令 ssh.close()
def kill_backup_vm_process(parser): """ kill vm process on backupOS :param parser: is a dict, get from Test config file """ if "pro_wait_time_kill_vm_p" in parser.keys( ): #若pro_wait_time_kill_vm_p存在於parser time.sleep(int(parser["pro_wait_time_kill_vm_p"])) #print "kill" ssh = shell_server.get_ssh(parser["BackupOS_ip"], parser["BackupOS_usr"], parser["BackupOS_pwd"]) #獲得ssh pid = FTVM.get_pid(parser["vm_name"], parser["BackupOS_ip"], ssh) #獲得VM之pid cmd = cmd_kill.kill_cmd(pid, 9) #獲得kill vm process之指令字串 print cmd s_stdin, s_stdout, s_stderr = ssh.exec_command("sudo " + cmd) #透過ssh執行指令 ssh.close()
def exec_L1_hostOS_crasher(parser): """ execute level 1 crasher in hostOS :param parser: is a dict, get from Test config file """ if "pro_wait_time_exe_L1_crasher" in parser.keys( ): #若pro_wait_time_exe_L1_crasher存在於parser time.sleep(int(parser["pro_wait_time_exe_L1_crasher"])) ssh = shell_server.get_ssh(parser["PrimaryOS_ip"], parser["PrimaryOS_usr"], parser["PrimaryOS_pwd"]) #獲得ssh cmd = "sudo " + cmd_kill.kill_cmd(1, 11) #獲得kill -SIGSEGV 1之指令字串 #print cmd s_stdin, s_stdout, s_stderr = ssh.exec_command(cmd) #透過ssh執行指令 #print "stdout",s_stdout.read() #print "stderr",s_stderr.read() ssh.close() """
def kill_libvirt_process(parser): """ kill libvirt process on hostOS :param parser: is a dict, get from Test config file """ if "pro_wait_time_kill_libvirt_p" in parser.keys( ): #若pro_wait_time_kill_libvirt_p存在於parser time.sleep(int(parser["pro_wait_time_kill_libvirt_p"])) ssh = shell_server.get_ssh(parser["PrimaryOS_ip"], parser["PrimaryOS_usr"], parser["PrimaryOS_pwd"]) #獲得ssh pid = FTsystem.get_pid(ssh) #透過ssh獲得libvirt之pid if pid == False: ssh.close() raise TA_error.Process_Error("can not get libvirt pid") print "libvirt pid %s" % pid cmd = cmd_kill.kill_cmd(pid, 9) #獲得kill libvirt process之指令字串 s_stdin, s_stdout, s_stderr = ssh.exec_command("sudo " + cmd) #透過ssh執行指令 ssh.close()
def kill_master_monitor_process(parser): """ kill master monitor process on hostOS :param parser: is a dict, get from Test config file """ ssh = shell_server.get_ssh(parser["BackupOS_ip"], parser["BackupOS_usr"], parser["BackupOS_pwd"]) #獲得ssh if "pro_wait_time_kill_mm_p" in parser.keys( ): #若pro_wait_time_kill_mm_p存在於parser time.sleep(int(parser["pro_wait_time_kill_mm_p"])) pid = master_monitor.get_pid(ssh) #獲得master monitor之pid if pid == False: raise TA_error.Process_Error("can not get master monitor pid") print pid cmd = "sudo " + cmd_kill.kill_cmd(pid, 9) #獲得kill master monitor process之指令字串 s_stdin, s_stdout, s_stderr = ssh.exec_command("sudo " + cmd) #透過ssh執行指令 #subprocess.Popen(cmd.split(), stdout=subprocess.PIPE).communicate() #執行指令 ssh.close()