コード例 #1
0
ファイル: test.py プロジェクト: jufei/learnit
def prepare_for_debug(btsid='1703', tm500_id='233', instance_id='586999'):
    from pet_bts import read_bts_config
    gv.master_bts_c = read_bts_config(btsid)
    gv.master_bts = gv.mbts()[0]

    gv.case.curr_case = pettool.get_case_config_new(instance_id)
    from petcasebase import re_organize_case
    re_organize_case()
    print gv.case.curr_case
    pet_bts.pet_bts_read_scf_file(btsid)

    tm500path = os.path.sep.join([resource_path(), 'config', 'tm500'])
    import sys, importlib
    sys.path.append(tm500path)
    model = importlib.import_module('tm500_%s' % (tm500_id))
    tm500config = IpaMmlItem()
    for key in model.TOOLS_VAR:
        setattr(tm500config, key.lower(), model.TOOLS_VAR[key])

    tm500config.shenick_volte_group_name = 'TA_VOLTE_IMS_FTP'
    if 'volte_load' in [
            x.lower().strip() for x in dir(gv.case.curr_case) if x[0] <> '_'
    ]:
        if gv.case.curr_case.volte_load:
            tm500config.shenick_volte_group_name = 'TA_VOLTE_IMS_LOAD'
コード例 #2
0
ファイル: test.py プロジェクト: jufei/learnit
def prepare_for_debug_for_ho(btsid='1703',
                             sbtsid='537',
                             tm500_id='233',
                             instance_id='586999'):
    gv.dbfile = os.path.sep.join(
        [resource_path(), 'config', 'case', 'database.xlsx'])
    gv.master_bts = pet_bts.read_bts_config(btsid)
    gv.slave_bts = pet_bts.read_bts_config(sbtsid, 'S', 'P')

    gv.allbts = [gv.master_bts, gv.slave_bts]
    gv.case.curr_case = pettool.get_case_config_new(instance_id)
    from petcasebase import re_organize_case
    re_organize_case()
    # print gv.case.curr_case

    for attr in [x for x in dir(gv.case.curr_case) if x[0] <> '_']:
        setattr(gv.master_bts, attr, getattr(gv.case.curr_case, attr))
        setattr(gv.slave_bts, attr, getattr(gv.case.curr_case, attr))
コード例 #3
0
def prepare_passport_config(bts_id):
    bts = pet_bts.read_bts_config(bts_id)
    restart_passport(bts_id)
    # print check_port_listening(bts)
    if not check_port_listening(bts_id):
        gene_config_file(bts)
        restart_passport(bts_id)
    else:
        print 'Passport config is ok!'
コード例 #4
0
def light_test_case_setup_for_pet():
    gv.case.case_index += 1
    # if not gv.suite.health:
    #     kw('report_error', 'Suite is not health, this case will not run.')
    gv.case.in_teardown = False
    gv.env.save_snapshot = False
    gv.allbts = []
    gv.master_bts = read_bts_config(pv('MASTER_BTS'), 'M', 'P')
    gv.ms_bts = read_bts_config(pv('MS_BTS'), 'M', 'S') if var_exist('MS_BTS') else None
    gv.logger.info(gv.master_bts)

    casename = pv('TEST NAME').replace(' ','_').replace('(','_').replace(')','_').replace('-', '_').replace('+', '_').upper()
    casename = casename[:10].replace('&', '_')
    tags = kw('create list', '@{Test Tags}')
    caseid = [x for x in tags if x.startswith('QC_')][0].split('_')[-1]
    casename = '%s_%s' %(caseid, casename)
    gv.case.log_directory = os.sep.join([gv.suite.log_directory, casename])
    gv.case.timestamp = time.strftime("%Y_%m_%d__%H_%M_%S")
    gv.logger.info('Case Log directory: [%s]' %(gv.case.log_directory))
    os.makedirs(gv.case.log_directory)
    os.makedirs(case_file('counter'))
    os.makedirs(case_file('loadfile'))
    os.makedirs(case_file('artiza'))
    os.makedirs(case_file('artiza/csv'))
    os.makedirs(case_file('tti'))
    gv.case.keyword_group = init_keyword_group()
    gv.case.monitor_error_msg = ''
    gv.shenick_groups = []
    gv.tm500 = None
    gv.datadevice = None
    gv.counter_result = None
    gv.case.done = False

    kw('prepare_case_info')
    kw('prepare_slave_bts_if_used')
    kw('prepare_tm500_if_used')
    kw('pet_tm500_firmware_upgrade_if_needed')
    kw('prepare_mbms_server_if_used')

    from pet_interface import adjust_pa_according_to_palist
    adjust_pa_according_to_palist()
コード例 #5
0
def prepare_for_debug(btsid='1703', tm500_id='233', instance_id='586999'):
    gv.dbfile = os.path.sep.join(
        [resource_path(), 'config', 'case', 'databasepet3.xlsx'])
    gv.team = 'PET2'
    gv.master_bts_c = pet_bts.read_bts_config(btsid)
    gv.master_bts = gv.master_bts_c if gv.master_bts_c.btsmode <> 'C' else gv.master_bts_c.btslist[
        0]
    gv.case.curr_case = pettool.get_case_config_new(instance_id)
    from petcasebase import re_organize_case
    re_organize_case()
    for attr in [x for x in dir(gv.case.curr_case) if x[0] <> '_']:
        setattr(gv.master_bts, attr, getattr(gv.case.curr_case, attr))
コード例 #6
0
def prepare_slave_bts_if_used():
    gv.slave_bts = None
    if gv.case.curr_case.use_slave_bts:
        if var_exist('SLAVE_BTS'):
            gv.slave_bts = read_bts_config(pv('SLAVE_BTS'), 'S', 'P')
            kw('prepare_bts_environment', [gv.slave_bts])
            gv.slave_bts.used = True
            bts = gv.slave_bts
            for sbts in gv.sbts():
                sbts.workcell = 3 if gv.case.curr_case.ca_type == '2CC' else 2
                sbts.workcell = 4 if gv.case.curr_case.ca_type == '3CC' else sbts.workcell
                kw('conversion_scf_file', sbts.bts_id)
                gv.logger.debug(sbts)
コード例 #7
0
ファイル: gen_scf.py プロジェクト: jufei/learnit
    def __init__(self):
        self.env = IpaMmlItem()
        self.read_env_variables()

        print self.env
        self.btsid = self.env.btsid.upper().replace('BTS', '')
        self.caseid = self.env.caseid
        self.case = get_case_config_new(self.caseid)
        self.bts = read_bts_config(self.btsid)

        gv.master_bts = self.bts
        gv.case.curr_case = self.case
        re_organize_case()
        pet_bts_read_scf_file(self.btsid)
コード例 #8
0
ファイル: pet_tput.py プロジェクト: jufei/learnit
def capture_ttitrace_for_tput():
    kw('sleep', '10s')
    from pet_bts import read_bts_config
    bts = read_bts_config(gv.master_bts.bts_id, 'M', 'P')
    tti_tool_path = '/data/pylib/tools/ttitrace'
    save_log_path = gv.case.log_directory
    from pet_tti_c import c_tti_trace
    gv.logger.info(gv.env.bts_version)

    tti = c_tti_trace(bts.bts_control_pc_lab, bts.sw_release, gv.master_bts.cell_count, gv.env.bts_version, tti_tool_path, save_log_path, '')
    tti.get_tti_core_info()
    tti.get_tti_application()
    gv.logger.info(tti.core_info)
    gv.logger.info(tti.telnet_ip)
    tti.start_capture_tti_log()
コード例 #9
0
ファイル: pettool.py プロジェクト: jufei/learnit
def common_check_for_ta_env():
    from pet_bts import read_bts_config
    gv.master_bts = read_bts_config(pv('bts'))
    print gv.master_bts
    gv.case = IpaMmlItem()
    gv.case.curr_case = IpaMmlItem()
    gv.case.curr_case.codec = ''
    gv.case.log_directory = '/tmp'
    gv.case.debug_file = pv('debug_file')
    # gv.tm500 = kw('read_tm500_config', pv('TM500'))
    # gv.datadevice = kw('read_datadevice_config', pv('Datadevice'))
    # print gv.tm500

    #BTS part
    kw('execute_command_on_bts_control_pc', '', 'dir c:\\')
    kw('config_bts_control_pc')
    kw('makesure_passport_is_running', gv.master_bts.conn_pc)
    kw('start_btslog_pcap_server_if_needed')
    try:
        kw('pet_prepare_infomodel')
        kw('bts_is_onair_by_infomodel')
    finally:
        kw('finish_infomodel')

    #TM500 part
    # kw('config_tm500_control_pc')
    # kw('start_console_server_if_needed')
    # kw('pet_occupy_tm500_resource')
    # kw('pet_release_tm500_resource')

    #Data Device
    # kw('pet_occupy_data_device')
    # kw('pet_release_data_device')

    connections.disconnect_all_hosts()
    connections.disconnect_all_ssh()
コード例 #10
0
def initlization_suite_config():
    kw('get_env_variables')
    gv.allbts = []
    gv.master_bts = read_bts_config(pv('MASTER_BTS'), 'M', 'P')
    gv.ms_bts = read_bts_config(pv('MS_BTS'), 'M', 'S') if var_exist('MS_BTS') else None
    gv.logger.info(gv.master_bts)
コード例 #11
0
                                                             servicename)
    if not 'RUNNING' in output:
        return connections.execute_shell_command_without_check('sc start ' +
                                                               servicename)
    else:
        connections.execute_shell_command_without_check('sc stop ' +
                                                        servicename)
        time.sleep(1)
        connections.execute_shell_command_without_check('sc start ' +
                                                        servicename)


def check_port_listening(bts_id):
    pet_bts.connect_to_bts_control_pc(bts_id)
    for num_port in target_port:
        output = connections.execute_shell_command_without_check(
            'netstat -na|grep %s' % (num_port[1]))
        if 'LISTENING' in output:
            continue
        else:
            print 'fail to find port [%s] listening' % (num_port[1])
            return False
    return True


if __name__ == '__main__':
    bts = pet_bts.read_bts_config('1724')
    gv.allbts = []
    gv.allbts.append(bts)
    prepare_passport_config('1724')
コード例 #12
0
ファイル: pet_scf_manager.py プロジェクト: jufei/learnit

def gene_changed_scf(case, bts):
    common_xml_operation(pathc(src_xml_file),
                         pathc(bts_file(bts.btsid, scf_version)),
                         self.get_accept_changes(case, bts))
    self.changed_scf_file = bts_file(bts.btsid, self.scf_version)


if __name__ == '__main__':

    gv.suite.log_directory = '/home/work/temp/cmp'
    gv.case.log_directory = '/home/work/temp/cmp'

    from pet_bts import read_bts_config
    bts = read_bts_config('1601')
    print bts
    # bts.btstype = "FDD"

    from pettool import get_case_config_new
    case = get_case_config_new('603309')
    gv.case.curr_case = case
    from petcasebase import re_organize_case
    re_organize_case()

    if bts.level == 'P':  #Master 2 BTS
        src_xml_file = bts_file(bts.btsid, case.scf_file)
    else:
        src_xml_file = bts_file(bts.btsid, case.ms_scf_file)

    from pet_bts import pet_bts_read_scf_file
コード例 #13
0
            if line.split(',')[1] <> '-':
                adata.esfn = int(line.split(',')[2].strip())
                adata.user = int(line.split(',')[14].strip())
                uldata[str(len(uldata))] = adata

    def parse_csv_file(self):
        pass

    def check_tti_trace_kpi(kpi_name, formula):
        pass


if __name__ == '__main__':

    from pet_bts import read_bts_config, execute_simple_command_on_bts
    bts = read_bts_config('1412')
    print bts
    # output = execute_simple_command_on_bts('1412', 'ls /ffs/run/Target*.xml')
    # line = [x for x in output if '.xml' in x][0]
    # bts.bts_version =  '_'.join(line.split('/')[-1].split('.xml')[0].split('_')[1:])
    # # bts.read_config()
    # bts.get_bts_version()

    tti_tool_path = '/data/pylib/tools/ttitrace'
    save_log_path = '/tmp'

    #temp = c_tti_trace(bts.config.bts_control_pc_lab, bts.config.sw_release, bts.config.cell_count, bts.bts_version, tti_tool_path, save_log_path)
    temp = c_tti_trace(bts.bts_control_pc_lab, bts.sw_release, '2',
                       gv.env.bts_version, tti_tool_path, save_log_path, '60')

    temp._get_tti_core_info()
コード例 #14
0

def prepare_artiza_after_bts_onair():
    if gv.artiza:
        gv.artiza.sm.setup_after_bts_onair()
    pass


if __name__ == '__main__':
    # gv.master_bts =
    # get_rf_config()
    gv.env = IpaMmlItem()
    gv.env.loadtool = IpaMmlItem()
    gv.env.loadtool.name = 'TM500'
    gv.env.loadtool.id = '225'
    gv.case = IpaMmlItem()
    gv.case.curr_case = IpaMmlItem()
    gv.team = 'PET1'
    gv.case.log_directory = '/home/work/jrun/1'
    import pettool
    from pet_db import initlize_db
    initlize_db()
    gv.env.use_tm500 = True
    gv.tm500 = IpaMmlItem()
    gv.tm500.tm500_id = '225'
    gv.case.curr_case = pettool.get_case_config('486347')
    from pet_bts import read_bts_config
    gv.master_bts = read_bts_config('642', 'M', 'P')
    print get_rf_config()
    pass