def scenario_test(): # navi_menu = SCEN_TEST_MENU os.system('clear') # file search title_print(' # scenario test') scen_list = scenario_file_search() scen_list.sort() for i in range(len(scen_list)): Reporter.PRINTB("| %2d. %s|", i+1, (scen_list[i]).ljust(menu_string2_len)) Reporter.PRINTB("|%s|", (' 0. return to main menu').ljust(menu_string_len)) Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) while 1: sel_scen = input(RED + 'select scenario : '+ENDC) if len(scen_list) < sel_scen: Reporter.PRINTR(" Invalid value !!") continue elif 0 is sel_scen: break else: if 'create_' in scen_list[sel_scen-1]: create_start_scenario(scen_list[sel_scen-1]) elif 'delete_' in scen_list[sel_scen-1]: delete_start_scenario(scen_list[sel_scen-1]) break
def config_floatingip_associate(type): value = [] value_list=[] if 'create' in type: title_print(' # add floatingip_associate') while 1: # Instance inst_list, sel, sel_state = display_config_item('instance') if False is sel_state: value = [] ; continue if 0 is sel: value = [] ; break if sel > len(inst_list): Reporter.PRINTR(" Invalid value !!") continue value.append(inst_list[sel-1]) # Nework Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) net_list, sel, sel_state = display_config_item('network') if False is sel_state: value = [] ; continue if 0 is sel: value = [] ; break if sel > len(net_list): Reporter.PRINTR(" Invalid value !!") value=[] continue value.append(net_list[sel-1]) val_str = ', '.join(value) value_list.append(val_str) value=[] choice = select_yesno_menu('Do you want to continue to assoctiate Floating ip?(y/n) : ') if 'n' == choice: break Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) if len(value_list) > 0: set_list = list(set(value_list)) set_list.sort() save_scenario('floatingip_associate', set_list, type) else: choice = select_yesno_menu('Do you want to delete Floating ip all?(y/n) : ') if 'y' in choice: value_list.append('yes') save_scenario('delete_floatingip_all', value_list, type)
def select_yesno_menu(str): while 1: choice = raw_input(RED + str + ENDC) if 'n' == choice or 'y' == choice: break else: Reporter.PRINTR(" Invalid value !!") continue return choice
def report_log_viewer(): while 1: sel_log = raw_input("\n Do you want to view the log? (y/n) ") if 'y' in sel_log: print 'report file : ', Reporter.report_file_name (exitstatus, outtext) = commands.getstatusoutput('cat '+ Reporter.report_file_name) print outtext print '\n================================== END LOG ==================================\n\n' raw_input(RED + "\n press any key to ENTER " + ENDC) break elif 'n' in sel_log: break else: Reporter.PRINTR('invalid value! ') continue
def test_scenario(type): # display scenario results = None display_save_scenario(save_scenario_dic, type, True) while 1: sel = input(RED +'Select Test Item : '+ENDC) if 0 is sel: break else: for name, age in index_save_scenario_dic.items(): if age == sel: age = str(age) results = name if None is results: Reporter.PRINTR('Not exist Item') continue else: simple_scenario_test(results, type) break
def delete_scenario_config(type): results = None display_save_scenario(save_scenario_dic, type, True) while 1: sel = input(RED +'Select delete Item : '+ENDC) if 0 is sel: break else: for name, age in index_save_scenario_dic.items(): if age == sel: age = str(age) results = name if None is results: Reporter.PRINTR('Not exist Item') continue else: del save_scenario_dic[results] break
def display_config_item(item): sel_state = True key_list, val_list = get_config_key_list(item) for i in range(len(key_list)): val_str = ''.join(val_list[i]) val_dict = ast.literal_eval(val_str) if 'network' is item: str = val_dict['name'] + ', ' + val_dict['provider:network_type'] Reporter.PRINTB("| %2d. %s : %s|", i+1, (key_list[i]).ljust(menu_string3_len), (str).ljust(menu_string4_len)) elif 'subnet' is item: str = val_dict['name'] + ', ' + val_dict['cidr'] Reporter.PRINTB("| %2d. %s : %s|", i+1, (key_list[i]).ljust(menu_string3_len), (str).ljust(menu_string4_len)) elif 'security_group_rule' is item: str = val_dict['direction'] + ', ' + val_dict['protocol'] Reporter.PRINTB("| %2d. %s : %s|", i+1, (key_list[i]).ljust(menu_string3_len), (str).ljust(menu_string4_len)) else: Reporter.PRINTB("| %2d. %s : %s|", i+1, (key_list[i]).ljust(menu_string3_len), (val_dict['name']).ljust(menu_string4_len)) if 'security_group' is item: Reporter.PRINTB("| %2d. %s|", i+2, ('Do not select!').ljust(menu_string2_len)) Reporter.PRINTB("|%s|", (' 0. cancel').ljust(menu_string_len)) Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) sel = input(RED +'Select ' + item + ' : '+ENDC) list_len = len(key_list) if 'security_group' is item: list_len = (len(key_list)+1) if sel > list_len: Reporter.PRINTR(" Invalid value !! range : (0~" + str(list_len) + ')') sel_state = False Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) return key_list, sel, sel_state
def save_config_scenario(type): if len(save_scenario_dic) > 0: display_save_scenario(save_scenario_dic, type) save_check = select_yesno_menu('Do you want to save the above information?(y/n) : ') if 'y' == save_check: while 1: scen_name = raw_input(RED +'Input Save File Name : '+ENDC) scen_file = SCENARIO_PATH + type + '_' + scen_name + '.ini' dup_check = scenario_file_duplicate_check(type + '_' + scen_name) if True is dup_check: Reporter.PRINTR(" The file name exists. Please enter again!") continue else: break dic = save_scenario_dic scen_ini = ConfigParser() # Network net_item = dic.get('network') if None is not net_item: scen_ini.add_section('network') for i in range(len(net_item)): set_str = 'set' + str(i+1) scen_ini.set('network', set_str, net_item[i]) # Subnet sub_item = dic.get('subnet') if None is not sub_item: scen_ini.add_section('subnet') for i in range(len(sub_item)): set_str = 'set' + str(i+1) scen_ini.set('subnet', set_str, sub_item[i]) # Router router_item = dic.get('router') if None is not router_item: scen_ini.add_section('router') for i in range(len(router_item)): set_str = 'set' + str(i+1) scen_ini.set('router', set_str, router_item[i]) # Router Interface router_if_item = dic.get('router-interface') if None is not router_if_item: scen_ini.add_section('router-interface') for i in range(len(router_if_item)): set_str = 'set' + str(i+1) scen_ini.set('router-interface', set_str, router_if_item[i]) # Security_group sg_item = dic.get('security_group') if None is not sg_item: scen_ini.add_section('security_group') for i in range(len(sg_item)): set_str = 'set' + str(i+1) scen_ini.set('security_group', set_str, sg_item[i]) # Instance inst_item = dic.get('instance') if None is not inst_item: scen_ini.add_section('instance') for i in range(len(inst_item)): set_str = 'set' + str(i+1) scen_ini.set('instance', set_str, inst_item[i]) # Floating Ip associate fip_as_item = dic.get('floatingip_associate') if None is not fip_as_item: scen_ini.add_section('floatingip_associate') for i in range(len(fip_as_item)): set_str = 'set_' + str(i+1) scen_ini.set('floatingip_associate', set_str, fip_as_item[i]) wlen = 0 with open(scen_file, 'w') as configfile: wlen = scen_ini.write(configfile) Reporter.PRINTR(" Success %s save file !", scen_file) else: Reporter.PRINTR(" => Storing information does not exist.")
def main(): global exit_flag main_menu() while exit_flag: try: global navi_menu if MAIN_MENU is navi_menu: menu = input(PROMPT) if menu < len(main_menu_map): main_menu_map.get(menu)() if SCEN_CRT_MENU is menu: navi_menu = SCEN_CRT_MENU elif SCEN_DEL_MENU is menu: navi_menu = SCEN_DEL_MENU elif ETC_MENU is menu: navi_menu = ETC_MENU elif 0 is menu: break else: main_menu() else: Reporter.PRINTR(" Invalid Value.!") main_menu() elif SCEN_CRT_MENU is navi_menu: menu = input(PROMPT) if menu < len(scen_create_menu_map): if 0 is menu: scen_create_menu_map.get(menu)() navi_menu = MAIN_MENU save_scenario_dic.clear() else: scen_create_menu_map.get(menu)('create') scen_create_menu() else: Reporter.PRINTR(" Invalid Value.!") scen_create_menu() elif SCEN_DEL_MENU is navi_menu: menu = input(PROMPT) if menu < len(scen_delete_menu_map): if 0 is menu: scen_delete_menu_map.get(menu)() navi_menu = MAIN_MENU save_scenario_dic.clear() else: scen_delete_menu_map.get(menu)('delete') scen_delete_menu() else: Reporter.PRINTR(" Invalid Value.!") scen_delete_menu() elif ETC_MENU is navi_menu: menu = input(PROMPT) if menu < len(etc_menu_map): if menu > 2: if 0 is menu%2: etc_menu_map.get(menu)('down') else: etc_menu_map.get(menu)('up') else: etc_menu_map.get(menu)() if 0 is menu: navi_menu = MAIN_MENU else: state_test_menu() else: Reporter.PRINTR(" Invalid Value.!") state_test_menu() except Exception, e: # print 'Invailid command!' print 'err : ', e Reporter.exception_err_write() if MAIN_MENU is navi_menu: main_menu() elif SCEN_CRT_MENU is navi_menu: scen_create_menu() elif SCEN_DEL_MENU is navi_menu: scen_delete_menu() elif ETC_MENU is navi_menu: state_test_menu() # print e continue
def traffic_test(): Reporter.initial_test_count() # arg1 : flaoting instance1, arg2 : instance, network, arg3 : instance, network value = [] arg = [] title_print(' # traffic test') # Instance while 1: inst_list1, inst_sel1, inst_sel_state1 = display_config_item('instance') if False is inst_sel_state1: value = [] ; continue if 0 is inst_sel1: value = [] ;break break if inst_sel1 > 0: arg.append(inst_list1[inst_sel1-1]) while 1: Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) Reporter.PRINTB("|%s|", (' 1. 1step ').ljust(menu_string_len)) Reporter.PRINTB("|%s|", (' 2. 2step ').ljust(menu_string_len)) Reporter.PRINTB("|%s|", (' 0. cancel').ljust(menu_string_len)) Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) step_sel = input(RED +' Select Inatance step : '+ENDC) if step_sel > 2: Reporter.PRINTR(" Invalid value !! range : (0~2)") continue elif step_sel==0: arg = []; break else: break if step_sel > 0: if 2 is step_sel: type_sel = 1 else: type_sel = 0 for i in range(step_sel): if i is (step_sel-1): while 1: Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) Reporter.PRINTB("|%s|", (' 1. Instance').ljust(menu_string_len)) Reporter.PRINTB("|%s|", (' 2. IP ').ljust(menu_string_len)) Reporter.PRINTB("|%s|", (' 0. cancel ').ljust(menu_string_len)) Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) type_sel = input(RED +' Instance or ip : '+ENDC) if type_sel > 2: Reporter.PRINTR(" Invalid value !! range : (0~2)") continue elif type_sel==0: arg = []; break else: break if 2 is type_sel: value.append(raw_input(RED +' destnation ip : '+ENDC)) elif 1 is type_sel: while 1: # Instance Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) inst_list, inst_sel, inst_sel_state = display_config_item('instance') if False is inst_sel_state: value = [] ; continue if 0 is inst_sel: arg = [] ; value = [] ;break value.append(inst_list[inst_sel-1]) # Network Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) net_list, net_sel, net_sel_state = display_config_item('network') if False is net_sel_state: value = [] ; continue if 0 is net_sel: arg = [] ; value = [] ;break value.append(net_list[net_sel-1]) break if len(value) > 0: arg.append(':'.join(value)) value = [] else: break if len(arg) > 0: if 1 is step_sel: test.ssh_ping(arg[0], arg[1]) else: test.ssh_ping(arg[0], arg[1], arg[2]) test.reporter.test_summary() report_log_viewer()
if 0 is menu: navi_menu = MAIN_MENU else: state_test_menu() else: Reporter.PRINTR(" Invalid Value.!") state_test_menu() except Exception, e: # print 'Invailid command!' print 'err : ', e Reporter.exception_err_write() if MAIN_MENU is navi_menu: main_menu() elif SCEN_CRT_MENU is navi_menu: scen_create_menu() elif SCEN_DEL_MENU is navi_menu: scen_delete_menu() elif ETC_MENU is navi_menu: state_test_menu() # print e continue if __name__ == '__main__': try: main() except KeyboardInterrupt: Reporter.PRINTR("\n\nInterrupted exit!!!") finally: Reporter.stop_all_tailer('ok')