def config_subnet(type): value = [] value_list=[] title_print(' # ' + type + ' subnet') # network while 1: if 'create' in type: net_list, sel, sel_state = display_config_item('network') if False is sel_state: value = [] ; continue if 0 is sel: value = [] ; break value.append(net_list[sel-1]) Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) ## subnet sub_list, sel, sel_state = display_config_item('subnet') if False is sel_state: value = [] ; continue if 0 is sel: value = [] ; break value.append(sub_list[sel-1]) if 'create' in type: val_str = ', '.join(value) else: val_str = ''.join(value) value_list.append(val_str) value=[] choice = select_yesno_menu('Do you want to continue to ' + type + ' subnet?(y/n) : ') if 'n' in 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('subnet', set_list, type)
def config_router_interface(type): value = [] value_list=[] if 'create' in type: title_print(' # add router-interface') else: title_print(' # del router-interface') while 1: # router router_list, sel, sel_state = display_config_item('router') if False is sel_state: value = [] ; continue if 0 is sel: value = [] ; break value.append(router_list[sel-1]) # subnet Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) sub_list, sel, sel_state = display_config_item('subnet') if False is sel_state: value = [] ; continue if 0 is sel: value = [] ; break value.append(sub_list[sel-1]) val_str = ', '.join(value) value_list.append(val_str) value=[] choice = select_yesno_menu('Do you want to continue to ' + type + ' router-interface?(y/n) : ') if 'n' in 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('router-interface', set_list, type)
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 title_print(menu='None'): Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) print BLUE + '|' + BG_BLUEW + \ ("{0:^"+str(menu_string_len)+"}").format("SONA-TOOL") + BLUE + '|'+ENDC Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) if 'None' not in menu: print BLUE + '|' + BG_PINKW + \ ("{0:<"+str(menu_string_len)+"}").format(menu) + BLUE + '|'+ENDC Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len))
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 state_test_menu(): os.system('clear') title_print(' # update & traffic test') Reporter.PRINTB("|%s|", (" 1. get onos state ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 2. traffic test ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 3. set router up ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 4. set router down ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 5. set port up ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 6. set port down ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 0. return to main menu").ljust(menu_string_len)) Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len))
def config_security_group(type): value = [] value_list=[] title_print(' # ' + type + ' security_group') while 1: # security_group sec_group_list, sel, sel_state = display_config_item('security_group') if False is sel_state: value = [] ; continue if 0 is sel: value = [] ; break value.append(sec_group_list[sel-1]) # Rule if 'create' in type: while 1: Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) rule_list, sel, sel_state = display_config_item('security_group_rule') if False is sel_state: value = [] ; continue if 0 is sel: value = [] ; break value.append(rule_list[sel-1]) req = select_yesno_menu('Do you want to add more rule?(y/n) : ') if 'y' == req: continue else: val_str = ', '.join(value) value_list.append(val_str) break else: val_str = ''.join(value) value_list.append(val_str) value=[] choice = select_yesno_menu('Do you want to continue to ' + type + ' security group?(y/n) : ') if 'n' in 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('security_group', set_list, type)
def config_instance(type): value = [] value_list=[] title_print(' # ' + type + ' instance') 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 value.append(inst_list[sel-1]) if 'create' in type: # Network 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 value.append(net_list[sel-1]) # security group Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len)) sg_list, sel, sel_state = display_config_item('security_group') if False is sel_state: value = [] ; continue if 0 is sel: value = [] ; break if sel < (len(sg_list)+1): value.append(sg_list[sel-1]) val_str = ', '.join(value) else: val_str = ''.join(value) value_list.append(val_str) value=[] choice = select_yesno_menu('Do you want to continue to ' + type + ' instance?(y/n) : ') if 'n' in choice: break if len(value_list) > 0: set_list = list(set(value_list)) set_list.sort() save_scenario('instance', set_list, type)
def main_menu(): os.system('clear') title_print() Reporter.PRINTB("|%s|", (" 1. scenario test ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 2. create scenario ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 3. delete scenario ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 4. update & traffic test").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 0. exit ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len))
def config_network(type): value_list=[] title_print(' # ' + type + ' network') while 1: net_list, sel, sel_state = display_config_item('network') if False is sel_state: continue if 0 is sel: break value_list.append(net_list[sel-1]) choice = select_yesno_menu('Do you want to continue to ' + type + ' network?(y/n) : ') if 'n' in 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('network', set_list, type)
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 scen_delete_menu(): os.system('clear') if len(save_scenario_dic) > 0: display_save_scenario(save_scenario_dic, 'delete') title_print(' # delete scenario') Reporter.PRINTB("|%s|", (" 1. delete_instance ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 2. delete_floatingip_all ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 3. delete_security_group ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 4. delete_router_interfac").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 5. delete_router ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 6. delete_subnet ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 7. delete_netowk ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 8. delete_scenario_config").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 9. test delete scenario ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 10. save delete scenario ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", (" 0. return to main menu ").ljust(menu_string_len)) Reporter.PRINTB("|%s|", ('-'*menu_string_len).ljust(menu_string_len))
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()