Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
adc865b2
Commit
adc865b2
authored
Apr 04, 2019
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CI: adding iperf UDP skeleton
Signed-off-by:
Raphael Defosseux
<
raphael.defosseux@eurecom.fr
>
parent
687d2cf2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
67 additions
and
49 deletions
+67
-49
ci-scripts/main.py
ci-scripts/main.py
+61
-3
ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml
ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml
+6
-46
No files found.
ci-scripts/main.py
View file @
adc865b2
...
...
@@ -1753,7 +1753,62 @@ class SSHConnection():
except
:
os
.
kill
(
os
.
getppid
(),
signal
.
SIGUSR1
)
def
IperfNoS1
(
self
):
if
self
.
eNBIPAddress
==
''
or
self
.
eNBUserName
==
''
or
self
.
eNBPassword
==
''
or
self
.
UEIPAddress
==
''
or
self
.
UEUserName
==
''
or
self
.
UEPassword
==
''
:
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
server_on_enb
=
re
.
search
(
'-R'
,
str
(
self
.
iperf_args
))
if
server_on_enb
is
not
None
:
logging
.
debug
(
'iperf server on eNB'
)
logging
.
debug
(
'iperf client on UE'
)
iServerIPAddr
=
self
.
eNBIPAddress
iServerUser
=
self
.
eNBUserName
iServerPasswd
=
self
.
eNBPassword
iClientIPAddr
=
self
.
UEIPAddress
iClientUser
=
self
.
UEUserName
iClientPasswd
=
self
.
UEPassword
else
:
logging
.
debug
(
'iperf server on UE'
)
logging
.
debug
(
'iperf client on eNB'
)
iServerIPAddr
=
self
.
UEIPAddress
iServerUser
=
self
.
UEUserName
iServerPasswd
=
self
.
UEPassword
iClientIPAddr
=
self
.
eNBIPAddress
iClientUser
=
self
.
eNBUserName
iClientPasswd
=
self
.
eNBPassword
logging
.
debug
(
self
.
iperf_args
)
# Starting the iperf server
logging
.
debug
(
'iServer params: '
+
iServerIPAddr
+
' '
+
iServerUser
+
' '
+
iServerPasswd
)
self
.
open
(
iServerIPAddr
,
iServerUser
,
iServerPasswd
)
self
.
command
(
'echo $USER; nohup iperf -u -s -i 1 > /tmp/tmp_iperf_server_'
+
self
.
testCase_id
+
'.log 2>&1 &'
,
iServerUser
,
5
)
time
.
sleep
(
0.5
)
self
.
close
()
# Starting the iperf client
modified_options
=
self
.
Iperf_ComputeModifiedBW
(
0
,
1
)
modified_options
=
modified_options
.
replace
(
'-R'
,
''
)
iperf_time
=
self
.
Iperf_ComputeTime
()
logging
.
debug
(
'iClient params: '
+
iClientIPAddr
+
' '
+
iClientUser
+
' '
+
iClientPasswd
)
self
.
open
(
iClientIPAddr
,
iClientUser
,
iClientPasswd
)
iperf_status
=
self
.
command
(
'stdbuf -o0 iperf '
+
modified_options
+
' 2>&1 | stdbuf -o0 tee -a /tmp/tmp_iperf_'
+
self
.
testCase_id
+
'.log'
,
'\$'
,
int
(
iperf_time
)
*
5.0
)
if
iperf_status
<
0
:
message
=
'iperf on OAI UE crashed due to TIMEOUT !'
logging
.
debug
(
'
\u001B
[1;37;41m '
+
message
+
'
\u001B
[0m'
)
#else:
# clientStatus = self.Iperf_analyzeV2Output(lock, UE_IPAddress, device_id, statusQueue, modified_options)
self
.
close
()
# Stopping the iperf server
self
.
open
(
iServerIPAddr
,
iServerUser
,
iServerPasswd
)
self
.
command
(
'killall --signal SIGKILL iperf'
,
'\$'
,
5
)
time
.
sleep
(
0.5
)
self
.
close
()
def
Iperf
(
self
):
result
=
re
.
search
(
'noS1'
,
str
(
self
.
Initialize_eNB_args
))
if
result
is
not
None
:
self
.
IperfNoS1
()
return
if
self
.
EPCIPAddress
==
''
or
self
.
EPCUserName
==
''
or
self
.
EPCPassword
==
''
or
self
.
EPCSourceCodePath
==
''
or
self
.
ADBIPAddress
==
''
or
self
.
ADBUserName
==
''
or
self
.
ADBPassword
==
''
:
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
...
...
@@ -2456,8 +2511,11 @@ class SSHConnection():
logging
.
debug
(
'
\u001B
[1m'
+
ueAction
+
' Failed
\u001B
[0m'
)
self
.
htmlUEFailureMsg
=
'<b>'
+
ueAction
+
' Failed</b>
\n
'
+
self
.
htmlUEFailureMsg
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
logStatus
,
'UE'
)
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
# In case of sniffing on commercial eNBs we have random results
# Not an error then
if
(
logStatus
!=
UE_PROCESS_COULD_NOT_SYNC
)
or
(
ueAction
!=
'Sniffing'
):
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
else
:
logging
.
debug
(
'
\u001B
[1m'
+
ueAction
+
' Completed
\u001B
[0m'
)
self
.
htmlUEFailureMsg
=
'<b>'
+
ueAction
+
' Completed</b>
\n
'
+
self
.
htmlUEFailureMsg
...
...
@@ -3176,7 +3234,7 @@ elif re.match('^TerminateOAIUE$', mode, re.IGNORECASE):
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
signal
.
signal
(
signal
.
SIGUSR1
,
receive_signal
)
SSH
.
TerminateUE
()
SSH
.
Terminate
OAI
UE
()
elif
re
.
match
(
'^TerminateHSS$'
,
mode
,
re
.
IGNORECASE
):
if
SSH
.
EPCIPAddress
==
''
or
SSH
.
EPCUserName
==
''
or
SSH
.
EPCPassword
==
''
or
SSH
.
EPCType
==
''
or
SSH
.
EPCSourceCodePath
==
''
:
Usage
()
...
...
ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml
View file @
adc865b2
...
...
@@ -19,16 +19,13 @@
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
040101
030101 040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201 030201
-->
<testCaseList>
<htmlTabRef>
test-05-tm1
</htmlTabRef>
<htmlTabName>
Test-05MHz-TM1
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<TestCaseRequestedList>
030101 000001 090101 000002 040501 040502 000001 090109 030201
030101 000001 090101 000002 040501 040502 000001 0
40601 000001 040641 000001 0
90109 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
...
...
@@ -66,26 +63,6 @@
<desc>
Terminate OAI UE
</desc>
</testCase>
<testCase
id=
"040101"
>
<class>
Initialize_UE
</class>
<desc>
Initialize UE
</desc>
</testCase>
<testCase
id=
"040201"
>
<class>
Terminate_UE
</class>
<desc>
Terminate UE
</desc>
</testCase>
<testCase
id=
"040301"
>
<class>
Attach_UE
</class>
<desc>
Attach UE
</desc>
</testCase>
<testCase
id=
"040401"
>
<class>
Detach_UE
</class>
<desc>
Detach UE
</desc>
</testCase>
<testCase
id=
"040501"
>
<class>
Ping
</class>
<desc>
ping (5MHz - 20 sec)(from eNB to OAI UE)
</desc>
...
...
@@ -100,28 +77,11 @@
<ping_packetloss_threshold>
5
</ping_packetloss_threshold>
</testCase>
<testCase
id=
"040603"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)
</desc>
<iperf_args>
-u -b 15M -t 30 -i 1
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
balanced
</iperf_profile>
</testCase>
<testCase
id=
"040604"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 15M -t 30 -i 1
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
</testCase>
<testCase
id=
"040605"
>
<testCase
id=
"040601"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - DL/15Mbps/UDP)(30 sec)
(unbalanced profile)
</desc>
<iperf_args>
-u -b
15M -t 30 -i 1
</iperf_args>
<desc>
iperf (5MHz - DL/15Mbps/UDP)(30 sec)
</desc>
<iperf_args>
-u -b
2M -t 30 -i 1 -c 10.0.1.2
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
unbalanced
</iperf_profile>
</testCase>
<testCase
id=
"040606"
>
...
...
@@ -142,8 +102,8 @@
<testCase
id=
"040641"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - UL/9Mbps/UDP)(30 sec)
(balanced profile)
</desc>
<iperf_args>
-u -b
9M -t 30 -i 1 -R
</iperf_args>
<desc>
iperf (5MHz - UL/9Mbps/UDP)(30 sec)
</desc>
<iperf_args>
-u -b
1M -t 30 -i 1 -R -c 10.0.1.1
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
balanced
</iperf_profile>
</testCase>
...
...
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