def setup_class(self): haap.get_trace_all(3) os.chdir('Trace') pwd = os.getcwd() ls = os.listdir(pwd) self.trace = ls[-1] self.analyse = sun.TraceAnalyse(self.trace)
def home(): if request.args.get('trace'): TRACE = request.args.get('trace') haap.get_trace(TRACE, trace_level_cfg) else: pass if mode == 'rt': StatusHAAP = haap_rt_info_to_show() StatusHAAP.sort(key=operator.itemgetter(0)) StatusSANSW = sansw_rt_info_to_show() StatusSANSW.sort(key=operator.itemgetter(0)) tlu_haap = s.time_now_to_show() tlu_sansw = s.time_now_to_show() status_warning = 0 elif mode == 'db': lstWarningList = db.get_unconfirm_warning() if request.method == 'GET' and lstWarningList: error = 1 else: db.update_warning() error = 0 engine = haap_info_to_show() sansw = sansw_info_to_show() status_warning = db.get_unconfirm_warning() if engine: tlu_haap = engine[0] StatusHAAP = engine[1] StatusHAAP.sort(key=operator.itemgetter(0)) else: tlu_haap = s.time_now_to_show() StatusHAAP = [0] if sansw: tlu_sansw = sansw[0] StatusSANSW = sansw[1] StatusSANSW.sort(key=operator.itemgetter(0)) else: tlu_sansw = s.time_now_to_show() StatusSANSW = [0] return render_template("monitor.html", Title_HAAP=lstDescHAAP, Title_SANSW=lstDescSANSW, tlu_haap=tlu_haap, tlu_sansw=tlu_sansw, status_haap=StatusHAAP, status_sansw=StatusSANSW, status_warning=status_warning, interval_web_refresh=interval_web_refresh)
def test__is_master(self): status = haap.Status(ip, t_port, passwd, ftp_port) assert status._is_master(None) == 0 engine1 = "Engine Status Serial # IP Addresses" engine2 = ">> 0 (M) Online 11340468 10.203.1.6 15.9.8.2 OR" assert status._is_master(engine1) == None assert status._is_master(engine2) == 1
def test_over_all(self): status = haap.Status(ip, t_port, passwd, ftp_port) assert status.over_all()[1] == 0 status.AHStatus = 1 assert status.over_all()[1] == '1' status._TN_Connect_Status = None assert status.over_all()[1] == '--'
def test_get_mirror_status(self): status = haap.Status(ip, t_port, passwd, ftp_port) status.dictInfo[ 'mirror'] = " 33281(0x8201) Operational 67108864 2044 (OK ) 2046 (OK )" assert status.get_mirror_status() == 0 status.dictInfo[ 'mirror'] = " 33281(0x8201) Operational 67108864 2044 (deg ) 2046 (OK )" assert status.get_mirror_status() == 1 status.dictInfo['mirror'] = None assert status.get_mirror_status() == None
def check_all_haap(): Origin_from_engine, Info_from_engine = haap.data_for_db() try: Info_from_DB = db.haap_last_record() if Info_from_DB: for engine in lst_haap_alias: lstRT = haap_info_for_judge(Info_from_engine)[engine] lstDB = haap_info_for_judge(Info_from_DB.info)[engine] haap_judge(lstRT, lstDB, engine).all_judge() finally: db.haap_insert(datetime.datetime.now(), Origin_from_engine, Info_from_engine)
def test_change_firmware(): pwd = os.getcwd() ls = os.listdir(pwd) if 'FW_15.9.8.2_OR.bin' and 'FW_15.9.8.4_OR.bin' not in ls: return status = haap.Status(ip, t_port, passwd, ftp_port) fw_version = status.get_version() if fw_version == None: print("Can't get firmware version.") return elif fw_version == 'V15.9.8.4': haap.change_firmware(ip, 'FW_15.9.8.2_OR.bin') else: haap.change_firmware(ip, 'FW_15.9.8.4_OR.bin') time.sleep(60) try: status = haap.Status(ip, t_port, passwd, ftp_port) fw_version_new = status.get_version() except: fw_version_new = None if fw_version_new: if fw_version == 'V15.9.8.4': assert fw_version_new == 'V15.9.8.2' else: assert fw_version_new == 'V15.9.8.4' else: print("Can't get firmware version.")
def haap_rt_info_to_show(): """ @note: HAAP网页展示即时数据(status) """ dicALL = haap.data_for_db()[1] lstHAAPToShow = [] if dicALL: for engine_alias in dicALL.keys(): info_status = dicALL[engine_alias]['status'] info_status.insert(0, engine_alias) info_status.append(dicALL[engine_alias]['level']) lstHAAPToShow.append(info_status) return lstHAAPToShow
def test_fw(): status = haap.Status(engineip, t_port, passwd, ftp_port) fw_version = status.get_version() assert fw_version != None pwd = os.getcwd() ls = os.listdir(pwd) if 'FW_15.9.8.2_OR.bin' and 'FW_15.9.8.4_OR.bin' in ls: if fw_version == 'V15.9.8.4': output('fw %s FW_15.9.8.2_OR.bin' % engineip) else: output('fw %s FW_15.9.8.4_OR.bin' % engineip) time.sleep(60) try: status = haap.Status(engineip, t_port, passwd, ftp_port) fw_version_new = status.get_version() except: fw_version_new = None if fw_version_new: if fw_version == 'V15.9.8.4': assert fw_version_new == 'V15.9.8.2' else: assert fw_version_new == 'V15.9.8.4' else: pass
def test_backup_config(): assert haap.backup_config(ip) == None
def setup_class(self): time.sleep(5) self.action = haap.Action(ip, t_port, passwd, ftp_port)
def test_show_time(): assert haap.show_time(ip) == None
def test_show_time_all(): assert haap.show_time_all() == None
def test_cluster_status(self): status = haap.Status(ip, t_port, passwd, ftp_port) status.dictInfo['engine'] = '>> 0 offline' assert status.cluster_status() == 1 status.dictInfo['engine'] = '>> 0 online' assert status.cluster_status() == 0
def test_get_version(self): status = haap.Status(ip, t_port, passwd, ftp_port) status.dictInfo['vpd'] = "Firmware V15.9.8.2 HA-AP" assert status.get_version() == 'V15.9.8.2' status.dictInfo['vpd'] = None assert status.get_version() == None
def test_backup_config_all(): assert haap.backup_config_all() == None
def test_periodically_check_all(): assert haap.periodically_check_all() == None
def test_print_status_in_line(): lStatus = haap.Status(ip, t_port, passwd, ftp_port).status_to_show() assert haap._print_status_in_line(lStatus) == None
def test_periodically_check(): assert haap.periodically_check(ip) == None
def test_execute_multi_commands(): with open('cmd.txt', 'w') as f: f.write("vpd\nvaai\nport\n") f.close() assert haap.execute_multi_commands(ip, 'cmd.txt') == None os.remove('cmd.txt')
def test_get_trace_all(): assert haap.get_trace_all(level)
def test_data_for_db(): data = haap.data_for_db() assert data[0].keys() == ['engine0'] assert data[1].keys() == ['engine0']
def test_info(): lStatus = haap.Status(ip, t_port, passwd, ftp_port) assert haap.info('engine0', lStatus)
def test_origin(): lStatus = haap.Status(ip, t_port, passwd, ftp_port) assert haap.origin('engine0', lStatus)
def test_get_trace(): assert haap.get_trace(ip, level)
def test_executeCMD(self): action = haap.Action(ip, t_port, passwd, ftp_port) assert action._executeCMD('engine') != None action._TN_Connect_Status = None assert action._executeCMD('engine') == None
def test_print_description(): assert haap._print_description() == None
def setup_class(self): strtime = 'Uptime : 12d 23:14:23' self.uptime = haap.Uptime(strtime)
def main(): if len(sys.argv) == 1:#用户输入参数是否是本身,如果是 print(strHelp)#打印帮助 #OK elif sys.argv[1] == 'ptes': num_argv = len(sys.argv) if num_argv == 2 or num_argv > 3: print(strPTESHelp) elif sys.argv[2] == 'all': sw.print_porterror_all_formated() else: if s.is_IP(sys.argv[2]): sw.print_porterror_formated(sys.argv[2]) else: print('Please provide correct switch ip...') #OK elif sys.argv[1] == 'ptcl':#判断执行参数是否为ptcl num_argv = len(sys.argv) #获取参数的个数 if num_argv == 2 or num_argv > 4:#如果是2个或者大于4个 print(strPTCLHelp) #打印提示信息 elif sys.argv[2] == 'all': #如果是3个参数是 all sw.clear_all() #调用清除所有交换机端口错误函数 elif s.is_IP(sys.argv[2]):#如果第3个参数是ip的话,判断是不是ip if num_argv == 4: #判断是否有第4个参数,如果有 #if _isPort(sys.argv[3]): 错误 if s.is_port(sys.argv[3]): #在判断第4个参数是否是正确的端口 sw.clear_one_port(sys.argv[2], sys.argv[3])#调用清除具体ip,端口错误 else: print('Please provide correct port number...') #请提供正确端口号 else: print(strPTCLHelp) #打印提示 else: print('Please provide correct switch ip...')#请提供正确的交换机ip #OK elif sys.argv[1] == 'sws': num_argv = len(sys.argv) if num_argv == 2 or num_argv > 3: print(strSWSHelp) elif sys.argv[2] == 'all': sw.print_switchshow_all() else: if s.is_IP(sys.argv[2]): sw.print_switchshow(sys.argv[2]) else: print('Please provide correct switch ip...') #OK elif sys.argv[1] == 'bc': num_argv = len(sys.argv) if num_argv == 2 or num_argv > 3: print(strBCHelp) elif sys.argv[2] == 'all': haap.backup_config_all() else: if s.is_IP(sys.argv[2]): haap.backup_config(sys.argv[2]) else: print('Please provide correct engine ip...') # get engines' trace files under TraceFolder based on Trace levels #trace、primary、seaond #OK git Trace NOT have Primary elif sys.argv[1] == 'gt': num_argv = len(sys.argv) if num_argv > 3: trace_level = int(sys.argv[3]) if num_argv == 2 or num_argv > 4: print(strGTHelp) elif sys.argv[2] == 'all': if num_argv > 3: if s.is_trace_level(trace_level): haap.get_trace_all(trace_level) else: print('Trace level must be "1" or "2" or "3"') else: haap.get_trace_all(0) elif s.is_IP(sys.argv[2]): if num_argv > 3: if s.is_trace_level(trace_level): haap.get_trace(sys.argv[2], trace_level) else: print('Trace level must be "1" or "2" or "3"') else: haap.get_trace(sys.argv[2], 0) else: print('Please provide correct engine ip...') # elif sys.argv[1] == 'at': # num_argv = len(sys.argv) # if num_argv > 3: # trace_level = sys.argv[3] # if num_argv == 2 or num_argv > 4: # print(strPTCLHelp) # elif sys.argv[2] == 'all': # if num_argv > 3: # if s.is_trace_level(trace_level): # haap.analyse_trace_all(trace_level) # else: # print('Trace Level Must Be "1" or "2" or "3"') # else: # haap.analyse_trace_all(0) # elif s.is_IP(sys.argv[2]): # if num_argv > 3: # if s.is_trace_level(trace_level): # haap.analyse_trace(sys.argv[2], trace_level) # else: # print('Trace Level Must Be "1" or "2" or "3"') # else: # haap.analyse_trace(sys.argv[2], 0) # else: # print('Please Provide Correct Engine IP...') #OK python Main.py at Trace\2019-00-00 elif sys.argv[1] == 'at': num_argv = len(sys.argv) if num_argv == 2 or num_argv > 3: print(strATHelp) else: if s.is_folder(sys.argv[2]): s.TraceAnalyse(sys.argv[2]).run() else: print('Please provide correct trace folder') #OK python Main.py ec 10.203.1.223 cmd.txt elif sys.argv[1] == 'ec': if len(sys.argv) != 4: print(strECHelp) else: ip = sys.argv[2] command_file = sys.argv[3] if not s.is_IP(ip): print('Please provide correct engine ip...') if not s.is_file(command_file): print('File not exists. please provide correct file...') haap.execute_multi_commands(ip, command_file) #OK python Main.py fw 10.203.1.223 FW15.9.7.7_OR.bin elif sys.argv[1] == 'fw': if len(sys.argv) != 4: print(strFWHelp) else: ip = sys.argv[2] fw_file = sys.argv[3] if not s.is_IP(ip): print('Please provide correct engine ip...') if not s.is_file(fw_file): print('File not exists. please provide correct file...') haap.change_firmware(ip, fw_file) #OK- elif sys.argv[1] == 'sts': num_argv = len(sys.argv) if num_argv == 2 or num_argv > 3: print(strSTSHelp) elif sys.argv[2] == 'all': haap.show_stauts_all() else: if s.is_IP(sys.argv[2]): haap.show_stauts(sys.argv[2]) else: print('Please provide correct engine ip...') #OK elif sys.argv[1] == 'st': num_argv = len(sys.argv) if num_argv == 2 or num_argv > 3: print(strSTHelp) elif sys.argv[2] == 'all': haap.set_time_all() else: if s.is_IP(sys.argv[2]): haap.set_time(sys.argv[2]) else: print('Please provide correct engine ip...') #OK elif sys.argv[1] == 'stm': num_argv = len(sys.argv) if num_argv == 2 or num_argv > 3: print(strSTMHelp) elif sys.argv[2] == 'all': haap.show_time_all() else: if s.is_IP(sys.argv[2]): haap.show_time(sys.argv[2]) else: print('Please provide correct engine ip...') #OK elif sys.argv[1] == 'pc': num_argv = len(sys.argv) if num_argv == 2 or num_argv > 4: print(strPCHelp) # print(strPTCLHelp) 原 elif num_argv > 2: if sys.argv[2] == 'all': haap.periodically_check_all() sw.periodically_check_all() elif sys.argv[2] == 'haap': if num_argv == 3: haap.periodically_check_all() elif num_argv > 3: if s.is_IP(sys.argv[3]): haap.periodically_check(sys.argv[3]) else: print('Please provide correct engine ip...') elif sys.argv[2] == 'sw': if num_argv == 3: sw.periodically_check_all() elif num_argv > 3: if s.is_IP(sys.argv[3]): sw.periodically_check(sys.argv[3]) else: print('Please provide correct SAN switch ip...') else: print(strPCHelp) #OK elif sys.argv[1] == 'mnt': num_argv = len(sys.argv) if num_argv == 2 or num_argv > 4: print(strMNTHelp) elif sys.argv[2] == 'rt': m.monitor_rt_1_thread() elif sys.argv[2] == 'db': m.monitor_db_4_thread() else: print('rt(realtime) or db(datarase)') elif sys.argv[1] == 'v': print("VersaTEL G1",Version) else: print(strHelp)
def setup_class(self): self.status = haap.Status(ip, t_port, passwd, ftp_port)