Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
194e61cf
Commit
194e61cf
authored
Feb 23, 2023
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci-t1-offload-test' into integration_2023_w08
parents
1613e12d
c94ba6ec
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
125 additions
and
20 deletions
+125
-20
ci-scripts/cls_physim.py
ci-scripts/cls_physim.py
+52
-0
ci-scripts/main.py
ci-scripts/main.py
+6
-2
ci-scripts/xml_class_list.yml
ci-scripts/xml_class_list.yml
+1
-0
ci-scripts/xml_files/gnb_usrp_build.xml
ci-scripts/xml_files/gnb_usrp_build.xml
+1
-1
ci-scripts/xml_files/t1_offload_test.xml
ci-scripts/xml_files/t1_offload_test.xml
+65
-17
No files found.
ci-scripts/cls_physim.py
View file @
194e61cf
...
...
@@ -88,6 +88,40 @@ class PhySim:
HTML
.
CreateHtmlTestRowQueue
(
self
.
runargs
,
'OK'
,
1
,
html_queue
)
return
HTML
def
__CheckResults_LDPCt1Test
(
self
,
HTML
,
CONST
,
testcase_id
):
thrs_NOK
=
500
thrs_KO
=
1000
mySSH
=
sshconnection
.
SSHConnection
()
mySSH
.
open
(
self
.
eNBIpAddr
,
self
.
eNBUserName
,
self
.
eNBPassWord
)
#retrieve run log file and store it locally$
mySSH
.
copyin
(
self
.
eNBIpAddr
,
self
.
eNBUserName
,
self
.
eNBPassWord
,
self
.
__workSpacePath
+
self
.
__runLogFile
,
'.'
)
mySSH
.
close
()
#parse results looking for Decoding values
runResultsT1
=
[]
with
open
(
self
.
__runLogFile
)
as
g
:
for
line
in
g
:
if
'decoding time'
in
line
:
runResultsT1
.
append
(
line
)
info
=
runResultsT1
[
0
][
15
:
-
13
]
result
=
int
(
''
.
join
(
filter
(
str
.
isdigit
,
info
)))
/
100
#once parsed move the local logfile to its folder for tidiness
os
.
system
(
'mv '
+
self
.
__runLogFile
+
' '
+
self
.
__runLogPath
+
'/.'
)
#updating the HTML with results
html_cell
=
'<pre style="background-color:white">'
+
info
+
'</pre>'
html_queue
=
SimpleQueue
()
html_queue
.
put
(
html_cell
)
if
result
<
thrs_NOK
:
HTML
.
CreateHtmlTestRowQueue
(
self
.
runargs
,
'OK'
,
1
,
html_queue
)
elif
result
>
thrs_KO
:
error_msg
=
f'Decoding time exceeds a limit of
{
thrs_KO
}
us'
logging
.
error
(
error_msg
)
html_queue
.
put
(
f'<pre style="background-color:white">
{
error_msg
}
</pre>'
)
HTML
.
CreateHtmlTestRowQueue
(
self
.
runargs
,
'KO'
,
1
,
html_queue
)
self
.
exitStatus
=
1
else
:
HTML
.
CreateHtmlTestRowQueue
(
self
.
runargs
,
'NOK'
,
1
,
html_queue
)
return
HTML
def
__CheckResults_NRulsimTest
(
self
,
HTML
,
CONST
,
testcase_id
):
html_queue
=
SimpleQueue
()
#retrieve run log file and store it locally
...
...
@@ -216,6 +250,24 @@ class PhySim:
lHTML
=
self
.
__CheckResults_LDPCTest
(
htmlObj
,
constObj
,
testcase_id
)
return
lHTML
def
Run_LDPCt1Test
(
self
,
htmlObj
,
constObj
,
testcase_id
):
self
.
__workSpacePath
=
self
.
eNBSourceCodePath
+
'/cmake_targets/'
#create run logs folder locally
os
.
system
(
'mkdir -p ./'
+
self
.
__runLogPath
)
#log file is tc_<testcase_id>.log remotely
self
.
__runLogFile
=
'physim_'
+
str
(
testcase_id
)
+
'.log'
#open a session for test run
mySSH
=
sshconnection
.
SSHConnection
()
mySSH
.
open
(
self
.
eNBIpAddr
,
self
.
eNBUserName
,
self
.
eNBPassWord
)
mySSH
.
command
(
'cd '
+
self
.
__workSpacePath
,
'\$'
,
5
)
#run and redirect the results to a log file
mySSH
.
command
(
f'sudo
{
self
.
__workSpacePath
}
ran_build/build/nr_ulsim
{
self
.
runargs
}
>
{
self
.
__runLogFile
}
2>&1'
,
'\$'
,
30
)
mySSH
.
close
()
#return updated HTML to main
lHTML
=
cls_oai_html
.
HTMLManagement
()
lHTML
=
self
.
__CheckResults_LDPCt1Test
(
htmlObj
,
constObj
,
testcase_id
)
return
lHTML
def
Run_NRulsimTest
(
self
,
htmlObj
,
constObj
,
testcase_id
):
self
.
__workSpacePath
=
self
.
eNBSourceCodePath
+
'/cmake_targets/'
os
.
system
(
f'mkdir -p ./
{
self
.
__runLogPath
}
'
)
...
...
ci-scripts/main.py
View file @
194e61cf
...
...
@@ -43,7 +43,7 @@ import cls_physim #class PhySim for physical simulators build and
import
cls_cots_ue
#class CotsUe for Airplane mode control
import
cls_containerize
#class Containerize for all container-based operations on RAN/UE objects
import
cls_static_code_analysis
#class for static code analysis
import
cls_ci_ueinfra
#class defining the multi Ue infrastrucure
import
cls_ci_ueinfra
#class defining the multi Ue infrastrucure
import
cls_physim1
#class PhySim for physical simulators deploy and run
import
cls_cluster
# class for building/deploying on cluster
...
...
@@ -472,7 +472,7 @@ def GetParametersFromXML(action):
if
(
string_field
is
not
None
):
CONTAINERS
.
cliOptions
=
string_field
elif
action
==
'Run_LDPCTest'
or
action
==
'Run_NRulsimTest'
:
elif
action
==
'Run_LDPCTest'
or
action
==
'Run_NRulsimTest'
or
action
==
'Run_LDPCt1Test'
:
ldpc
.
runargs
=
test
.
findtext
(
'physim_run_args'
)
elif
action
==
'LicenceAndFormattingCheck'
:
...
...
@@ -963,6 +963,10 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
HTML
=
ldpc
.
Run_LDPCTest
(
HTML
,
CONST
,
id
)
if
ldpc
.
exitStatus
==
1
:
RAN
.
prematureExit
=
True
elif
action
==
'Run_LDPCt1Test'
:
HTML
=
ldpc
.
Run_LDPCt1Test
(
HTML
,
CONST
,
id
)
if
ldpc
.
exitStatus
==
1
:
RAN
.
prematureExit
=
True
elif
action
==
'Run_NRulsimTest'
:
HTML
=
ldpc
.
Run_NRulsimTest
(
HTML
,
CONST
,
id
)
if
ldpc
.
exitStatus
==
1
:
...
...
ci-scripts/xml_class_list.yml
View file @
194e61cf
...
...
@@ -2,6 +2,7 @@
-
Build_Cluster_Image
-
Build_PhySim
-
Run_LDPCTest
-
Run_LDPCt1Test
-
Run_NRulsimTest
-
Build_eNB
-
WaitEndBuild_eNB
...
...
ci-scripts/xml_files/gnb_usrp_build.xml
View file @
194e61cf
...
...
@@ -35,7 +35,7 @@
<mode>
TesteNB
</mode>
<class>
Build_eNB
</class>
<desc>
Build gNB (USRP)
</desc>
<Build_eNB_args>
--gNB -w USRP --ninja -c -P --build-lib "ldpc_cuda"
</Build_eNB_args>
<Build_eNB_args>
--gNB -w USRP --ninja -c -P --build-lib "ldpc_cuda
ldpc_t1
"
</Build_eNB_args>
<forced_workspace_cleanup>
True
</forced_workspace_cleanup>
</testCase>
...
...
ci-scripts/xml_files/t1_offload_test.xml
View file @
194e61cf
...
...
@@ -24,31 +24,79 @@
<htmlTabName>
Test T1 Offload
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<repeatCount>
1
</repeatCount>
<TestCaseRequestedList>
000
001 000002 000003 000004
</TestCaseRequestedList>
<TestCaseRequestedList>
000
111 000112 000121 000122 000131 000132 000211 000212 000221 000222 000231 000232
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"000
00
1"
>
<class>
Run_
NRulsim
Test
</class>
<desc>
Run
T1 Offload nr_ulsim
</desc>
<physim_run_args>
-n
2 -s30 -m9 -r50 -R106 -o
</physim_run_args>
<testCase
id=
"000
11
1"
>
<class>
Run_
LDPCt1
Test
</class>
<desc>
Run
nr_ulsim with CPU
</desc>
<physim_run_args>
-n
100 -s30 -m5 -r106 -R106 -C10 -P
</physim_run_args>
</testCase>
<testCase
id=
"000
00
2"
>
<class>
Run_
NRulsim
Test
</class>
<desc>
Run
T1 Offload nr_ulsim
</desc>
<physim_run_args>
-n
2 -s30 -m9 -r106 -R106 -o
</physim_run_args>
<testCase
id=
"000
11
2"
>
<class>
Run_
LDPCt1
Test
</class>
<desc>
Run
nr_ulsim with T1 LDPC offload
</desc>
<physim_run_args>
-n
100 -s30 -m5 -r106 -R106 -o -P
</physim_run_args>
</testCase>
<testCase
id=
"000
003
"
>
<class>
Run_
NRulsim
Test
</class>
<desc>
Run
T1 Offload nr_ulsim
</desc>
<physim_run_args>
-n
2 -s30 -m16 -r106 -R106 -o
</physim_run_args>
<testCase
id=
"000
121
"
>
<class>
Run_
LDPCt1
Test
</class>
<desc>
Run
nr_ulsim with CPU
</desc>
<physim_run_args>
-n
100 -s30 -m15 -r106 -R106 -C10 -P
</physim_run_args>
</testCase>
<testCase
id=
"000
004
"
>
<class>
Run_
NRulsim
Test
</class>
<desc>
Run
T1 Offload nr_ulsim
</desc>
<physim_run_args>
-n
2 -s30 -m9 -r273 -R273 -o
</physim_run_args>
<testCase
id=
"000
122
"
>
<class>
Run_
LDPCt1
Test
</class>
<desc>
Run
nr_ulsim with T1 LDPC offload
</desc>
<physim_run_args>
-n
100 -s30 -m15 -r106 -R106 -o -P
</physim_run_args>
</testCase>
<testCase
id=
"000131"
>
<class>
Run_LDPCt1Test
</class>
<desc>
Run nr_ulsim with CPU
</desc>
<physim_run_args>
-n100 -s30 -m25 -r106 -R106 -C10 -P
</physim_run_args>
</testCase>
<testCase
id=
"000132"
>
<class>
Run_LDPCt1Test
</class>
<desc>
Run nr_ulsim with T1 LDPC offload
</desc>
<physim_run_args>
-n100 -s30 -m25 -r106 -R106 -o -P
</physim_run_args>
</testCase>
<testCase
id=
"000211"
>
<class>
Run_LDPCt1Test
</class>
<desc>
Run nr_ulsim with CPU
</desc>
<physim_run_args>
-n100 -s30 -m5 -r273 -R273 -C10 -P
</physim_run_args>
</testCase>
<testCase
id=
"000212"
>
<class>
Run_LDPCt1Test
</class>
<desc>
Run nr_ulsim with T1 LDPC offload
</desc>
<physim_run_args>
-n100 -s30 -m5 -r273 -R273 -o -P
</physim_run_args>
</testCase>
<testCase
id=
"000221"
>
<class>
Run_LDPCt1Test
</class>
<desc>
Run nr_ulsim with CPU
</desc>
<physim_run_args>
-n100 -s30 -m15 -r273 -R273 -C10 -P
</physim_run_args>
</testCase>
<testCase
id=
"000222"
>
<class>
Run_LDPCt1Test
</class>
<desc>
Run nr_ulsim with T1 LDPC offload
</desc>
<physim_run_args>
-n100 -s30 -m15 -r273 -R273 -o -P
</physim_run_args>
</testCase>
<testCase
id=
"000231"
>
<class>
Run_LDPCt1Test
</class>
<desc>
Run nr_ulsim with CPU
</desc>
<physim_run_args>
-n100 -s30 -m25 -r273 -R273 -C10 -P
</physim_run_args>
</testCase>
<testCase
id=
"000232"
>
<class>
Run_LDPCt1Test
</class>
<desc>
Run nr_ulsim with T1 LDPC offload
</desc>
<physim_run_args>
-n100 -s30 -m25 -r273 -R273 -o -P
</physim_run_args>
</testCase>
</testCaseList>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment