Merge branch 'develop' into Feature-6-fix_test_core_network_with_scenarios
This commit is contained in:
@@ -171,6 +171,25 @@ Obj.# Case# Test# Description
|
|||||||
01 65 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
|
01 65 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
01 65 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
|
01 65 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
|
||||||
|
|
||||||
|
01 70 00 lte-softmodem tests with SoDeRa RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX
|
||||||
|
01 70 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 70 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 70 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 70 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 70 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 70 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
|
||||||
|
|
||||||
|
01 75 00 lte-softmodem + RRH tests with B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX
|
||||||
|
01 75 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 75 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 75 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 75 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 75 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 75 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
|
||||||
|
|
||||||
01 64 lte-softmodem-noS1 tests
|
01 64 lte-softmodem-noS1 tests
|
||||||
|
|
||||||
02 Functional test case
|
02 Functional test case
|
||||||
|
|||||||
@@ -571,6 +571,17 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
nruns = nruns_lte_softmodem
|
nruns = nruns_lte_softmodem
|
||||||
nruns = int(float(nruns))
|
nruns = int(float(nruns))
|
||||||
tags = testcase.findtext('tags',default='')
|
tags = testcase.findtext('tags',default='')
|
||||||
|
|
||||||
|
RRHMachine = testcase.findtext('RRH',default='')
|
||||||
|
RRH_compile_prog = testcase.findtext('RRH_compile_prog',default='')
|
||||||
|
RRH_compile_prog_args = testcase.findtext('RRH_compile_prog_args',default='')
|
||||||
|
RRH_pre_exec = testcase.findtext('RRH_pre_exec',default='')
|
||||||
|
RRH_pre_exec_args = testcase.findtext('RRH_pre_exec_args',default='')
|
||||||
|
RRH_main_exec = testcase.findtext('RRH_main_exec',default='')
|
||||||
|
RRH_main_exec_args = testcase.findtext('RRH_main_exec_args',default='')
|
||||||
|
RRH_terminate_missing_procs = testcase.findtext('RRH_terminate_missing_procs',default='True')
|
||||||
|
|
||||||
|
|
||||||
eNBMachine = testcase.findtext('eNB',default='')
|
eNBMachine = testcase.findtext('eNB',default='')
|
||||||
eNB_config_file = testcase.findtext('eNB_config_file',default='')
|
eNB_config_file = testcase.findtext('eNB_config_file',default='')
|
||||||
eNB_compile_prog = testcase.findtext('eNB_compile_prog',default='')
|
eNB_compile_prog = testcase.findtext('eNB_compile_prog',default='')
|
||||||
@@ -635,13 +646,15 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
oai_EPC = openair('localdomain', EPCMachine)
|
oai_EPC = openair('localdomain', EPCMachine)
|
||||||
oai_EPC.connect(user, password)
|
oai_EPC.connect(user, password)
|
||||||
res = oai_eNB.send_recv(cmd)
|
res = oai_eNB.send_recv(cmd)
|
||||||
|
if RRHMachine != '':
|
||||||
|
cmd = 'cd ' + logdirOAI5GRepo + '; source oaienv ; env|grep OPENAIR'
|
||||||
|
index_RRHMachine = MachineList.index(RRHMachine)
|
||||||
|
oai_RRH = openair('localdomain', RRHMachine)
|
||||||
|
oai_RRH.connect(user, password)
|
||||||
|
res= oai_RRH.send_recv(cmd)
|
||||||
#cleanOldPrograms(oai_eNB, oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
#cleanOldPrograms(oai_eNB, oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
||||||
#cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
#cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
||||||
#cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
#cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
||||||
logdir_eNB = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename
|
|
||||||
logdir_UE = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename
|
|
||||||
logdir_EPC = logdirOpenaircnRepo+'/TEST/autotests/log/'+ testcasename
|
|
||||||
logdir_local = os.environ.get('OPENAIR_DIR')
|
logdir_local = os.environ.get('OPENAIR_DIR')
|
||||||
if logdir_local is None:
|
if logdir_local is None:
|
||||||
print "Environment variable OPENAIR_DIR not set correctly"
|
print "Environment variable OPENAIR_DIR not set correctly"
|
||||||
@@ -667,10 +680,14 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
run_result=1
|
run_result=1
|
||||||
run_result_string=''
|
run_result_string=''
|
||||||
logdir_eNB = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run)
|
logdir_eNB = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run)
|
||||||
|
logdir_RRH = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run)
|
||||||
logdir_UE = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run)
|
logdir_UE = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run)
|
||||||
logdir_EPC = logdirOpenaircnRepo+'/TEST/autotests/log/'+ testcasename + '/run_' + str(run)
|
logdir_EPC = logdirOpenaircnRepo+'/TEST/autotests/log/'+ testcasename + '/run_' + str(run)
|
||||||
logdir_local_testcase = logdir_local + '/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run)
|
logdir_local_testcase = logdir_local + '/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run)
|
||||||
#Make the log directory of test case
|
#Make the log directory of test case
|
||||||
|
if RRHMachine != '':
|
||||||
|
cmd = 'rm -fr ' + logdir_RRH + ' ; mkdir -p ' + logdir_RRH
|
||||||
|
result = oai_RRH.send_recv(cmd)
|
||||||
cmd = 'rm -fr ' + logdir_eNB + ' ; mkdir -p ' + logdir_eNB
|
cmd = 'rm -fr ' + logdir_eNB + ' ; mkdir -p ' + logdir_eNB
|
||||||
result = oai_eNB.send_recv(cmd)
|
result = oai_eNB.send_recv(cmd)
|
||||||
cmd = 'rm -fr ' + logdir_UE + ' ; mkdir -p ' + logdir_UE
|
cmd = 'rm -fr ' + logdir_UE + ' ; mkdir -p ' + logdir_UE
|
||||||
@@ -679,6 +696,39 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
result = oai_EPC.send_recv(cmd)
|
result = oai_EPC.send_recv(cmd)
|
||||||
cmd = ' rm -fr ' + logdir_local_testcase + ' ; mkdir -p ' + logdir_local_testcase
|
cmd = ' rm -fr ' + logdir_local_testcase + ' ; mkdir -p ' + logdir_local_testcase
|
||||||
result = os.system(cmd)
|
result = os.system(cmd)
|
||||||
|
|
||||||
|
if RRHMachine != '':
|
||||||
|
logfile_compile_RRH = logdir_RRH + '/RRH_compile' + '_' + str(run) + '_.log'
|
||||||
|
logfile_exec_RRH = logdir_RRH + '/RRH_exec' + '_' + str(run) + '_.log'
|
||||||
|
logfile_pre_exec_RRH = logdir_RRH + '/RRH_pre_exec' + '_' + str(run) + '_.log'
|
||||||
|
logfile_task_RRH_compile_out = logdir_RRH + '/RRH_task_compile_out' + '_' + str(run) + '_.log'
|
||||||
|
logfile_task_RRH_compile = logdir_local_testcase + '/RRH_task_compile' + '_' + str(run) + '_.log'
|
||||||
|
logfile_task_RRH_out = logdir_RRH + '/RRH_task_out' + '_' + str(run) + '_.log'
|
||||||
|
logfile_task_RRH = logdir_local_testcase + '/RRH_task' + '_' + str(run) + '_.log'
|
||||||
|
task_RRH_compile = ' ( uname -a ; date \n'
|
||||||
|
task_RRH_compile = task_RRH_compile + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n'
|
||||||
|
task_RRH_compile = task_RRH_compile + 'env |grep OPENAIR \n'
|
||||||
|
if RRH_compile_prog != "":
|
||||||
|
task_RRH_compile = task_RRH_compile + ' ( ' + RRH_compile_prog + ' '+ RRH_compile_prog_args + ' ) > ' + logfile_compile_RRH + ' 2>&1 \n'
|
||||||
|
task_RRH_compile = task_RRH_compile + ' date ) > ' + logfile_task_RRH_compile_out + ' 2>&1 '
|
||||||
|
write_file(logfile_task_RRH_compile, task_RRH_compile, mode="w")
|
||||||
|
|
||||||
|
task_RRH = ' ( uname -a ; date \n'
|
||||||
|
task_RRH = task_RRH + ' export OPENAIR_TESTDIR=' + logdir_RRH + '\n'
|
||||||
|
task_RRH = task_RRH + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n'
|
||||||
|
task_RRH = task_RRH + 'env |grep OPENAIR \n' + 'array_exec_pid=() \n'
|
||||||
|
|
||||||
|
if RRH_pre_exec != "":
|
||||||
|
task_RRH = task_RRH + ' ( date; ' + RRH_pre_exec + ' '+ RRH_pre_exec_args + ' ) > ' + logfile_pre_exec_RRH + ' 2>&1 \n'
|
||||||
|
if RRH_main_exec != "":
|
||||||
|
task_RRH = task_RRH + ' ( date; ' + addsudo(RRH_main_exec + ' ' + RRH_main_exec_args, mypassword) + ' ) > ' + logfile_exec_RRH + ' 2>&1 & \n'
|
||||||
|
task_RRH = task_RRH + 'array_exec_pid+=($!) \n'
|
||||||
|
task_RRH = task_RRH + 'echo eNB_main_exec PID = $! \n'
|
||||||
|
#terminate the eNB test case after timeout_cmd seconds
|
||||||
|
task_RRH = task_RRH + finalize_deploy_script (timeout_cmd, RRH_terminate_missing_procs) + ' \n'
|
||||||
|
task_RRH = task_RRH + 'handle_ctrl_c' + '\n'
|
||||||
|
task_RRH = task_RRH + ' ) > ' + logfile_task_RRH_out + ' 2>&1 '
|
||||||
|
write_file(logfile_task_RRH, task_RRH, mode="w")
|
||||||
|
|
||||||
logfile_compile_eNB = logdir_eNB + '/eNB_compile' + '_' + str(run) + '_.log'
|
logfile_compile_eNB = logdir_eNB + '/eNB_compile' + '_' + str(run) + '_.log'
|
||||||
logfile_exec_eNB = logdir_eNB + '/eNB_exec' + '_' + str(run) + '_.log'
|
logfile_exec_eNB = logdir_eNB + '/eNB_exec' + '_' + str(run) + '_.log'
|
||||||
@@ -704,6 +754,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
write_file(logfile_task_eNB_compile, task_eNB_compile, mode="w")
|
write_file(logfile_task_eNB_compile, task_eNB_compile, mode="w")
|
||||||
|
|
||||||
task_eNB = ' ( uname -a ; date \n'
|
task_eNB = ' ( uname -a ; date \n'
|
||||||
|
task_eNB = task_eNB + ' export OPENAIR_TESTDIR=' + logdir_eNB + '\n'
|
||||||
task_eNB = task_eNB + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n'
|
task_eNB = task_eNB + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n'
|
||||||
task_eNB = task_eNB + 'env |grep OPENAIR \n' + 'array_exec_pid=() \n'
|
task_eNB = task_eNB + 'env |grep OPENAIR \n' + 'array_exec_pid=() \n'
|
||||||
|
|
||||||
@@ -806,6 +857,7 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
write_file(logfile_task_EPC_compile, task_EPC_compile, mode="w")
|
write_file(logfile_task_EPC_compile, task_EPC_compile, mode="w")
|
||||||
|
|
||||||
task_EPC = ' ( uname -a ; date \n'
|
task_EPC = ' ( uname -a ; date \n'
|
||||||
|
task_EPC = task_EPC + ' export OPENAIRCN_TESTDIR=' + logdir_EPC + '\n'
|
||||||
task_EPC = task_EPC + 'array_exec_pid=()' + '\n'
|
task_EPC = task_EPC + 'array_exec_pid=()' + '\n'
|
||||||
task_EPC = task_EPC + 'cd ' + logdirOpenaircnRepo + '; source oaienv\n'
|
task_EPC = task_EPC + 'cd ' + logdirOpenaircnRepo + '; source oaienv\n'
|
||||||
task_EPC = task_EPC + 'source BUILD/TOOLS/build_helper \n'
|
task_EPC = task_EPC + 'source BUILD/TOOLS/build_helper \n'
|
||||||
@@ -837,14 +889,20 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
thread_EPC = oaiThread(1, "EPC_thread", EPCMachine, user, password , task_EPC_compile, False, timeout_thread)
|
thread_EPC = oaiThread(1, "EPC_thread", EPCMachine, user, password , task_EPC_compile, False, timeout_thread)
|
||||||
thread_eNB = oaiThread(2, "eNB_thread", eNBMachine, user, password , task_eNB_compile, False, timeout_thread)
|
thread_eNB = oaiThread(2, "eNB_thread", eNBMachine, user, password , task_eNB_compile, False, timeout_thread)
|
||||||
thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE_compile, False, timeout_thread)
|
thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE_compile, False, timeout_thread)
|
||||||
|
if RRHMachine != '':
|
||||||
|
thread_RRH = oaiThread(4, "RRH_thread", RRHMachine, user, password , task_RRH_compile, False, timeout_thread)
|
||||||
threads=[]
|
threads=[]
|
||||||
threads.append(thread_eNB)
|
threads.append(thread_eNB)
|
||||||
threads.append(thread_UE)
|
threads.append(thread_UE)
|
||||||
threads.append(thread_EPC)
|
threads.append(thread_EPC)
|
||||||
|
if RRHMachine != '':
|
||||||
|
threads.append(thread_RRH)
|
||||||
# Start new Threads
|
# Start new Threads
|
||||||
thread_eNB.start()
|
thread_eNB.start()
|
||||||
thread_UE.start()
|
thread_UE.start()
|
||||||
thread_EPC.start()
|
thread_EPC.start()
|
||||||
|
if RRHMachine != '':
|
||||||
|
thread_RRH.start()
|
||||||
#Wait for all the compile threads to complete
|
#Wait for all the compile threads to complete
|
||||||
for t in threads:
|
for t in threads:
|
||||||
t.join()
|
t.join()
|
||||||
@@ -853,26 +911,29 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
thread_EPC = oaiThread(1, "EPC_thread", EPCMachine, user, password , task_EPC, False, timeout_thread)
|
thread_EPC = oaiThread(1, "EPC_thread", EPCMachine, user, password , task_EPC, False, timeout_thread)
|
||||||
thread_eNB = oaiThread(2, "eNB_thread", eNBMachine, user, password , task_eNB, False, timeout_thread)
|
thread_eNB = oaiThread(2, "eNB_thread", eNBMachine, user, password , task_eNB, False, timeout_thread)
|
||||||
thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE, False, timeout_thread)
|
thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE, False, timeout_thread)
|
||||||
|
if RRHMachine != '':
|
||||||
|
thread_RRH = oaiThread(4, "RRH_thread", RRHMachine, user, password , task_RRH, False, timeout_thread)
|
||||||
threads=[]
|
threads=[]
|
||||||
threads.append(thread_eNB)
|
threads.append(thread_eNB)
|
||||||
threads.append(thread_UE)
|
threads.append(thread_UE)
|
||||||
threads.append(thread_EPC)
|
threads.append(thread_EPC)
|
||||||
|
if RRHMachine != '':
|
||||||
|
threads.append(thread_RRH)
|
||||||
# Start new Threads
|
# Start new Threads
|
||||||
|
|
||||||
thread_eNB.start()
|
thread_eNB.start()
|
||||||
thread_UE.start()
|
thread_UE.start()
|
||||||
thread_EPC.start()
|
thread_EPC.start()
|
||||||
|
if RRHMachine != '':
|
||||||
|
thread_RRH.start()
|
||||||
#Wait for all the compile threads to complete
|
#Wait for all the compile threads to complete
|
||||||
for t in threads:
|
for t in threads:
|
||||||
t.join()
|
t.join()
|
||||||
#Now we get the log files from remote machines on the local machine
|
#Now we get the log files from remote machines on the local machine
|
||||||
cleanOldProgramsAllMachines([oai_eNB, oai_UE, oai_EPC] , oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
if RRHMachine != '':
|
||||||
|
cleanOldProgramsAllMachines([oai_eNB, oai_UE, oai_EPC, oai_RRH] , oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
||||||
#cleanOldPrograms(oai_eNB, oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
else:
|
||||||
#cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
cleanOldProgramsAllMachines([oai_eNB, oai_UE, oai_EPC] , oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
||||||
#cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox, ExmimoRfStop)
|
|
||||||
logfile_UE_stop_script_out = logdir_UE + '/UE_stop_script_out' + '_' + str(run) + '_.log'
|
logfile_UE_stop_script_out = logdir_UE + '/UE_stop_script_out' + '_' + str(run) + '_.log'
|
||||||
logfile_UE_stop_script = logdir_local_testcase + '/UE_stop_script' + '_' + str(run) + '_.log'
|
logfile_UE_stop_script = logdir_local_testcase + '/UE_stop_script' + '_' + str(run) + '_.log'
|
||||||
|
|
||||||
@@ -900,22 +961,23 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
res= oai_EPC.send_recv(cmd)
|
res= oai_EPC.send_recv(cmd)
|
||||||
print "Changing permissions of logdir <" + logdir_EPC + "> in EPC machine..." + res
|
print "Changing permissions of logdir <" + logdir_EPC + "> in EPC machine..." + res
|
||||||
|
|
||||||
|
if RRHMachine != '':
|
||||||
|
cmd = 'sudo -E chown -R ' + user + ' ' + logdir_RRH
|
||||||
|
res= oai_RRH.send_recv(cmd)
|
||||||
|
print "Changing permissions of logdir <" + logdir_RRH + "> in RRH machine..." + res
|
||||||
|
|
||||||
print "Copying files from EPCMachine : " + EPCMachine + "logdir_EPC = " + logdir_EPC
|
print "Copying files from EPCMachine : " + EPCMachine + "logdir_EPC = " + logdir_EPC
|
||||||
#ssh = SSHSession(EPCMachine , username=user, key_file=None, password=password)
|
|
||||||
#ssh.get_all(logdir_EPC , logdir_local + '/cmake_targets/autotests/log/'+ testcasename)
|
|
||||||
SSHSessionWrapper(EPCMachine, user, None, password, logdir_EPC, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all")
|
SSHSessionWrapper(EPCMachine, user, None, password, logdir_EPC, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all")
|
||||||
|
|
||||||
print "Copying files from eNBMachine " + eNBMachine + "logdir_eNB = " + logdir_eNB
|
print "Copying files from eNBMachine " + eNBMachine + "logdir_eNB = " + logdir_eNB
|
||||||
#ssh = SSHSession(eNBMachine , username=user, key_file=None, password=password)
|
|
||||||
#ssh.get_all(logdir_eNB, logdir_local + '/cmake_targets/autotests/log/'+ testcasename)
|
|
||||||
SSHSessionWrapper(eNBMachine, user, None, password, logdir_eNB, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all")
|
SSHSessionWrapper(eNBMachine, user, None, password, logdir_eNB, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all")
|
||||||
|
|
||||||
print "Copying files from UEMachine : " + UEMachine + "logdir_UE = " + logdir_UE
|
print "Copying files from UEMachine : " + UEMachine + "logdir_UE = " + logdir_UE
|
||||||
#ssh = SSHSession(UEMachine , username=user, key_file=None, password=password)
|
|
||||||
#ssh.get_all(logdir_UE , logdir_local + '/cmake_targets/autotests/log/'+ testcasename)
|
|
||||||
SSHSessionWrapper(UEMachine, user, None, password, logdir_UE, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all")
|
SSHSessionWrapper(UEMachine, user, None, password, logdir_UE, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all")
|
||||||
|
|
||||||
|
if RRHMachine != '':
|
||||||
|
print "Copying files from RRHMachine : " + RRHMachine + "logdir_RRH = " + logdir_RRH
|
||||||
|
SSHSessionWrapper(RRHMachine, user, None, password, logdir_RRH, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all")
|
||||||
|
|
||||||
|
|
||||||
#Currently we only perform throughput tests
|
#Currently we only perform throughput tests
|
||||||
@@ -1017,8 +1079,8 @@ class oaiCleanOldProgramThread (threading.Thread):
|
|||||||
error = error + '\n threadID = ' + str(self.threadID) + '\n threadname = ' + self.threadname + '\n CleanUpOldProgs = ' + self.CleanUpOldProgs + '\n CleanUpAluLteBox = ' + self.CleanUpAluLteBox + '\n ExmimoRfStop = ' + self.ExmimoRfStop + '\n'
|
error = error + '\n threadID = ' + str(self.threadID) + '\n threadname = ' + self.threadname + '\n CleanUpOldProgs = ' + self.CleanUpOldProgs + '\n CleanUpAluLteBox = ' + self.CleanUpAluLteBox + '\n ExmimoRfStop = ' + self.ExmimoRfStop + '\n'
|
||||||
error = error + traceback.format_exc()
|
error = error + traceback.format_exc()
|
||||||
print error
|
print error
|
||||||
print "There is error in cleaning up old programs. The test case execution cannot continue...."
|
print "There is error in cleaning up old programs....."
|
||||||
sys.exit(1)
|
#sys.exit(1)
|
||||||
|
|
||||||
# \brief Run parallel threads in all machines for clean up old execution of test cases
|
# \brief Run parallel threads in all machines for clean up old execution of test cases
|
||||||
# \param oai_list list of handlers that can be used to execute programs on remote machines
|
# \param oai_list list of handlers that can be used to execute programs on remote machines
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -131,6 +131,7 @@ def start_ue () :
|
|||||||
ip = IPRoute()
|
ip = IPRoute()
|
||||||
idx = ip.link_lookup(ifname=iface)[0]
|
idx = ip.link_lookup(ifname=iface)[0]
|
||||||
os.system ('route add ' + gw + ' ppp0')
|
os.system ('route add ' + gw + ' ppp0')
|
||||||
|
os.system('sleep 5')
|
||||||
os.system ('ping ' + gw)
|
os.system ('ping ' + gw)
|
||||||
break
|
break
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
|
|||||||
@@ -0,0 +1,200 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import time
|
||||||
|
import serial
|
||||||
|
import os
|
||||||
|
from pyroute2 import IPRoute
|
||||||
|
import sys
|
||||||
|
import re
|
||||||
|
import threading
|
||||||
|
import signal
|
||||||
|
import traceback
|
||||||
|
import os
|
||||||
|
import commands
|
||||||
|
|
||||||
|
# configure the serial connections (the parameters differs on the device you are connecting to)
|
||||||
|
#First we find an open port to work with
|
||||||
|
serial_port=''
|
||||||
|
ser=serial.Serial()
|
||||||
|
openair_dir = os.environ.get('OPENAIR_DIR')
|
||||||
|
if openair_dir == None:
|
||||||
|
print "Error getting OPENAIR_DIR environment variable"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/'))
|
||||||
|
|
||||||
|
from lib_autotest import *
|
||||||
|
|
||||||
|
def find_open_port():
|
||||||
|
global serial_port, ser
|
||||||
|
max_ports=100
|
||||||
|
if os.path.exists(serial_port) == True:
|
||||||
|
return serial_port
|
||||||
|
for port in range(0,100):
|
||||||
|
serial_port = '/dev/ttyUSB'+str(port)
|
||||||
|
if os.path.exists(serial_port) == True:
|
||||||
|
print 'New Serial Port : ' + serial_port
|
||||||
|
break
|
||||||
|
|
||||||
|
ser = serial.Serial(port=serial_port)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#serial_port = '/dev/ttyUSB2'
|
||||||
|
bandrich_ppd_config = os.environ.get('OPENAIR_DIR') + '/cmake_targets/autotests/tools/wdial.bandrich.conf'
|
||||||
|
|
||||||
|
exit_flag=0
|
||||||
|
|
||||||
|
def signal_handler(signal, frame):
|
||||||
|
print('You pressed Ctrl+C!')
|
||||||
|
print('Resetting the UE to detached state')
|
||||||
|
timeout=10
|
||||||
|
exit_flag=1
|
||||||
|
send_command('AT+CGATT=0' , 'OK' , timeout)
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
signal.signal(signal.SIGINT, signal_handler)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ser.open()
|
||||||
|
#ser.isOpen()
|
||||||
|
|
||||||
|
class pppThread (threading.Thread):
|
||||||
|
def __init__(self, threadID, name, counter):
|
||||||
|
threading.Thread.__init__(self)
|
||||||
|
self.threadID = threadID
|
||||||
|
self.name = name
|
||||||
|
self.counter = counter
|
||||||
|
def run(self):
|
||||||
|
print "Starting " + self.name
|
||||||
|
#Here we keep running pppd thread in indefinite loop as this script terminates sometimes
|
||||||
|
#while 1:
|
||||||
|
while 1:
|
||||||
|
time.sleep(5) #Hard coded, do not reduce this number!
|
||||||
|
print "Starting wvdial now..."
|
||||||
|
print 'exit_flag = ' + str(exit_flag)
|
||||||
|
send_command('AT+CGATT=1','OK', 300)
|
||||||
|
os.system('wvdial -C ' + bandrich_ppd_config + '' )
|
||||||
|
if exit_flag == 1:
|
||||||
|
print "Exit flag set to true. Exiting pppThread now"
|
||||||
|
print "Terminating wvdial now..."
|
||||||
|
|
||||||
|
def send_command (cmd, response, timeout):
|
||||||
|
count=0
|
||||||
|
sleep_duration = 1
|
||||||
|
print 'In function: send_command: cmd = <' + cmd + '> response: <' + response + '> \n'
|
||||||
|
global serial_port, ser
|
||||||
|
while count <= timeout:
|
||||||
|
try:
|
||||||
|
#Sometimes the port does not exist coz of reset in modem.
|
||||||
|
#In that case, we need to search for this port again
|
||||||
|
if os.path.exists(serial_port) == False:
|
||||||
|
find_open_port()
|
||||||
|
ser.write (cmd + '\r\n')
|
||||||
|
out = ''
|
||||||
|
time.sleep(sleep_duration)
|
||||||
|
count = count + sleep_duration
|
||||||
|
while ser.inWaiting() > 0:
|
||||||
|
out += ser.read(1)
|
||||||
|
print 'out = <' + out + '> response = <' + response + '> \n'
|
||||||
|
if re.search(response, out):
|
||||||
|
break
|
||||||
|
except Exception, e:
|
||||||
|
error = ' cmd : ' + cmd + ' response : ' + response
|
||||||
|
error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
|
||||||
|
error = error + traceback.format_exc()
|
||||||
|
print error
|
||||||
|
|
||||||
|
|
||||||
|
def start_ue () :
|
||||||
|
#print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
|
||||||
|
timeout=60 #timeout in seconds
|
||||||
|
send_command('AT', 'OK' , timeout)
|
||||||
|
#send_command('AT+CFUN=1' , 'OK' , timeout)
|
||||||
|
#send_command('AT+CGATT=0' , 'OK' , timeout)
|
||||||
|
send_command('AT+CGATT=1','OK', 300)
|
||||||
|
#os.system('wvdial -C ' + bandrich_ppd_config + ' &' )
|
||||||
|
|
||||||
|
thread_ppp = pppThread(1, "ppp_thread", 1)
|
||||||
|
thread_ppp.start()
|
||||||
|
|
||||||
|
iface='ppp0'
|
||||||
|
|
||||||
|
while 1:
|
||||||
|
time.sleep ( 2)
|
||||||
|
#Now we check if ppp0 interface is up and running
|
||||||
|
try:
|
||||||
|
if exit_flag == 1:
|
||||||
|
break
|
||||||
|
ip = IPRoute()
|
||||||
|
idx = ip.link_lookup(ifname=iface)[0]
|
||||||
|
os.system ('route add ' + gw + ' ppp0')
|
||||||
|
os.system('sleep 5')
|
||||||
|
os.system ('ping ' + gw)
|
||||||
|
break
|
||||||
|
except Exception, e:
|
||||||
|
error = ' Interface ' + iface + 'does not exist...'
|
||||||
|
error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
|
||||||
|
error = error + traceback.format_exc()
|
||||||
|
print error
|
||||||
|
|
||||||
|
thread_ppp.join()
|
||||||
|
|
||||||
|
def stop_ue():
|
||||||
|
timeout=60
|
||||||
|
os.system('killall wvdial')
|
||||||
|
send_command('AT', 'OK' , timeout)
|
||||||
|
send_command('AT+CGATT=0' , 'OK|ERROR' , timeout)
|
||||||
|
#send_command('AT+CFUN=4' , 'OK' , timeout)
|
||||||
|
|
||||||
|
|
||||||
|
#reset the USB BUS of Bandrich UE
|
||||||
|
def reset_ue():
|
||||||
|
stringIdBandrich='Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard'
|
||||||
|
status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBandrich + '\'')
|
||||||
|
if (out == '') :
|
||||||
|
print "Bandrich 4G LTE Adapter not found. Exiting now..."
|
||||||
|
sys.exit()
|
||||||
|
p=re.compile('Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)')
|
||||||
|
res=p.findall(out)
|
||||||
|
BusId=res[0][0]
|
||||||
|
DeviceId=res[0][1]
|
||||||
|
VendorId=res[0][2]
|
||||||
|
ProductId=res[0][3]
|
||||||
|
usb_dir= find_usb_path(VendorId, ProductId)
|
||||||
|
print "Bandrich 4G LTE Adapter found in..." + usb_dir
|
||||||
|
cmd = "sudo sh -c \"echo 0 > " + usb_dir + "/authorized\""
|
||||||
|
os.system(cmd + " ; sleep 15" )
|
||||||
|
cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\""
|
||||||
|
os.system(cmd + " ; sleep 30" )
|
||||||
|
|
||||||
|
i=1
|
||||||
|
gw='192.172.0.1'
|
||||||
|
while i < len(sys.argv):
|
||||||
|
arg=sys.argv[i]
|
||||||
|
if arg == '--start-ue' :
|
||||||
|
find_open_port()
|
||||||
|
print 'Using Serial port : ' + serial_port
|
||||||
|
start_ue()
|
||||||
|
elif arg == '--stop-ue' :
|
||||||
|
find_open_port()
|
||||||
|
print 'Using Serial port : ' + serial_port
|
||||||
|
stop_ue()
|
||||||
|
elif arg == '--reset-ue' :
|
||||||
|
reset_ue()
|
||||||
|
elif arg == '-gw' :
|
||||||
|
gw = sys.argv[i+1]
|
||||||
|
i=i+1
|
||||||
|
elif arg == '-h' :
|
||||||
|
print "--reset-ue: Reset the UE on USB Bus. Similar to unplugging and plugging the UE"
|
||||||
|
print "--stop-ue: Stop the UE. Send DETACH command"
|
||||||
|
print "--start-ue: Start the UE. Send ATTACH command"
|
||||||
|
print "-gw: Specify the default gw as sometimes the gateway/route arguments are not set properly via wvdial"
|
||||||
|
else :
|
||||||
|
print " Script called with wrong arguments, arg = " + arg
|
||||||
|
sys.exit()
|
||||||
|
i = i +1
|
||||||
|
|
||||||
|
|
||||||
@@ -26,6 +26,9 @@ if keyword == 'mme_ip_address':
|
|||||||
elif keyword == 'IPV4_LIST':
|
elif keyword == 'IPV4_LIST':
|
||||||
replacement_text = keyword + ' = ( ' + replacement_text + ' ) ; '
|
replacement_text = keyword + ' = ( ' + replacement_text + ' ) ; '
|
||||||
string = re.sub(r"IPV4_LIST\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M)
|
string = re.sub(r"IPV4_LIST\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M)
|
||||||
|
elif keyword == 'rrh_gw_config':
|
||||||
|
replacement_text = keyword + ' = ( { ' + replacement_text + ' } ) ; '
|
||||||
|
string = re.sub(r"rrh_gw_config\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M)
|
||||||
else :
|
else :
|
||||||
replacement_text = keyword + ' = ' + replacement_text + ' ; '
|
replacement_text = keyword + ' = ' + replacement_text + ' ; '
|
||||||
string = re.sub(r"%s\s*=\s*([^\$]+?)\s*;" % keyword , replacement_text, string, re.M)
|
string = re.sub(r"%s\s*=\s*([^\$]+?)\s*;" % keyword , replacement_text, string, re.M)
|
||||||
|
|||||||
@@ -13,5 +13,5 @@ sudo -E $OPENAIR_DIR/cmake_targets/tools/init_exmimo2
|
|||||||
|
|
||||||
#now we stop the card from transmitting anything
|
#now we stop the card from transmitting anything
|
||||||
cd $OPENAIR_DIR/targets/bin
|
cd $OPENAIR_DIR/targets/bin
|
||||||
sudo -E octave $OPENAIR_DIR/cmake_targets/tools/exmimo_stop_octave.m
|
sudo -E octave -H --no-gui $OPENAIR_DIR/cmake_targets/tools/exmimo_stop_octave.m
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user