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
wangjie
OpenXG-RAN
Commits
d99dc5af
Commit
d99dc5af
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
5f5cef7a
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 @
d99dc5af
...
...
@@ -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 @
d99dc5af
...
...
@@ -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