Merge remote-tracking branch 'origin/ci_162prb_conf_file' into ci_fix_bidir_develop
This commit is contained in:
@@ -93,7 +93,7 @@ class Log_Mgt:
|
|||||||
avail_space =int(self.__CheckAvailSpace())*1000 #avail space in target folder, initially displayed in Gb
|
avail_space =int(self.__CheckAvailSpace())*1000 #avail space in target folder, initially displayed in Gb
|
||||||
avg_size=self.__AvgSize() #average size of artifacts in the target folder
|
avg_size=self.__AvgSize() #average size of artifacts in the target folder
|
||||||
logging.debug("Avail Space : " + str(avail_space) + " / Artifact Avg Size : " + str(avg_size))
|
logging.debug("Avail Space : " + str(avail_space) + " / Artifact Avg Size : " + str(avg_size))
|
||||||
if avail_space < 2*avg_size: #reserved space is 2x artifact file ; oldest file will be deleted
|
if avail_space < 50*avg_size: #reserved space is 50x artifact file ; oldest file will be deleted
|
||||||
oldestfile=self.__GetOldestFile()
|
oldestfile=self.__GetOldestFile()
|
||||||
HOST=self.Username+'@'+self.IPAddress
|
HOST=self.Username+'@'+self.IPAddress
|
||||||
COMMAND="echo " + self.Password + " | sudo -S rm "+ self.path + "/" + oldestfile
|
COMMAND="echo " + self.Password + " | sudo -S rm "+ self.path + "/" + oldestfile
|
||||||
|
|||||||
+44
-23
@@ -2047,13 +2047,30 @@ class OaiCiTest():
|
|||||||
|
|
||||||
|
|
||||||
def Iperf_analyzeV2BIDIR(self, lock, UE_IPAddress, device_id, statusQueue,server_filename,client_filename):
|
def Iperf_analyzeV2BIDIR(self, lock, UE_IPAddress, device_id, statusQueue,server_filename,client_filename):
|
||||||
#server file is unused for the moment
|
|
||||||
if (not os.path.isfile(client_filename)):
|
#check the 2 files are here
|
||||||
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Could not analyze from client log')
|
if (not os.path.isfile(client_filename)) or (not os.path.isfile(server_filename)):
|
||||||
|
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Client or Server Log File not present')
|
||||||
return
|
return
|
||||||
report=[]
|
#check the 2 files size
|
||||||
report_msg='Client Report:\n'
|
if (os.path.getsize(client_filename)==0) and (os.path.getsize(server_filename)==0):
|
||||||
with open(client_filename, 'r') as f_client:
|
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Client and Server Log File are empty')
|
||||||
|
return
|
||||||
|
|
||||||
|
report_msg='TCP BIDIR Report:\n'
|
||||||
|
#if client is not empty, all the info is in, otherwise we ll use the server file to get some partial info
|
||||||
|
client_filesize = os.path.getsize(client_filename)
|
||||||
|
if client_filesize == 0:
|
||||||
|
report_msg+="Client file (UE) present but !!! EMPTY !!!\n"
|
||||||
|
report_msg+="Partial report from server file\n"
|
||||||
|
filename = server_filename
|
||||||
|
else :
|
||||||
|
report_msg+="Report from client file (UE)\n"
|
||||||
|
filename = client_filename
|
||||||
|
|
||||||
|
report=[] #used to check if relevant lines were found
|
||||||
|
|
||||||
|
with open(filename, 'r') as f_client:
|
||||||
for line in f_client.readlines():
|
for line in f_client.readlines():
|
||||||
result = re.search(rf'^\[\s+\d+\](?P<direction>\[.+\]).*\s+(?P<bitrate>[0-9\.]+ [KMG]bits\/sec).*\s+(?P<role>\bsender|receiver\b)', str(line))
|
result = re.search(rf'^\[\s+\d+\](?P<direction>\[.+\]).*\s+(?P<bitrate>[0-9\.]+ [KMG]bits\/sec).*\s+(?P<role>\bsender|receiver\b)', str(line))
|
||||||
if result is not None:
|
if result is not None:
|
||||||
@@ -2070,7 +2087,7 @@ class OaiCiTest():
|
|||||||
logging.debug('\u001B[1;35m ' + report_msg + '\u001B[0m')
|
logging.debug('\u001B[1;35m ' + report_msg + '\u001B[0m')
|
||||||
lock.release()
|
lock.release()
|
||||||
else:
|
else:
|
||||||
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Could not analyze from client log')
|
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Could not analyze from Log file')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -2386,7 +2403,7 @@ class OaiCiTest():
|
|||||||
iperf_time = self.Iperf_ComputeTime()
|
iperf_time = self.Iperf_ComputeTime()
|
||||||
if self.iperf_direction=="DL":
|
if self.iperf_direction=="DL":
|
||||||
logging.debug("Iperf for Module in DL mode detected")
|
logging.debug("Iperf for Module in DL mode detected")
|
||||||
#server side UE
|
##server side UE
|
||||||
server_filename='iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
|
server_filename='iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
|
||||||
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
|
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
|
||||||
cmd = 'rm ' + server_filename
|
cmd = 'rm ' + server_filename
|
||||||
@@ -2394,20 +2411,21 @@ class OaiCiTest():
|
|||||||
cmd = 'echo $USER; nohup iperf -s -B ' + UE_IPAddress + ' -u 2>&1 > ' + server_filename + ' &'
|
cmd = 'echo $USER; nohup iperf -s -B ' + UE_IPAddress + ' -u 2>&1 > ' + server_filename + ' &'
|
||||||
SSH.command(cmd,'\$',5)
|
SSH.command(cmd,'\$',5)
|
||||||
SSH.close()
|
SSH.close()
|
||||||
#client side EPC
|
##client side EPC
|
||||||
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
||||||
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
|
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
|
||||||
|
#remove old client file in EPC.SourceCodePath
|
||||||
|
cmd = 'rm ' + EPC.SourceCodePath + '/' + client_filename
|
||||||
|
SSH.command(cmd,'\$',5)
|
||||||
iperf_cmd = 'bin/iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename
|
iperf_cmd = 'bin/iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename
|
||||||
cmd = 'docker exec -it prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
|
cmd = 'docker exec -w /iperf-2.0.13 -it prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
|
||||||
SSH.command(cmd,'\$',int(iperf_time)*5.0)
|
SSH.command(cmd,'\$',int(iperf_time)*5.0)
|
||||||
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/'+ client_filename + ' ' + EPC.SourceCodePath, '\$', 5)
|
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/'+ client_filename + ' ' + EPC.SourceCodePath, '\$', 5)
|
||||||
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + client_filename, '.')
|
|
||||||
SSH.close()
|
SSH.close()
|
||||||
|
|
||||||
#copy the 2 resulting files locally
|
#copy the 2 resulting files locally (python executor)
|
||||||
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, server_filename, '.')
|
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, server_filename, '.')
|
||||||
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, client_filename, '.')
|
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + client_filename, '.')
|
||||||
#send for analysis
|
#send for analysis
|
||||||
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,server_filename,1)
|
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,server_filename,1)
|
||||||
|
|
||||||
@@ -2418,7 +2436,7 @@ class OaiCiTest():
|
|||||||
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
|
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
|
||||||
|
|
||||||
iperf_cmd = 'echo $USER; nohup bin/iperf -s -u 2>&1 > ' + server_filename
|
iperf_cmd = 'echo $USER; nohup bin/iperf -s -u 2>&1 > ' + server_filename
|
||||||
cmd = 'docker exec -d prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
|
cmd = 'docker exec -d -w /iperf-2.0.13 prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
|
||||||
SSH.command(cmd,'\$',5)
|
SSH.command(cmd,'\$',5)
|
||||||
SSH.close()
|
SSH.close()
|
||||||
|
|
||||||
@@ -2433,29 +2451,28 @@ class OaiCiTest():
|
|||||||
#once client is done, retrieve the server file from container to EPC Host
|
#once client is done, retrieve the server file from container to EPC Host
|
||||||
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
||||||
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/' + server_filename + ' ' + EPC.SourceCodePath, '\$', 5)
|
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/' + server_filename + ' ' + EPC.SourceCodePath, '\$', 5)
|
||||||
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
|
|
||||||
SSH.close()
|
SSH.close()
|
||||||
|
|
||||||
#copy the 2 resulting files locally
|
#copy the 2 resulting files locally
|
||||||
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, client_filename, '.')
|
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, client_filename, '.')
|
||||||
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, server_filename, '.')
|
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
|
||||||
#send for analysis
|
#send for analysis
|
||||||
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,server_filename,1)
|
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,server_filename,1)
|
||||||
|
|
||||||
elif self.iperf_direction=="BIDIR":
|
elif self.iperf_direction=="BIDIR":
|
||||||
logging.debug("Iperf for Module in BIDIR mode detected")
|
logging.debug("Iperf for Module in BIDIR mode detected")
|
||||||
|
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
|
||||||
|
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
|
||||||
|
|
||||||
#server side EPC
|
#server side EPC
|
||||||
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
||||||
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
|
|
||||||
|
|
||||||
iperf_cmd = 'echo $USER; nohup /usr/local/bin/iperf3 -s 2>&1 > ' + server_filename
|
iperf_cmd = 'echo $USER; nohup /usr/local/bin/iperf3 -s 2>&1 > ' + server_filename
|
||||||
cmd = 'docker exec -d prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
|
cmd = 'docker exec -d -w /iperf-2.0.13 prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
|
||||||
SSH.command(cmd,'\$',5)
|
SSH.command(cmd,'\$',5)
|
||||||
SSH.close()
|
SSH.close()
|
||||||
|
|
||||||
#client side UE
|
#client side UE
|
||||||
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
|
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
|
||||||
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
|
|
||||||
cmd = 'rm '+ client_filename
|
cmd = 'rm '+ client_filename
|
||||||
SSH.command(cmd,'\$',5)
|
SSH.command(cmd,'\$',5)
|
||||||
SSH.command('iperf3 -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename, '\$', int(iperf_time)*5.0)
|
SSH.command('iperf3 -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename, '\$', int(iperf_time)*5.0)
|
||||||
@@ -2463,13 +2480,17 @@ class OaiCiTest():
|
|||||||
|
|
||||||
#once client is done, retrieve the server file from container to EPC Host
|
#once client is done, retrieve the server file from container to EPC Host
|
||||||
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
|
||||||
|
#remove old server file in EPC.SourceCodePath
|
||||||
|
cmd = 'rm ' + EPC.SourceCodePath + '/' + server_filename
|
||||||
|
SSH.command(cmd,'\$',5)
|
||||||
|
#copy from docker container to EPC.SourceCodePath
|
||||||
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/' + server_filename + ' ' + EPC.SourceCodePath, '\$', 5)
|
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/' + server_filename + ' ' + EPC.SourceCodePath, '\$', 5)
|
||||||
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
|
|
||||||
SSH.close()
|
SSH.close()
|
||||||
|
|
||||||
#copy the 2 resulting files locally
|
#copy the 2 resulting files locally
|
||||||
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, client_filename, '.')
|
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, client_filename, '.')
|
||||||
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, server_filename, '.')
|
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
|
||||||
|
|
||||||
#send for analysis
|
#send for analysis
|
||||||
self.Iperf_analyzeV2BIDIR(lock, UE_IPAddress, device_id, statusQueue, server_filename, client_filename)
|
self.Iperf_analyzeV2BIDIR(lock, UE_IPAddress, device_id, statusQueue, server_filename, client_filename)
|
||||||
|
|
||||||
|
|||||||
@@ -235,6 +235,7 @@ L1s = (
|
|||||||
{
|
{
|
||||||
num_cc = 1;
|
num_cc = 1;
|
||||||
tr_n_preference = "local_mac";
|
tr_n_preference = "local_mac";
|
||||||
|
thread_pool_size = 8;
|
||||||
prach_dtx_threshold = 120;
|
prach_dtx_threshold = 120;
|
||||||
# pucch0_dtx_threshold = 150;
|
# pucch0_dtx_threshold = 150;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,11 +39,8 @@ gNBs =
|
|||||||
|
|
||||||
ssb_SubcarrierOffset = 0;
|
ssb_SubcarrierOffset = 0;
|
||||||
pdsch_AntennaPorts = 1;
|
pdsch_AntennaPorts = 1;
|
||||||
pusch_AntennaPorts = 1;
|
pusch_AntennaPorts = 2;
|
||||||
#pusch_TargetSNRx10 = 200;
|
ul_prbblacklist = "79,80,81,82"
|
||||||
#pucch_TargetSNRx10 = 200;
|
|
||||||
ul_prbblacklist = "51,52,53,54"
|
|
||||||
min_rxtxtime = 6;
|
|
||||||
|
|
||||||
pdcch_ConfigSIB1 = (
|
pdcch_ConfigSIB1 = (
|
||||||
{
|
{
|
||||||
@@ -86,7 +83,7 @@ gNBs =
|
|||||||
#initialDownlinkBWP
|
#initialDownlinkBWP
|
||||||
#genericParameters
|
#genericParameters
|
||||||
# this is RBstart=0,L=106 (275*(L-1))+RBstart
|
# this is RBstart=0,L=106 (275*(L-1))+RBstart
|
||||||
initialDLBWPlocationAndBandwidth = 31889;
|
initialDLBWPlocationAndBandwidth = 31899;
|
||||||
# subcarrierSpacing
|
# subcarrierSpacing
|
||||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
initialDLBWPsubcarrierSpacing = 1;
|
initialDLBWPsubcarrierSpacing = 1;
|
||||||
@@ -94,8 +91,6 @@ gNBs =
|
|||||||
initialDLBWPcontrolResourceSetZero = 11;
|
initialDLBWPcontrolResourceSetZero = 11;
|
||||||
initialDLBWPsearchSpaceZero = 0;
|
initialDLBWPsearchSpaceZero = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#uplinkConfigCommon
|
#uplinkConfigCommon
|
||||||
#frequencyInfoUL
|
#frequencyInfoUL
|
||||||
ul_frequencyBand = 78;
|
ul_frequencyBand = 78;
|
||||||
@@ -108,7 +103,7 @@ gNBs =
|
|||||||
pMax = 20;
|
pMax = 20;
|
||||||
#initialUplinkBWP
|
#initialUplinkBWP
|
||||||
#genericParameters
|
#genericParameters
|
||||||
initialULBWPlocationAndBandwidth = 31889;
|
initialULBWPlocationAndBandwidth = 31899;
|
||||||
# subcarrierSpacing
|
# subcarrierSpacing
|
||||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
initialULBWPsubcarrierSpacing = 1;
|
initialULBWPsubcarrierSpacing = 1;
|
||||||
@@ -229,9 +224,9 @@ MACRLCs = (
|
|||||||
num_cc = 1;
|
num_cc = 1;
|
||||||
tr_s_preference = "local_L1";
|
tr_s_preference = "local_L1";
|
||||||
tr_n_preference = "local_RRC";
|
tr_n_preference = "local_RRC";
|
||||||
pusch_TargetSNRx10 = 200;
|
# pusch_TargetSNRx10 = 200;
|
||||||
pucch_TargetSNRx10 = 200;
|
# pucch_TargetSNRx10 = 150;
|
||||||
ulsch_max_frame_inactivity = 1;
|
ulsch_max_frame_inactivity = 0;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -239,6 +234,7 @@ L1s = (
|
|||||||
{
|
{
|
||||||
num_cc = 1;
|
num_cc = 1;
|
||||||
tr_n_preference = "local_mac";
|
tr_n_preference = "local_mac";
|
||||||
|
thread_pool_size = 8;
|
||||||
prach_dtx_threshold = 120;
|
prach_dtx_threshold = 120;
|
||||||
# pucch0_dtx_threshold = 150;
|
# pucch0_dtx_threshold = 150;
|
||||||
}
|
}
|
||||||
@@ -247,8 +243,8 @@ L1s = (
|
|||||||
RUs = (
|
RUs = (
|
||||||
{
|
{
|
||||||
local_rf = "yes"
|
local_rf = "yes"
|
||||||
nb_tx = 1
|
nb_tx = 2
|
||||||
nb_rx = 1
|
nb_rx = 2
|
||||||
att_tx = 0
|
att_tx = 0
|
||||||
att_rx = 0;
|
att_rx = 0;
|
||||||
bands = [78];
|
bands = [78];
|
||||||
|
|||||||
Reference in New Issue
Block a user