Esempio n. 1
0
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
Esempio n. 2
0
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)
Esempio n. 3
0
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
Esempio n. 4
0
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
Esempio n. 5
0
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
Esempio n. 6
0
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
Esempio n. 7
0
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
Esempio n. 8
0
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.")
Esempio n. 9
0
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
Esempio n. 10
0
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()
Esempio n. 11
0
                    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')