Exemple #1
0
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'
Exemple #2
0
def get_hw(btsid, btss1ip, flag):
    hwinfo = ''
    version = ''
    if not ping_s1(btss1ip):
        return hwinfo, version
    bts = IpaMmlItem()
    bts.btsid = str(btsid)
    bts.bts_ip = btss1ip
    bts.is5g = 1 if flag == '5g' else 0
    bts.iscoam = bts.is5g
    bts.sran = 1
    bts.admin_api = None
    bts.dire_snap = '/home/work/temp/bts/'
    bts.dire_admin = '/home/work/temp/bts/'
    print('get bts hw info...{}'.format(btsid))
    hwinfo, version = hw_version(bts)
    return hwinfo, version
Exemple #3
0
 def get_table_content(self, tablename='', condition=''):
     gv.logger.info('Retrieve data from table: ' + tablename)
     fields = self.get_table_fields(tablename)
     self.cursor.execute('select * from  %s %s' % (tablename, condition))
     result = []
     from pet_ipalib import IpaMmlItem
     for record in self.cursor.fetchall():
         p = IpaMmlItem()
         for i in range(len(fields)):
             if record[i] <> None:
                 setattr(p, fields[i].lower(), str(record[i]))
             else:
                 setattr(p, fields[i].lower(), '')
         result.append(p)
     return result
Exemple #4
0
    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))

    pet_bts.pet_bts_read_scf_file(btsid)
    pet_bts.pet_bts_read_scf_file(sbtsid)

    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 gv.case.curr_case.codec.strip():
        tm500config.shenick_volte_group_name += '_' + gv.case.curr_case.codec.upper(
        )
    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'
    if gv.case.curr_case.case_type == 'MIX_MR':
        tm500config.shenick_volte_group_name = 'TA_Mixed_UDP_FTP'
    if gv.case.curr_case.case_type.strip().upper() in [
Exemple #5
0
def commandthread(sock):
    allprocess = []

    def _cleanup():
        try:
            for handler in allprocess:
                try:
                    os.system('kill -9 ' + handler.process.pid)
                except:
                    pass
        except:
            pass
        gv.done = True

    while True:
        if time.time() - gv.inittime > gv.timeout:
            log('Client timeout, Server will quit')
            _cleanup()
            return 0

        try:
            line = sock.recv(4096)
        except:
            log('Connection lost')
            _cleanup()
            return 0

        if line.strip():
            log('Received : %s' % (line))

            if line.strip().lower() == 'quit':
                log("client quit")
                sock.close()
                _cleanup()
                return 0

            if line.strip().lower() == 'log':
                log("log: %s" % (' '.join(line.split()[1:])))

            if line.lower().startswith('run'):  # run iperf xx dda xx - daf
                cmdhander = IpaMmlItem()
                cmd = ' '.join(line.split()[1:])

                import datetime
                tracefile = os.sep.join([
                    '/home/work/temp/ta',
                    datetime.datetime.now().strftime('%M%S%f.log')
                ])
                if os.path.exists(tracefile):
                    os.system('rm -rf ' + tracefile)
                cmd += ' >' + tracefile
                cmdhander.command = cmd
                log('Run command: [%s]' % (cmd))
                cmdhander.process = subprocess.Popen(cmd,
                                                     stdin=subprocess.PIPE,
                                                     stdout=subprocess.PIPE,
                                                     stderr=subprocess.PIPE,
                                                     shell=True)

                output = []
                for i in range(5):
                    if os.path.exists(tracefile):
                        output = open(tracefile).readlines()
                        break
                    else:
                        time.sleep(1)

                for line in output:
                    log('Process output:  ' + line.splitlines()[0])

                if os.path.exists(tracefile):
                    os.system('rm -rf ' + tracefile)
                sock.sendall('PID: ' + str(cmdhander.process.pid) + '  done')
                log('Process ID:  %s' % (cmdhander.process.pid))
                allprocess.append(cmdhander)

            if line.lower().startswith('stop'):
                pid = line.split()[1].strip()
                cmdhander = [
                    x for x in allprocess if str(x.process.pid) == pid
                ]
                if cmdhander:
                    log('Try to stop pid: ' + pid)
                    import signal
                    cmdhander[0].process.send_signal(signal.SIGINT)
                    log('Stop process: %s' % (cmdhander[0].process.pid))

            if line.lower().startswith('sendkey'):
                pid = line.split()[1].strip()
                cmdhander = [
                    x for x in allprocess if str(x.process.pid) == pid
                ]
                if cmdhander:
                    key = line.split()[2].strip()
                    log('Send key process: %s' % (cmdhander[0].process.pid))
                    if key.lower() == 'return':
                        log('POLL: [%s]' % (str(cmdhander[0].process.poll())))
                        if cmdhander[0].process.poll() == None:
                            try:
                                cmdhander[0].process.stdin.write('\n')
                                log(str(cmdhander[0].process.communicate()))
                            except:
                                log('Process communicate failed.')
                        log('Deal with key done.')
                        allprocess.remove(cmdhander[0])
                    else:
                        cmdhander[0].process.stdin.write(key)
Exemple #6
0
import time, socket, sys
from optparse import *
import os
from thread import *
from pet_ipalib import IpaMmlItem

from threading import Thread
from Queue import Queue, Empty


def log(info):
    with open(gv.logfile, 'a') as logf:
        logf.write('%s %s %s\n' % (time.ctime(), gv.master, info))


gv = IpaMmlItem()
gv.done = False
gv.master = ''


def commandthread(sock):
    allprocess = []

    def _cleanup():
        try:
            for handler in allprocess:
                try:
                    os.system('kill -9 ' + handler.process.pid)
                except:
                    pass
        except:
Exemple #7
0
def load_config(btsip, sran):
    btsid = btsip.replace('.', '')
    print('Log config for {}'.format(btsip))
    # if bts:
    #     self._config = bts[0]
    #     for attr in [x for x in dir(self._config) if not x.startswith('_')]:
    #         setattr(self, attr, getattr(self._config, attr))
    from pet_ipalib import IpaMmlItem
    bts = IpaMmlItem()
    bts.sran = sran
    bts.btsid = btsid
    bts.btsip = btsip
    bts.bts_id = btsid
    bts.bts_ip = btsip
    bts.workcell = 1
    bts.airscale = 1
    bts.is5g = 0
    # bts.sran = bts.airscale == '1'
    bts.bts_fcm_ip = '192.168.255.1'
    bts.bts_fcm_username = '******'
    bts.bts_fcm_password = '******'
    bts.bts_ftm_ip = '192.168.255.129'
    bts.bts_ftm_username = '******'
    bts.bts_ftm_password = '******'
    bts.mr_paging_ioc, bts.mr_paging_impair_ioc = '140', '84'
    bts.mr_call_drop_ioc, bts.mr_call_drop_impair_ioc = '140', '84'
    bts.mr_ho_ioc, bts.mr_ho_impair_ioc = '140', '89'
    bts.mr_volte_ioc, bts.mr_volte_impair_ioc = '140', '84'
    bts.conn_bts = None
    bts.ftmctrl = None
    bts.config_id = ''
    bts.cell_count = 0
    bts.used = True
    bts.infomodel_pid = []
    bts.new_earfcn_list = []
    bts.new_eutraCarrierInfo_list = []
    # bts.pcap_interface = (r'\Device\NPF_' +
    #                       bts.pcap_interface.upper().split('NPF_')[-1])
    bts.scf_filename = ''
    bts.infomodel = None
    bts.ute_admin = None
    bts.error_log_list = []
    bts.monitor_error_log = False
    bts.btslog_buffer = []
    bts.pm_counter_path = '/tmp' if bts.sran else '/ram'
    bts.scf_change_is_differ = True
    bts.btsmode = 'S'
    bts.cpc = None
    bts.btslogger = None
    bts.infomodel = None
    bts.admin_api = None
    bts.ftmctrl = None
    bts.fct_cpu_manager = None
    bts.fct_memory_manager = None
    bts.tti = None
    bts.bts_control_pc_lab = ""
    bts.admin_port = 3600 if bts.sran == 1 else 443
    return bts
Exemple #8
0
        # empty_col2 = empty_col*(int(self.outport_count) - int(outport))
        # cmdlist.append('$TA,G,%s%s%s*' %(empty_col*(int(outport)-1),'78'* int(self.inport_count), empty_col2))

        port = str((int(outport)-1)*int(self.inport_count)+ int(inport))
        self.logger.info('Adjust HB Matrix signal for signal port %s '  %(port))
        # OnePortOperate(self.ip, port, str(int(signal)))
        cmdlist.append('$TA,A,%0.2d%0.2d%0.2X*' %(int(inport), int(outport), 2*int(signal)))
        self.execute_commands(cmdlist)



if __name__ == '__main__':
    c = c_jx_pa('10.69.82.163', '23', 8, 2)
    try:
        c.connect()
        print 'connected'
        rfconnections = []
        from pet_ipalib import IpaMmlItem
        line = IpaMmlItem()
        line.inport = 1
        line.outport = 1
        rfconnections.append(line)
        c.clear_all()
    finally:
        c.disconnect()


    pass


Exemple #9
0
    'MACTX',
]

tm500_log_type_for_volte = [
    'MACRX',
    # 'MACTX',
]

tm500_version_for_throughput = 'TM500_APPLICATION_K_VERSION_DIR'
tm500_version_for_volte = 'TM500_APPLICATION_L_VERSION_DIR'

all_cases = IpaMmlDict()

#Case_throughput
#Case_FTP_TEST  this case is kept for RL55
case = IpaMmlItem()
case.case_name = 'THROUGHPUT'
case.tm500_version = tm500_version_for_throughput
case.tm500_log_types = tm500_log_type_for_through
case.ta_steps = {
    'setup':
    'common_test_case_setup_for_throughput',
    'document':
    'Document about this case',
    'tags': ['FTP_TEST'],
    'Timeout':
    '30 minute',
    'steps': [
        ['Pet ue attach'],
        ['set_tm500_log_types'],
        ['setup_pppoe_on_data_device'],