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
Michael Black
OpenXG-RAN
Commits
c396e42a
Commit
c396e42a
authored
Mar 21, 2019
by
Boris Djalal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding the reset procedure using b2xx_fx3_utils.
Signed-off-by:
Boris Djalal
<
boris.djalal@eurecom.fr
>
parent
dccf64ac
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
181 additions
and
41 deletions
+181
-41
ci-scripts/main.py
ci-scripts/main.py
+57
-41
ci-scripts/xml_files/ue_band20_test_10mhz_orange.xml
ci-scripts/xml_files/ue_band20_test_10mhz_orange.xml
+62
-0
ci-scripts/xml_files/ue_band20_test_10mhz_sfr.xml
ci-scripts/xml_files/ue_band20_test_10mhz_sfr.xml
+62
-0
No files found.
ci-scripts/main.py
View file @
c396e42a
...
@@ -119,17 +119,12 @@ class SSHConnection():
...
@@ -119,17 +119,12 @@ class SSHConnection():
self
.
htmlTabNames
=
[]
self
.
htmlTabNames
=
[]
self
.
htmlTabIcons
=
[]
self
.
htmlTabIcons
=
[]
self
.
finalStatus
=
False
self
.
finalStatus
=
False
self
.
eNBOsVersion
=
''
self
.
OsVersion
=
''
self
.
eNBKernelVersion
=
''
self
.
KernelVersion
=
''
self
.
eNBUhdVersion
=
''
self
.
UhdVersion
=
''
self
.
eNBCpuNb
=
''
self
.
CpuNb
=
''
self
.
eNBCpuModel
=
''
self
.
CpuModel
=
''
self
.
eNBCpuMHz
=
''
self
.
CpuMHz
=
''
#self.UEOsVersion = ''
#self.UEKernelVersion = ''
#self.UEUhdVersion = ''
#self.UECpuNb = ''
#self.UECpuModel = ''
self
.
UEIPAddress
=
''
self
.
UEIPAddress
=
''
self
.
UEBranch
=
''
self
.
UEBranch
=
''
#self.UE_AllowMerge = False
#self.UE_AllowMerge = False
...
@@ -344,6 +339,7 @@ class SSHConnection():
...
@@ -344,6 +339,7 @@ class SSHConnection():
self
.
CreateHtmlTestRow
(
self
.
Build_eNB_args
,
'OK'
,
ALL_PROCESSES_OK
)
self
.
CreateHtmlTestRow
(
self
.
Build_eNB_args
,
'OK'
,
ALL_PROCESSES_OK
)
def
BuildOAIUE
(
self
):
def
BuildOAIUE
(
self
):
return
if
self
.
UEIPAddress
==
''
or
self
.
eNBRepository
==
''
or
self
.
eNBBranch
==
''
or
self
.
UEUserName
==
''
or
self
.
UEPassword
==
''
or
self
.
UESourceCodePath
==
''
:
if
self
.
UEIPAddress
==
''
or
self
.
eNBRepository
==
''
or
self
.
eNBBranch
==
''
or
self
.
UEUserName
==
''
or
self
.
UEPassword
==
''
or
self
.
UESourceCodePath
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
...
@@ -582,6 +578,16 @@ class SSHConnection():
...
@@ -582,6 +578,16 @@ class SSHConnection():
# self.CreateHtmlTabFooter(False)
# self.CreateHtmlTabFooter(False)
# sys.exit(1)
# sys.exit(1)
self
.
open
(
self
.
UEIPAddress
,
self
.
UEUserName
,
self
.
UEPassword
)
self
.
open
(
self
.
UEIPAddress
,
self
.
UEUserName
,
self
.
UEPassword
)
# b2xx_fx3_utils reset procedure
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S uhd_find_devices'
,
'\$'
,
5
)
result
=
re
.
search
(
'type: b200'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
logging
.
debug
(
'Found a B2xx device --> resetting it'
)
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S sudo b2xx_fx3_utils --reset-device'
,
'\$'
,
5
)
# Reloading FGPA bin firmware
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S uhd_find_devices'
,
'\$'
,
5
)
else
:
logging
.
debug
(
'Did not find any B2xx device'
)
self
.
command
(
'cd '
+
self
.
UESourceCodePath
,
'\$'
,
5
)
self
.
command
(
'cd '
+
self
.
UESourceCodePath
,
'\$'
,
5
)
# Initialize_OAI_UE_args usually start with -C and followed by the location in repository
# Initialize_OAI_UE_args usually start with -C and followed by the location in repository
#full_config_file = self.Initialize_OAI_UE_args.replace('-O ','')
#full_config_file = self.Initialize_OAI_UE_args.replace('-O ','')
...
@@ -2336,41 +2342,52 @@ class SSHConnection():
...
@@ -2336,41 +2342,52 @@ class SSHConnection():
def
RetrieveSystemVersion
(
self
):
def
RetrieveSystemVersion
(
self
):
if
self
.
eNBIPAddress
==
'none'
:
if
self
.
eNBIPAddress
==
'none'
:
self
.
eNB
OsVersion
=
'Ubuntu 16.04.5 LTS'
self
.
OsVersion
=
'Ubuntu 16.04.5 LTS'
self
.
eNB
KernelVersion
=
'4.15.0-45-generic'
self
.
KernelVersion
=
'4.15.0-45-generic'
self
.
eNB
UhdVersion
=
'3.13.0.1-0'
self
.
UhdVersion
=
'3.13.0.1-0'
self
.
eNB
CpuNb
=
'4'
self
.
CpuNb
=
'4'
self
.
eNB
CpuModel
=
'Intel(R) Core(TM) i5-6200U'
self
.
CpuModel
=
'Intel(R) Core(TM) i5-6200U'
self
.
eNB
CpuMHz
=
'2399.996 MHz'
self
.
CpuMHz
=
'2399.996 MHz'
return
return
if
self
.
eNBIPAddress
==
''
or
self
.
eNBUserName
==
''
or
self
.
eNBPassword
==
''
:
machine
=
None
if
self
.
eNBIPAddress
!=
''
and
self
.
eNBUserName
!=
''
and
self
.
eNBPassword
!=
''
:
machine
=
'eNB'
self
.
IPAddress
=
self
.
eNBIPAddress
self
.
UserName
=
self
.
eNBUserName
self
.
Password
=
self
.
eNBPassword
if
self
.
UEIPAddress
!=
''
and
self
.
UEUserName
!=
''
and
self
.
UEPassword
!=
''
:
machine
=
'UE'
self
.
IPAddress
=
self
.
UEIPAddress
self
.
UserName
=
self
.
UEUserName
self
.
Password
=
self
.
UEPassword
if
machine
is
None
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
self
.
open
(
self
.
eNBIPAddress
,
self
.
eNBUserName
,
self
.
eNB
Password
)
self
.
open
(
self
.
IPAddress
,
self
.
UserName
,
self
.
Password
)
self
.
command
(
'lsb_release -a'
,
'\$'
,
5
)
self
.
command
(
'lsb_release -a'
,
'\$'
,
5
)
result
=
re
.
search
(
'Description:
\\\\
t(?P<os_type>[a-zA-Z0-9\-\_\.\ ]+)'
,
str
(
self
.
ssh
.
before
))
result
=
re
.
search
(
'Description:
\\\\
t(?P<os_type>[a-zA-Z0-9\-\_\.\ ]+)'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
if
result
is
not
None
:
self
.
eNB
OsVersion
=
result
.
group
(
'os_type'
)
self
.
OsVersion
=
result
.
group
(
'os_type'
)
logging
.
debug
(
'OS is: '
+
self
.
eNB
OsVersion
)
logging
.
debug
(
'OS is: '
+
self
.
OsVersion
)
self
.
command
(
'uname -r'
,
'\$'
,
5
)
self
.
command
(
'uname -r'
,
'\$'
,
5
)
result
=
re
.
search
(
'uname -r
\\\\
r
\\\\
n(?P<kernel_version>[a-zA-Z0-9\-\_\.]+)'
,
str
(
self
.
ssh
.
before
))
result
=
re
.
search
(
'uname -r
\\\\
r
\\\\
n(?P<kernel_version>[a-zA-Z0-9\-\_\.]+)'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
if
result
is
not
None
:
self
.
eNB
KernelVersion
=
result
.
group
(
'kernel_version'
)
self
.
KernelVersion
=
result
.
group
(
'kernel_version'
)
logging
.
debug
(
'Kernel Version is: '
+
self
.
eNB
KernelVersion
)
logging
.
debug
(
'Kernel Version is: '
+
self
.
KernelVersion
)
self
.
command
(
'dpkg --list | egrep --color=never libuhd003'
,
'\$'
,
5
)
self
.
command
(
'dpkg --list | egrep --color=never libuhd003'
,
'\$'
,
5
)
result
=
re
.
search
(
'libuhd003:amd64 *(?P<uhd_version>[0-9\.]+)'
,
str
(
self
.
ssh
.
before
))
result
=
re
.
search
(
'libuhd003:amd64 *(?P<uhd_version>[0-9\.]+)'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
if
result
is
not
None
:
self
.
eNB
UhdVersion
=
result
.
group
(
'uhd_version'
)
self
.
UhdVersion
=
result
.
group
(
'uhd_version'
)
logging
.
debug
(
'UHD Version is: '
+
self
.
eNB
UhdVersion
)
logging
.
debug
(
'UHD Version is: '
+
self
.
UhdVersion
)
self
.
command
(
'lscpu'
,
'\$'
,
5
)
self
.
command
(
'lscpu'
,
'\$'
,
5
)
result
=
re
.
search
(
'CPU\(s\): *(?P<nb_cpus>[0-9]+).*Model name: *(?P<model>[a-zA-Z0-9\-\_\.\ \(\)]+).*CPU MHz: *(?P<cpu_mhz>[0-9\.]+)'
,
str
(
self
.
ssh
.
before
))
result
=
re
.
search
(
'CPU\(s\): *(?P<nb_cpus>[0-9]+).*Model name: *(?P<model>[a-zA-Z0-9\-\_\.\ \(\)]+).*CPU MHz: *(?P<cpu_mhz>[0-9\.]+)'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
if
result
is
not
None
:
self
.
eNB
CpuNb
=
result
.
group
(
'nb_cpus'
)
self
.
CpuNb
=
result
.
group
(
'nb_cpus'
)
logging
.
debug
(
'nb_cpus: '
+
self
.
eNB
CpuNb
)
logging
.
debug
(
'nb_cpus: '
+
self
.
CpuNb
)
self
.
eNB
CpuModel
=
result
.
group
(
'model'
)
self
.
CpuModel
=
result
.
group
(
'model'
)
logging
.
debug
(
'model: '
+
self
.
eNB
CpuModel
)
logging
.
debug
(
'model: '
+
self
.
CpuModel
)
self
.
eNB
CpuMHz
=
result
.
group
(
'cpu_mhz'
)
+
' MHz'
self
.
CpuMHz
=
result
.
group
(
'cpu_mhz'
)
+
' MHz'
logging
.
debug
(
'cpu_mhz: '
+
self
.
eNB
CpuMHz
)
logging
.
debug
(
'cpu_mhz: '
+
self
.
CpuMHz
)
self
.
close
()
self
.
close
()
#-----------------------------------------------------------
#-----------------------------------------------------------
...
@@ -2459,10 +2476,9 @@ class SSHConnection():
...
@@ -2459,10 +2476,9 @@ class SSHConnection():
if
(
self
.
ADBIPAddress
!=
'none'
):
if
(
self
.
ADBIPAddress
!=
'none'
):
self
.
GetAllUEDevices
(
terminate_ue_flag
)
self
.
GetAllUEDevices
(
terminate_ue_flag
)
self
.
GetAllCatMDevices
(
terminate_ue_flag
)
self
.
GetAllCatMDevices
(
terminate_ue_flag
)
self
.
htmlUEConnected
=
len
(
self
.
UEDevices
)
self
.
htmlUEConnected
=
len
(
self
.
UEDevices
)
self
.
htmlFile
.
write
(
' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> '
+
str
(
len
(
self
.
UEDevices
))
+
' UE(s) is(are) connected to ADB bench server</h2>
\n
'
)
self
.
htmlFile
.
write
(
' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> '
+
str
(
len
(
self
.
UEDevices
))
+
' UE(s) is(are) connected to ADB bench server</h2>
\n
'
)
self
.
htmlFile
.
write
(
' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> '
+
str
(
len
(
self
.
CatMDevices
))
+
' CAT-M UE(s) is(are) connected to bench server</h2>
\n
'
)
self
.
htmlFile
.
write
(
' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> '
+
str
(
len
(
self
.
CatMDevices
))
+
' CAT-M UE(s) is(are) connected to bench server</h2>
\n
'
)
self
.
htmlFile
.
write
(
' <br>
\n
'
)
self
.
htmlFile
.
write
(
' <br>
\n
'
)
self
.
htmlFile
.
write
(
' <ul class="nav nav-pills">
\n
'
)
self
.
htmlFile
.
write
(
' <ul class="nav nav-pills">
\n
'
)
count
=
0
count
=
0
...
@@ -2535,19 +2551,19 @@ class SSHConnection():
...
@@ -2535,19 +2551,19 @@ class SSHConnection():
self
.
htmlFile
.
write
(
' </tr>
\n
'
)
self
.
htmlFile
.
write
(
' </tr>
\n
'
)
self
.
htmlFile
.
write
(
' <tr>
\n
'
)
self
.
htmlFile
.
write
(
' <tr>
\n
'
)
self
.
htmlFile
.
write
(
' <td>OS Version</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>OS Version</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
eNB
OsVersion
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
OsVersion
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>Kernel Version</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>Kernel Version</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
eNB
KernelVersion
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
KernelVersion
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>UHD Version</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>UHD Version</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
eNB
UhdVersion
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
UhdVersion
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' </tr>
\n
'
)
self
.
htmlFile
.
write
(
' </tr>
\n
'
)
self
.
htmlFile
.
write
(
' <tr>
\n
'
)
self
.
htmlFile
.
write
(
' <tr>
\n
'
)
self
.
htmlFile
.
write
(
' <td>Nb CPUs</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>Nb CPUs</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
eNB
CpuNb
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
CpuNb
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>CPU Model Name</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>CPU Model Name</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
eNB
CpuModel
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
CpuModel
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>CPU Frequency</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td>CPU Frequency</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
eNB
CpuMHz
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' <td><span class="label label-default">'
+
self
.
CpuMHz
+
'</span></td>
\n
'
)
self
.
htmlFile
.
write
(
' </tr>
\n
'
)
self
.
htmlFile
.
write
(
' </tr>
\n
'
)
self
.
htmlFile
.
write
(
' <tr>
\n
'
)
self
.
htmlFile
.
write
(
' <tr>
\n
'
)
self
.
htmlFile
.
write
(
' <th colspan=4 bgcolor = "#33CCFF">Final Status</th>
\n
'
)
self
.
htmlFile
.
write
(
' <th colspan=4 bgcolor = "#33CCFF">Final Status</th>
\n
'
)
...
...
ci-scripts/xml_files/ue_band20_test_10mhz_orange.xml
0 → 100644
View file @
c396e42a
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>
test-10mhz-orange
</htmlTabRef>
<htmlTabName>
Test-10Mhz-Orange
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<TestCaseRequestedList>
090101
090102 000001 090104
090103 000001 090104
</TestCaseRequestedList>
<testCase
id=
"090101"
>
<class>
Build_OAI_UE
</class>
<desc>
Build OAI UE
</desc>
<Build_OAI_UE_args>
-w USRP --UE
</Build_OAI_UE_args>
</testCase>
<testCase
id=
"090102"
>
<class>
Initialize_OAI_UE
</class>
<desc>
Initialize OAI UE -- sniffing Orange frequency
</desc>
<Initialize_OAI_UE_args>
-C 816000000 -r 50 --ue-rxgain 120 --ue-scan-carrier --no-L2-connect
</Initialize_OAI_UE_args>
</testCase>
<testCase
id=
"090103"
>
<class>
Initialize_OAI_UE
</class>
<desc>
Initialize OAI UE -- sniffing Orange frequency
</desc>
<Initialize_OAI_UE_args>
-C 812000000 -r 50 --ue-rxgain 120 --ue-scan-carrier --no-L2-connect
</Initialize_OAI_UE_args>
</testCase>
<testCase
id=
"000001"
>
<class>
IdleSleep
</class>
<desc>
Sleep
</desc>
<idle_sleep_time_in_sec>
30
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"090104"
>
<class>
Terminate_OAI_UE
</class>
<desc>
Terminate OAI UE
</desc>
</testCase>
</testCaseList>
ci-scripts/xml_files/ue_band20_test_10mhz_sfr.xml
0 → 100644
View file @
c396e42a
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>
test-10mHz-sfr
</htmlTabRef>
<htmlTabName>
Test-10MHz-SFR
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<TestCaseRequestedList>
090101
090102 000001 090104
090103 000001 090104
</TestCaseRequestedList>
<testCase
id=
"090101"
>
<class>
Build_OAI_UE
</class>
<desc>
Build OAI UE
</desc>
<Build_OAI_UE_args>
-w USRP --UE
</Build_OAI_UE_args>
</testCase>
<testCase
id=
"090102"
>
<class>
Initialize_OAI_UE
</class>
<desc>
Initialize OAI UE -- sniffing SFR frequency
</desc>
<Initialize_OAI_UE_args>
-C 806000000 -r 50 --ue-rxgain 120 --ue-scan-carrier --no-L2-connect
</Initialize_OAI_UE_args>
</testCase>
<testCase
id=
"090103"
>
<class>
Initialize_OAI_UE
</class>
<desc>
Initialize OAI UE -- sniffing SFR frequency
</desc>
<Initialize_OAI_UE_args>
-C 802000000 -r 50 --ue-rxgain 120 --ue-scan-carrier --no-L2-connect
</Initialize_OAI_UE_args>
</testCase>
<testCase
id=
"000001"
>
<class>
IdleSleep
</class>
<desc>
Sleep
</desc>
<idle_sleep_time_in_sec>
30
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"090104"
>
<class>
Terminate_OAI_UE
</class>
<desc>
Terminate OAI UE
</desc>
</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