Commit 4353880d authored by Remi Hardy's avatar Remi Hardy

gNB html + log update for nsa fr1 ok

parent 789e48fc
...@@ -133,7 +133,7 @@ class RANManagement(): ...@@ -133,7 +133,7 @@ class RANManagement():
self.air_interface[self.eNB_instance] = 'nr-softmodem' self.air_interface[self.eNB_instance] = 'nr-softmodem'
else: else:
self.air_interface[self.eNB_instance] = 'lte-softmodem' self.air_interface[self.eNB_instance] = 'lte-softmodem'
# Worakround for some servers, we need to erase completely the workspace # Worakround for some servers, we need to erase completely the workspace
if self.Build_eNB_forced_workspace_cleanup: if self.Build_eNB_forced_workspace_cleanup:
mySSH.command('echo ' + lPassWord + ' | sudo -S rm -Rf ' + lSourcePath, '\$', 15) mySSH.command('echo ' + lPassWord + ' | sudo -S rm -Rf ' + lSourcePath, '\$', 15)
...@@ -427,7 +427,7 @@ class RANManagement(): ...@@ -427,7 +427,7 @@ class RANManagement():
# Launch eNB with the modified config file # Launch eNB with the modified config file
mySSH.command('source oaienv', '\$', 5) mySSH.command('source oaienv', '\$', 5)
mySSH.command('cd cmake_targets', '\$', 5) mySSH.command('cd cmake_targets', '\$', 5)
if self.air_interface == 'nr': if self.air_interface[self.eNB_instance] == 'nr-softmodem':
mySSH.command('if [ -e rbconfig.raw ]; then echo ' + lPassWord + ' | sudo -S rm rbconfig.raw; fi', '\$', 5) mySSH.command('if [ -e rbconfig.raw ]; then echo ' + lPassWord + ' | sudo -S rm rbconfig.raw; fi', '\$', 5)
mySSH.command('if [ -e reconfig.raw ]; then echo ' + lPassWord + ' | sudo -S rm reconfig.raw; fi', '\$', 5) mySSH.command('if [ -e reconfig.raw ]; then echo ' + lPassWord + ' | sudo -S rm reconfig.raw; fi', '\$', 5)
# NOTE: WE SHALL do a check if the executable is present (in case build went wrong) # NOTE: WE SHALL do a check if the executable is present (in case build went wrong)
...@@ -568,10 +568,6 @@ class RANManagement(): ...@@ -568,10 +568,6 @@ class RANManagement():
mySSH = SSH.SSHConnection() mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord) mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5) mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
#RH debug
print(self.air_interface)
print(self.eNB_instance)
#
if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'): if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'):
nodeB_prefix = 'e' nodeB_prefix = 'e'
else: else:
...@@ -869,20 +865,17 @@ class RANManagement(): ...@@ -869,20 +865,17 @@ class RANManagement():
if result is not None: if result is not None:
NSA_RAPROC_PUSCH_check = 1 NSA_RAPROC_PUSCH_check = 1
#dlsch and ulsch statistics #dlsch and ulsch statistics
#keys below are are the markers we are loooking for, looping over this keys list #keys below are the markers we are loooking for, loop over this keys list
#everytime these markers are found in the log file, the previous ones are overwritten in the dict #everytime these markers are found in the log file, the previous ones are overwritten in the dict
#eventually we record only the last one #eventually we record only the last occurence
keys = {'dlsch_rounds','dlsch_total_bytes','ulsch_rounds','ulsch_total_bytes_scheduled'} keys = {'dlsch_rounds','dlsch_total_bytes','ulsch_rounds','ulsch_total_bytes_scheduled'}
for k in keys: for k in keys:
result = re.search(k, str(line)) result = re.search(k, line)
if result is not None: if result is not None:
dlsch_ulsch_stats[k]=str(line) #remove all char before u(lsch) or d(lsch)
dlsch_ulsch_stats[k]=re.sub(r'^.*([du])', r'\g<1>' , line.rstrip())
enb_log_file.close() enb_log_file.close()
logging.debug(' File analysis completed') logging.debug(' File analysis completed')
#RH debug
print(self.air_interface[self.eNB_instance]+'\n')
#
if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'): if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'):
nodeB_prefix = 'e' nodeB_prefix = 'e'
else: else:
...@@ -902,19 +895,21 @@ class RANManagement(): ...@@ -902,19 +895,21 @@ class RANManagement():
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m') logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
htmleNBFailureMsg += statMsg + '\n' htmleNBFailureMsg += statMsg + '\n'
#FR1 NSA test : add new markers to make sure gNB is used #FR1 NSA test : add new markers to make sure gNB is used
if NSA_RAPROC_PUSCH_check: if NSA_RAPROC_PUSCH_check:
statMsg = '[RAPROC] PUSCH with TC_RNTI message check for ' + nodeB_prefix + 'NB : PASS ' statMsg = '[RAPROC] PUSCH with TC_RNTI message check for ' + nodeB_prefix + 'NB : PASS '
else: htmlMsg = statMsg+'\n'
statMsg = '[RAPROC] PUSCH with TC_RNTI message check for ' + nodeB_prefix + 'NB : FAIL ' else:
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m') statMsg = '[RAPROC] PUSCH with TC_RNTI message check for ' + nodeB_prefix + 'NB : FAIL '
htmleNBFailureMsg += statMsg + '\n' htmlMsg = statMsg+'\n'
#ulsch and dlsch statistics logging.debug(statMsg)
if len(dlsch_ulsch_stats)!=0: #check if dictionary is not empty htmleNBFailureMsg += htmlMsg
statMsg='' #ulsch and dlsch statistics
for key in dlsch_ulsch_stats: #for each dictionary key if len(dlsch_ulsch_stats)!=0: #check if dictionary is not empty
statMsg += dlsch_ulsch_stats[key] + '\n' statMsg=''
logging.debug('\u001B[1;30;43m ' + dlsch_ulsch_stats[key] + ' \u001B[0m') for key in dlsch_ulsch_stats: #for each dictionary key
htmleNBFailureMsg += statMsg + '\n' statMsg += dlsch_ulsch_stats[key]
logging.debug(dlsch_ulsch_stats[key])
htmleNBFailureMsg += statMsg
if uciStatMsgCount > 0: if uciStatMsgCount > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(uciStatMsgCount) + ' "uci->stat" message(s)' statMsg = nodeB_prefix + 'NB showed ' + str(uciStatMsgCount) + ' "uci->stat" message(s)'
......
...@@ -89,14 +89,14 @@ ...@@ -89,14 +89,14 @@
<class>Ping</class> <class>Ping</class>
<desc>Ping: 20pings in 20sec</desc> <desc>Ping: 20pings in 20sec</desc>
<ping_args>-c 20</ping_args> <ping_args>-c 20</ping_args>
<ping_packetloss_threshold>0</ping_packetloss_threshold> <ping_packetloss_threshold>50</ping_packetloss_threshold>
</testCase> </testCase>
<testCase id="050001"> <testCase id="050001">
<class>Ping</class> <class>Ping</class>
<desc>Ping: 5pings in 1sec</desc> <desc>Ping: 5pings in 1sec</desc>
<ping_args>-c 5 -i 0.2</ping_args> <ping_args>-c 5 -i 0.2</ping_args>
<ping_packetloss_threshold>0</ping_packetloss_threshold> <ping_packetloss_threshold>50</ping_packetloss_threshold>
</testCase> </testCase>
<testCase id="070000"> <testCase id="070000">
...@@ -104,6 +104,7 @@ ...@@ -104,6 +104,7 @@
<desc>Terminate eNB</desc> <desc>Terminate eNB</desc>
<eNB_instance>0</eNB_instance> <eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId> <eNB_serverId>0</eNB_serverId>
<air_interface>lte</air_interface>
</testCase> </testCase>
<testCase id="070001"> <testCase id="070001">
...@@ -111,6 +112,7 @@ ...@@ -111,6 +112,7 @@
<desc>Terminate gNB</desc> <desc>Terminate gNB</desc>
<eNB_instance>1</eNB_instance> <eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId> <eNB_serverId>1</eNB_serverId>
<air_interface>nr</air_interface>
</testCase> </testCase>
</testCaseList> </testCaseList>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment