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
06b9e3f3
Commit
06b9e3f3
authored
Dec 19, 2021
by
hardy
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci_build_common_container_images' into integration_2021_wk51_a
parents
de4d3a9b
22a0ba17
Changes
24
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
384 additions
and
542 deletions
+384
-542
ci-scripts/cls_containerize.py
ci-scripts/cls_containerize.py
+36
-35
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+55
-131
cmake_targets/build_oai
cmake_targets/build_oai
+9
-28
docker/Dockerfile.base.rhel8.2
docker/Dockerfile.base.rhel8.2
+1
-1
docker/Dockerfile.base.ubuntu18
docker/Dockerfile.base.ubuntu18
+1
-1
docker/Dockerfile.build.rhel8.2
docker/Dockerfile.build.rhel8.2
+38
-0
docker/Dockerfile.build.ubuntu18
docker/Dockerfile.build.ubuntu18
+38
-0
docker/Dockerfile.eNB.rhel8.2
docker/Dockerfile.eNB.rhel8.2
+16
-27
docker/Dockerfile.eNB.ubuntu18
docker/Dockerfile.eNB.ubuntu18
+18
-28
docker/Dockerfile.gNB.rhel8.2
docker/Dockerfile.gNB.rhel8.2
+16
-27
docker/Dockerfile.gNB.ubuntu18
docker/Dockerfile.gNB.ubuntu18
+18
-28
docker/Dockerfile.lteRU.rhel8.2
docker/Dockerfile.lteRU.rhel8.2
+14
-25
docker/Dockerfile.lteRU.ubuntu18
docker/Dockerfile.lteRU.ubuntu18
+14
-26
docker/Dockerfile.lteUE.rhel8.2
docker/Dockerfile.lteUE.rhel8.2
+16
-27
docker/Dockerfile.lteUE.ubuntu18
docker/Dockerfile.lteUE.ubuntu18
+18
-28
docker/Dockerfile.nrUE.rhel8.2
docker/Dockerfile.nrUE.rhel8.2
+17
-27
docker/Dockerfile.nrUE.ubuntu18
docker/Dockerfile.nrUE.ubuntu18
+19
-28
docker/Dockerfile.phySim.rhel8.2
docker/Dockerfile.phySim.rhel8.2
+2
-7
docker/Dockerfile.ran.rhel7.oc4-4
docker/Dockerfile.ran.rhel7.oc4-4
+1
-1
docker/Dockerfile.ran.rhel8.2.oc4-4
docker/Dockerfile.ran.rhel8.2.oc4-4
+1
-1
docker/README.md
docker/README.md
+24
-10
openair1/PHY/TOOLS/time_meas.c
openair1/PHY/TOOLS/time_meas.c
+3
-8
openair1/PHY/TOOLS/time_meas.h
openair1/PHY/TOOLS/time_meas.h
+1
-7
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+8
-41
No files found.
ci-scripts/cls_containerize.py
View file @
06b9e3f3
...
@@ -177,7 +177,8 @@ class Containerize():
...
@@ -177,7 +177,8 @@ class Containerize():
self
.
dockerfileprefix
=
'.rhel8.2'
self
.
dockerfileprefix
=
'.rhel8.2'
self
.
cliBuildOptions
=
'--no-cache --disable-compression'
self
.
cliBuildOptions
=
'--no-cache --disable-compression'
imageNames
=
[]
# we always build the ran-build image with all targets
imageNames
=
[(
'ran-build'
,
'build'
)]
result
=
re
.
search
(
'eNB'
,
self
.
imageKind
)
result
=
re
.
search
(
'eNB'
,
self
.
imageKind
)
# Creating a tupple with the imageName and the DockerFile prefix pattern on obelix
# Creating a tupple with the imageName and the DockerFile prefix pattern on obelix
if
result
is
not
None
:
if
result
is
not
None
:
...
@@ -197,8 +198,6 @@ class Containerize():
...
@@ -197,8 +198,6 @@ class Containerize():
imageNames
.
append
((
'oai-physim'
,
'phySim'
))
imageNames
.
append
((
'oai-physim'
,
'phySim'
))
if
self
.
host
==
'Ubuntu'
:
if
self
.
host
==
'Ubuntu'
:
imageNames
.
append
((
'oai-lte-ru'
,
'lteRU'
))
imageNames
.
append
((
'oai-lte-ru'
,
'lteRU'
))
if
len
(
imageNames
)
==
0
:
imageNames
.
append
((
'oai-enb'
,
'eNB'
))
# Workaround for some servers, we need to erase completely the workspace
# Workaround for some servers, we need to erase completely the workspace
if
self
.
forcedWorkspaceCleanup
:
if
self
.
forcedWorkspaceCleanup
:
...
@@ -215,37 +214,37 @@ class Containerize():
...
@@ -215,37 +214,37 @@ class Containerize():
mySSH
.
command
(
'sudo cp /etc/rhsm/ca/redhat-uep.pem tmp/ca/'
,
'\$'
,
5
)
mySSH
.
command
(
'sudo cp /etc/rhsm/ca/redhat-uep.pem tmp/ca/'
,
'\$'
,
5
)
mySSH
.
command
(
'sudo cp /etc/pki/entitlement/*.pem tmp/entitlement/'
,
'\$'
,
5
)
mySSH
.
command
(
'sudo cp /etc/pki/entitlement/*.pem tmp/entitlement/'
,
'\$'
,
5
)
sharedimage
=
'ran-build
'
baseImage
=
'ran-base
'
shared
Tag
=
'develop'
base
Tag
=
'develop'
force
Shared
ImageBuild
=
False
force
Base
ImageBuild
=
False
imageTag
=
'develop'
imageTag
=
'develop'
if
(
self
.
ranAllowMerge
):
if
(
self
.
ranAllowMerge
):
imageTag
=
'ci-temp'
imageTag
=
'ci-temp'
if
self
.
ranTargetBranch
==
'develop'
:
if
self
.
ranTargetBranch
==
'develop'
:
mySSH
.
command
(
'git diff HEAD..origin/develop -- docker/Dockerfile.
ran
'
+
self
.
dockerfileprefix
+
' | grep --colour=never -i INDEX'
,
'\$'
,
5
)
mySSH
.
command
(
'git diff HEAD..origin/develop -- docker/Dockerfile.
base
'
+
self
.
dockerfileprefix
+
' | grep --colour=never -i INDEX'
,
'\$'
,
5
)
result
=
re
.
search
(
'index'
,
mySSH
.
getBefore
())
result
=
re
.
search
(
'index'
,
mySSH
.
getBefore
())
if
result
is
not
None
:
if
result
is
not
None
:
force
Shared
ImageBuild
=
True
force
Base
ImageBuild
=
True
shared
Tag
=
'ci-temp'
base
Tag
=
'ci-temp'
else
:
else
:
force
Shared
ImageBuild
=
True
force
Base
ImageBuild
=
True
# Let's remove any previous run artifacts if still there
# Let's remove any previous run artifacts if still there
mySSH
.
command
(
self
.
cli
+
' image prune --force'
,
'\$'
,
30
)
mySSH
.
command
(
self
.
cli
+
' image prune --force'
,
'\$'
,
30
)
if
force
Shared
ImageBuild
:
if
force
Base
ImageBuild
:
mySSH
.
command
(
self
.
cli
+
' image rm '
+
sharedimage
+
':'
+
shared
Tag
+
' || true'
,
'\$'
,
30
)
mySSH
.
command
(
self
.
cli
+
' image rm '
+
baseImage
+
':'
+
base
Tag
+
' || true'
,
'\$'
,
30
)
for
image
,
pattern
in
imageNames
:
for
image
,
pattern
in
imageNames
:
mySSH
.
command
(
self
.
cli
+
' image rm '
+
image
+
':'
+
imageTag
+
' || true'
,
'\$'
,
30
)
mySSH
.
command
(
self
.
cli
+
' image rm '
+
image
+
':'
+
imageTag
+
' || true'
,
'\$'
,
30
)
# Build the
shared
image only on Push Events (not on Merge Requests)
# Build the
base
image only on Push Events (not on Merge Requests)
# On when the
shared
image docker file is being modified.
# On when the
base
image docker file is being modified.
if
force
Shared
ImageBuild
:
if
force
Base
ImageBuild
:
mySSH
.
command
(
self
.
cli
+
' build '
+
self
.
cliBuildOptions
+
' --target '
+
sharedimage
+
' --tag '
+
sharedimage
+
':'
+
sharedTag
+
' --file docker/Dockerfile.ran'
+
self
.
dockerfileprefix
+
' --build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" . > cmake_targets/log/ran-build
.log 2>&1'
,
'\$'
,
1600
)
mySSH
.
command
(
self
.
cli
+
' build '
+
self
.
cliBuildOptions
+
' --target '
+
baseImage
+
' --tag '
+
baseImage
+
':'
+
baseTag
+
' --file docker/Dockerfile.base'
+
self
.
dockerfileprefix
+
' --build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" . > cmake_targets/log/ran-base
.log 2>&1'
,
'\$'
,
1600
)
# First verify if the
shared
image was properly created.
# First verify if the
base
image was properly created.
status
=
True
status
=
True
mySSH
.
command
(
self
.
cli
+
' image inspect --format=
\'
Size = {{.Size}} bytes
\'
'
+
sharedimage
+
':'
+
shared
Tag
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' image inspect --format=
\'
Size = {{.Size}} bytes
\'
'
+
baseImage
+
':'
+
base
Tag
,
'\$'
,
5
)
if
mySSH
.
getBefore
().
count
(
'o such image'
)
!=
0
:
if
mySSH
.
getBefore
().
count
(
'o such image'
)
!=
0
:
logging
.
error
(
'
\u001B
[1m Could not build properly ran-b
uild
\u001B
[0m'
)
logging
.
error
(
'
\u001B
[1m Could not build properly ran-b
ase
\u001B
[0m'
)
status
=
False
status
=
False
else
:
else
:
result
=
re
.
search
(
'Size *= *(?P<size>[0-9\-]+) *bytes'
,
mySSH
.
getBefore
())
result
=
re
.
search
(
'Size *= *(?P<size>[0-9\-]+) *bytes'
,
mySSH
.
getBefore
())
...
@@ -253,20 +252,20 @@ class Containerize():
...
@@ -253,20 +252,20 @@ class Containerize():
imageSize
=
float
(
result
.
group
(
'size'
))
imageSize
=
float
(
result
.
group
(
'size'
))
imageSize
=
imageSize
/
1000
imageSize
=
imageSize
/
1000
if
imageSize
<
1000
:
if
imageSize
<
1000
:
logging
.
debug
(
'
\u001B
[1m ran-b
uild
size is '
+
(
'%.0f'
%
imageSize
)
+
' kbytes
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1m ran-b
ase
size is '
+
(
'%.0f'
%
imageSize
)
+
' kbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'ran-b
uild
'
]
=
str
(
round
(
imageSize
,
1
))
+
' kbytes'
self
.
allImagesSize
[
'ran-b
ase
'
]
=
str
(
round
(
imageSize
,
1
))
+
' kbytes'
else
:
else
:
imageSize
=
imageSize
/
1000
imageSize
=
imageSize
/
1000
if
imageSize
<
1000
:
if
imageSize
<
1000
:
logging
.
debug
(
'
\u001B
[1m ran-b
uild
size is '
+
(
'%.0f'
%
imageSize
)
+
' Mbytes
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1m ran-b
ase
size is '
+
(
'%.0f'
%
imageSize
)
+
' Mbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'ran-b
uild
'
]
=
str
(
round
(
imageSize
,
1
))
+
' Mbytes'
self
.
allImagesSize
[
'ran-b
ase
'
]
=
str
(
round
(
imageSize
,
1
))
+
' Mbytes'
else
:
else
:
imageSize
=
imageSize
/
1000
imageSize
=
imageSize
/
1000
logging
.
debug
(
'
\u001B
[1m ran-b
uild
size is '
+
(
'%.3f'
%
imageSize
)
+
' Gbytes
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1m ran-b
ase
size is '
+
(
'%.3f'
%
imageSize
)
+
' Gbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'ran-b
uild
'
]
=
str
(
round
(
imageSize
,
1
))
+
' Gbytes'
self
.
allImagesSize
[
'ran-b
ase
'
]
=
str
(
round
(
imageSize
,
1
))
+
' Gbytes'
else
:
else
:
logging
.
debug
(
'ran-b
uild
size is unknown'
)
logging
.
debug
(
'ran-b
ase
size is unknown'
)
# If the
shared
image failed, no need to continue
# If the
base
image failed, no need to continue
if
not
status
:
if
not
status
:
# Recover the name of the failed container?
# Recover the name of the failed container?
mySSH
.
command
(
self
.
cli
+
' ps --quiet --filter "status=exited" -n1 | xargs '
+
self
.
cli
+
' rm -f'
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' ps --quiet --filter "status=exited" -n1 | xargs '
+
self
.
cli
+
' rm -f'
,
'\$'
,
5
)
...
@@ -278,16 +277,18 @@ class Containerize():
...
@@ -278,16 +277,18 @@ class Containerize():
sys
.
exit
(
1
)
sys
.
exit
(
1
)
else
:
else
:
# Recover build logs, for the moment only possible when build is successful
# Recover build logs, for the moment only possible when build is successful
mySSH
.
command
(
self
.
cli
+
' create --name test '
+
sharedimage
+
':'
+
shared
Tag
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' create --name test '
+
baseImage
+
':'
+
base
Tag
,
'\$'
,
5
)
mySSH
.
command
(
'mkdir -p cmake_targets/log/ran-b
uild
'
,
'\$'
,
5
)
mySSH
.
command
(
'mkdir -p cmake_targets/log/ran-b
ase
'
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' cp test:/oai-ran/cmake_targets/log/. cmake_targets/log/ran-b
uild
'
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' cp test:/oai-ran/cmake_targets/log/. cmake_targets/log/ran-b
ase
'
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' rm -f test'
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' rm -f test'
,
'\$'
,
5
)
# Build the target image(s)
# Build the target image(s)
for
image
,
pattern
in
imageNames
:
for
image
,
pattern
in
imageNames
:
# the archived Dockerfiles have "ran-b
uild
:latest" as base image
# the archived Dockerfiles have "ran-b
ase
:latest" as base image
# we need to update them with proper tag
# we need to update them with proper tag
mySSH
.
command
(
'sed -i -e "s#'
+
sharedimage
+
':latest#'
+
sharedimage
+
':'
+
sharedTag
+
'#" docker/Dockerfile.'
+
pattern
+
self
.
dockerfileprefix
,
'\$'
,
5
)
mySSH
.
command
(
'sed -i -e "s#'
+
baseImage
+
':latest#'
+
baseImage
+
':'
+
baseTag
+
'#" docker/Dockerfile.'
+
pattern
+
self
.
dockerfileprefix
,
'\$'
,
5
)
if
image
!=
'ran-build'
:
mySSH
.
command
(
'sed -i -e "s#'
+
"ran-build"
+
':latest#'
+
"ran-build"
+
':'
+
baseTag
+
'#" docker/Dockerfile.'
+
pattern
+
self
.
dockerfileprefix
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' build '
+
self
.
cliBuildOptions
+
' --target '
+
image
+
' --tag '
+
image
+
':'
+
imageTag
+
' --file docker/Dockerfile.'
+
pattern
+
self
.
dockerfileprefix
+
' . > cmake_targets/log/'
+
image
+
'.log 2>&1'
,
'\$'
,
1200
)
mySSH
.
command
(
self
.
cli
+
' build '
+
self
.
cliBuildOptions
+
' --target '
+
image
+
' --tag '
+
image
+
':'
+
imageTag
+
' --file docker/Dockerfile.'
+
pattern
+
self
.
dockerfileprefix
+
' . > cmake_targets/log/'
+
image
+
'.log 2>&1'
,
'\$'
,
1200
)
# split the log
# split the log
mySSH
.
command
(
'mkdir -p cmake_targets/log/'
+
image
,
'\$'
,
5
)
mySSH
.
command
(
'mkdir -p cmake_targets/log/'
+
image
,
'\$'
,
5
)
...
@@ -318,7 +319,7 @@ class Containerize():
...
@@ -318,7 +319,7 @@ class Containerize():
logging
.
debug
(
'
\u001B
[1m '
+
image
+
' size is '
+
(
'%.3f'
%
imageSize
)
+
' Gbytes
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1m '
+
image
+
' size is '
+
(
'%.3f'
%
imageSize
)
+
' Gbytes
\u001B
[0m'
)
self
.
allImagesSize
[
image
]
=
str
(
round
(
imageSize
,
1
))
+
' Gbytes'
self
.
allImagesSize
[
image
]
=
str
(
round
(
imageSize
,
1
))
+
' Gbytes'
else
:
else
:
logging
.
debug
(
'ran-b
uild
size is unknown'
)
logging
.
debug
(
'ran-b
ase
size is unknown'
)
self
.
allImagesSize
[
image
]
=
'unknown'
self
.
allImagesSize
[
image
]
=
'unknown'
# Now pruning dangling images in between target builds
# Now pruning dangling images in between target builds
mySSH
.
command
(
self
.
cli
+
' image prune --force'
,
'\$'
,
30
)
mySSH
.
command
(
self
.
cli
+
' image prune --force'
,
'\$'
,
30
)
...
@@ -342,8 +343,8 @@ class Containerize():
...
@@ -342,8 +343,8 @@ class Containerize():
#Trying to identify the errors and warnings for each built images
#Trying to identify the errors and warnings for each built images
imageNames1
=
imageNames
imageNames1
=
imageNames
shared
=
(
'ran-build
'
,
'ran'
)
base
=
(
'ran-base
'
,
'ran'
)
imageNames1
.
insert
(
0
,
shared
)
imageNames1
.
insert
(
0
,
base
)
for
image
,
pattern
in
imageNames1
:
for
image
,
pattern
in
imageNames1
:
files
=
{}
files
=
{}
file_list
=
[
f
for
f
in
os
.
listdir
(
'build_log_'
+
self
.
testCase_id
+
'/'
+
image
)
if
os
.
path
.
isfile
(
os
.
path
.
join
(
'build_log_'
+
self
.
testCase_id
+
'/'
+
image
,
f
))
and
f
.
endswith
(
'.txt'
)]
file_list
=
[
f
for
f
in
os
.
listdir
(
'build_log_'
+
self
.
testCase_id
+
'/'
+
image
)
if
os
.
path
.
isfile
(
os
.
path
.
join
(
'build_log_'
+
self
.
testCase_id
+
'/'
+
image
,
f
))
and
f
.
endswith
(
'.txt'
)]
...
...
cmake_targets/CMakeLists.txt
View file @
06b9e3f3
This diff is collapsed.
Click to expand it.
cmake_targets/build_oai
View file @
06b9e3f3
...
@@ -27,9 +27,8 @@
...
@@ -27,9 +27,8 @@
set
-e
set
-e
# Include helper functions
# Include helper functions
ORIGIN_PATH
=
$PWD
THIS_SCRIPT_PATH
=
$(
dirname
$(
readlink
-f
"
$0
"
))
THIS_SCRIPT_PATH
=
$(
dirname
$(
readlink
-f
$0
))
source
"
$THIS_SCRIPT_PATH
"
/tools/build_helper
source
$THIS_SCRIPT_PATH
/tools/build_helper
# Set environment variables (OPENAIR_HOME, ...)
# Set environment variables (OPENAIR_HOME, ...)
set_openair_env
set_openair_env
...
@@ -38,7 +37,6 @@ set_openair_env
...
@@ -38,7 +37,6 @@ set_openair_env
gen_nvram_path
=
$OPENAIR_DIR
/targets/bin
gen_nvram_path
=
$OPENAIR_DIR
/targets/bin
conf_nvram_path
=
$OPENAIR_DIR
/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf
conf_nvram_path
=
$OPENAIR_DIR
/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf
MSC_GEN
=
0
XFORMS
=
"True"
XFORMS
=
"True"
SKIP_SHARED_LIB_FLAG
=
"False"
SKIP_SHARED_LIB_FLAG
=
"False"
UE_EXPANSION
=
"False"
UE_EXPANSION
=
"False"
...
@@ -106,7 +104,7 @@ Options
...
@@ -106,7 +104,7 @@ Options
--nrUE
--nrUE
Makes the NR UE softmodem
Makes the NR UE softmodem
--RU
--RU
Makes the OAI RRU
(without full stack)
Makes the OAI RRU
--UE
--UE
Makes the UE specific parts (ue_ip, usim, nvram) from the given configuration file
Makes the UE specific parts (ue_ip, usim, nvram) from the given configuration file
--UE-conf-nvram [configuration file]
--UE-conf-nvram [configuration file]
...
@@ -208,28 +206,24 @@ function main() {
...
@@ -208,28 +206,24 @@ function main() {
-g
|
--run-with-gdb
)
-g
|
--run-with-gdb
)
case
"
$2
"
in
case
"
$2
"
in
"Release"
)
"Release"
)
GDB
=
0
CMAKE_BUILD_TYPE
=
"Release"
CMAKE_BUILD_TYPE
=
"Release"
echo_info
"Will Compile without gdb symbols and with compiler optimization"
echo_info
"Will Compile without gdb symbols and with compiler optimization"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=Release"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=Release"
shift
shift
;;
;;
"RelWithDebInfo"
)
"RelWithDebInfo"
)
GDB
=
0
CMAKE_BUILD_TYPE
=
"RelWithDebInfo"
CMAKE_BUILD_TYPE
=
"RelWithDebInfo"
echo_info
"Will Compile with gdb symbols"
echo_info
"Will Compile with gdb symbols"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=1"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=1"
shift
shift
;;
;;
"MinSizeRel"
)
"MinSizeRel"
)
GDB
=
0
CMAKE_BUILD_TYPE
=
"MinSizeRel"
CMAKE_BUILD_TYPE
=
"MinSizeRel"
echo_info
"Will Compile for minimal exec size"
echo_info
"Will Compile for minimal exec size"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=MinSizeRel"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=MinSizeRel"
shift
shift
;;
;;
"Debug"
|
*
)
"Debug"
|
*
)
GDB
=
1
CMAKE_BUILD_TYPE
=
"Debug"
CMAKE_BUILD_TYPE
=
"Debug"
echo_info
"Will Compile with gdb symbols and disable compiler optimization"
echo_info
"Will Compile with gdb symbols and disable compiler optimization"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=Debug"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=Debug"
...
@@ -244,37 +238,30 @@ function main() {
...
@@ -244,37 +238,30 @@ function main() {
shift
;;
shift
;;
--eNB
)
--eNB
)
eNB
=
1
eNB
=
1
RU
=
0
echo_info
"Will compile eNB"
echo_info
"Will compile eNB"
shift
;;
shift
;;
--eNBocp
)
--eNBocp
)
eNBocp
=
1
eNBocp
=
1
RU
=
0
echo_info
"Will compile OCP eNB"
echo_info
"Will compile OCP eNB"
shift
;;
shift
;;
--gNB
)
--gNB
)
gNB
=
1
gNB
=
1
RU
=
0
NR
=
"True"
echo_info
"Will compile gNB"
echo_info
"Will compile gNB"
shift
;;
shift
;;
--RU
)
--RU
)
RU
=
1
RU
=
1
echo_info
"Will compile RRU"
echo_info
"Will compile RRU"
shift
;;
shift
;;
-a
|
--agent
)
-a
|
--agent
)
echo_info
"FlexRAN support is always compiled into the eNB"
echo_info
"FlexRAN support is always compiled into the eNB"
shift
;;
shift
;;
--UE
)
--UE
)
RU
=
0
UE
=
1
UE
=
1
echo_info
"Will compile UE"
echo_info
"Will compile UE"
shift
;;
shift
;;
--nrUE
)
--nrUE
)
RU
=
0
nrUE
=
1
nrUE
=
1
rfsimNas
=
1
rfsimNas
=
1
NR
=
"True"
echo_info
"Will compile NR UE"
echo_info
"Will compile NR UE"
shift
;;
shift
;;
--mu
)
--mu
)
...
@@ -282,10 +269,10 @@ function main() {
...
@@ -282,10 +269,10 @@ function main() {
echo_info
"Will compile with UE_EXPANSION"
echo_info
"Will compile with UE_EXPANSION"
shift
;;
shift
;;
--UE-conf-nvram
)
--UE-conf-nvram
)
conf_nvram_path
=
$(
readlink
-f
$2
)
conf_nvram_path
=
$(
readlink
-f
"
$2
"
)
shift
2
;;
shift
2
;;
--UE-gen-nvram
)
--UE-gen-nvram
)
gen_nvram_path
=
$(
readlink
-f
$2
)
gen_nvram_path
=
$(
readlink
-f
"
$2
"
)
shift
2
;;
shift
2
;;
-w
|
--hardware
)
-w
|
--hardware
)
# Use OAI_USRP as the key word USRP is used inside UHD driver
# Use OAI_USRP as the key word USRP is used inside UHD driver
...
@@ -309,7 +296,6 @@ function main() {
...
@@ -309,7 +296,6 @@ function main() {
shift
2
;;
shift
2
;;
-P
|
--phy_simulators
)
-P
|
--phy_simulators
)
SIMUS_PHY
=
1
SIMUS_PHY
=
1
RU
=
0
echo_info
"Will compile dlsim, ulsim, ..."
echo_info
"Will compile dlsim, ulsim, ..."
shift
;;
shift
;;
-S
|
--core_simulators
)
-S
|
--core_simulators
)
...
@@ -344,11 +330,11 @@ function main() {
...
@@ -344,11 +330,11 @@ function main() {
echo_info
"Will compile hw latency test program"
echo_info
"Will compile hw latency test program"
shift
;;
shift
;;
--verbose-ci
)
--verbose-ci
)
VERBOSE_CI
=
1
VERBOSE_CI
=
1
echo_info
"Will compile with verbose instructions in CI Docker env"
echo_info
"Will compile with verbose instructions in CI Docker env"
shift
;;
shift
;;
--verbose-compile
)
--verbose-compile
)
VERBOSE_COMPILE
=
1
VERBOSE_COMPILE
=
1
echo_info
"Will compile with verbose instructions"
echo_info
"Will compile with verbose instructions"
shift
;;
shift
;;
--cflags_processor
)
--cflags_processor
)
...
@@ -478,7 +464,7 @@ function main() {
...
@@ -478,7 +464,7 @@ function main() {
########################################################
########################################################
# to be discussed
# to be discussed
if
[
"
$eNB
"
=
"1"
-o
"
$eNBocp
"
=
"1"
-o
"
$gNB
"
=
"1"
-o
"
$RU
"
=
"1"
]
;
then
if
[
"
$eNB
"
=
"1"
-o
"
$eNBocp
"
=
"1"
-o
"
$gNB
"
=
"1"
]
;
then
if
[
"
$HW
"
=
"None"
-a
"
$TP
"
=
"None"
]
;
then
if
[
"
$HW
"
=
"None"
-a
"
$TP
"
=
"None"
]
;
then
echo_info
"No local radio head and no transport protocol selected"
echo_info
"No local radio head and no transport protocol selected"
fi
fi
...
@@ -629,7 +615,6 @@ function main() {
...
@@ -629,7 +615,6 @@ function main() {
echo
"set ( UE_TIMING_TRACE
$UE_TIMING_TRACE
)"
>>
$cmake_file
echo
"set ( UE_TIMING_TRACE
$UE_TIMING_TRACE
)"
>>
$cmake_file
echo
"set ( USRP_REC_PLAY
$USRP_REC_PLAY
)"
>>
$cmake_file
echo
"set ( USRP_REC_PLAY
$USRP_REC_PLAY
)"
>>
$cmake_file
echo
"set ( SKIP_SHARED_LIB_FLAG
$SKIP_SHARED_LIB_FLAG
)"
>>
$cmake_file
echo
"set ( SKIP_SHARED_LIB_FLAG
$SKIP_SHARED_LIB_FLAG
)"
>>
$cmake_file
echo
"set ( RU
$RU
)"
>>
$cmake_file
echo
"set ( ITTI_SIM
$ITTI_SIM
)"
>>
$cmake_file
echo
"set ( ITTI_SIM
$ITTI_SIM
)"
>>
$cmake_file
echo
"set ( SANITIZE_ADDRESS
$SANITIZE_ADDRESS
)"
>>
$cmake_file
echo
"set ( SANITIZE_ADDRESS
$SANITIZE_ADDRESS
)"
>>
$cmake_file
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
...
@@ -677,14 +662,10 @@ function main() {
...
@@ -677,14 +662,10 @@ function main() {
$build_dir
$config_libconfig_shlib
\
$build_dir
$config_libconfig_shlib
\
lib
$config_libconfig_shlib
.so
$dbin
/lib
$config_libconfig_shlib
.so
lib
$config_libconfig_shlib
.so
$dbin
/lib
$config_libconfig_shlib
.so
if
[
"
$RU
"
=
"0"
]
;
then
compilations
\
compilations
\
$build_dir
coding
\
$build_dir
coding
\
libcoding.so
$dbin
/libcoding.so
libcoding.so
$dbin
/libcoding.so
fi
fi
fi
fi
fi
...
...
docker/Dockerfile.
ran
.rhel8.2
→
docker/Dockerfile.
base
.rhel8.2
View file @
06b9e3f3
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-b
uild
FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-b
ase
ARG NEEDED_GIT_PROXY
ARG NEEDED_GIT_PROXY
ENV TZ=Europe/Paris
ENV TZ=Europe/Paris
ENV BUILD_UHD_FROM_SOURCE=True
ENV BUILD_UHD_FROM_SOURCE=True
...
...
docker/Dockerfile.
ran
.ubuntu18
→
docker/Dockerfile.
base
.ubuntu18
View file @
06b9e3f3
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ubuntu:bionic AS ran-b
uild
FROM ubuntu:bionic AS ran-b
ase
ARG NEEDED_GIT_PROXY
ARG NEEDED_GIT_PROXY
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Paris
ENV TZ=Europe/Paris
...
...
docker/Dockerfile.build.rhel8.2
0 → 100644
View file @
06b9e3f3
#/*
# * 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
# */
#---------------------------------------------------------------------
#
# Dockerfile for the Open-Air-Interface BUILD service
# Valid for Ubuntu 18.04
#
#---------------------------------------------------------------------
FROM ran-base:latest as ran-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --eNB --gNB --RU --UE --nrUE --ninja -w USRP --verbose-ci
docker/Dockerfile.build.ubuntu18
0 → 100644
View file @
06b9e3f3
#/*
# * 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
# */
#---------------------------------------------------------------------
#
# Dockerfile for the Open-Air-Interface BUILD service
# Valid for Ubuntu 18.04
#
#---------------------------------------------------------------------
FROM ran-base:latest as ran-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
# build all targets so final targets can be created afterwards
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --eNB --gNB --RU --UE --nrUE --ninja -w USRP --verbose-ci
docker/Dockerfile.eNB.rhel8.2
View file @
06b9e3f3
...
@@ -25,17 +25,9 @@
...
@@ -25,17 +25,9 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-build:latest AS enb-build
FROM ran-base:latest AS enb-base
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
FROM ran-build:latest AS enb-build
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --eNB --ninja -w USRP --verbose-ci
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
cp /oai-ran/docker/scripts/enb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
cp /oai-ran/docker/scripts/enb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
...
@@ -68,20 +60,18 @@ COPY --from=enb-build \
...
@@ -68,20 +60,18 @@ COPY --from=enb-build \
/oai-ran/docker/scripts/entrypoint.sh \
/oai-ran/docker/scripts/entrypoint.sh \
./
./
WORKDIR /usr/local/lib/
COPY --from=enb-build \
COPY --from=enb-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
cmake_targets/ran_build/build
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/liboai_iqplayer.so \
/oai-ran/cmake_targets/ran_build/build/liboai_iqplayer.so \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
./
COPY --from=enb-b
uild
\
COPY --from=enb-b
ase
\
/lib64/libconfig.so.9 \
/lib64/libconfig.so.9 \
/lib64/libblas.so.3 \
/lib64/libblas.so.3 \
/lib64/liblapack.so.3 \
/lib64/liblapack.so.3 \
...
@@ -100,16 +90,15 @@ COPY --from=enb-build \
...
@@ -100,16 +90,15 @@ COPY --from=enb-build \
/lib64/
/lib64/
# Now we are copying from builder-image the UHD files.
# Now we are copying from builder-image the UHD files.
COPY --from=enb-build /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=enb-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=enb-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
COPY --from=enb-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
COPY --from=enb-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=enb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
WORKDIR /usr/local/share/uhd/rfnoc
WORKDIR /usr/local/share/uhd/rfnoc
COPY --from=enb-b
uild
/usr/local/share/uhd/rfnoc/ .
COPY --from=enb-b
ase
/usr/local/share/uhd/rfnoc/ .
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for eNB
# Copy the relevant configuration files for eNB
...
...
docker/Dockerfile.eNB.ubuntu18
View file @
06b9e3f3
...
@@ -25,17 +25,9 @@
...
@@ -25,17 +25,9 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-build:latest AS enb-build
FROM ran-base:latest as enb-base
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
FROM ran-build:latest AS enb-build
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --eNB --ninja -w USRP --verbose-ci
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
cp /oai-ran/docker/scripts/enb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
cp /oai-ran/docker/scripts/enb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
...
@@ -75,25 +67,25 @@ COPY --from=enb-build \
...
@@ -75,25 +67,25 @@ COPY --from=enb-build \
/oai-ran/docker/scripts/entrypoint.sh \
/oai-ran/docker/scripts/entrypoint.sh \
./
./
WORKDIR /usr/local/lib/
COPY --from=enb-build \
COPY --from=enb-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
cmake_targets/ran_build/build
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/liboai_iqplayer.so \
/oai-ran/cmake_targets/ran_build/build/liboai_iqplayer.so \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
./
# Now we are copying from builder-image the UHD files.
# Now we are copying from builder-image the UHD files.
COPY --from=enb-build /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=enb-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=enb-base \
COPY --from=enb-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
/usr/local/lib/libuhd.so.3.15.0 \
WORKDIR /usr/lib/x86_64-linux-gnu
/usr/local/lib/libprotobuf-c.so.1 \
COPY --from=enb-build \
/usr/local/lib/
COPY --from=enb-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
COPY --from=enb-base \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
...
@@ -101,11 +93,9 @@ COPY --from=enb-build \
...
@@ -101,11 +93,9 @@ COPY --from=enb-build \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1 \
.
/
/usr/lib/x86_64-linux-gnu
/
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for eNB
# Copy the relevant configuration files for eNB
...
...
docker/Dockerfile.gNB.rhel8.2
View file @
06b9e3f3
...
@@ -25,17 +25,9 @@
...
@@ -25,17 +25,9 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-build:latest AS gnb-build
FROM ran-base:latest AS gnb-base
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
FROM ran-build:latest AS gnb-build
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --gNB --ninja -w USRP --verbose-ci
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/gnb_parameters.yaml && \
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/gnb_parameters.yaml && \
cp /oai-ran/docker/scripts/gnb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
cp /oai-ran/docker/scripts/gnb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
...
@@ -70,23 +62,21 @@ COPY --from=gnb-build \
...
@@ -70,23 +62,21 @@ COPY --from=gnb-build \
/oai-ran/docker/scripts/entrypoint.sh \
/oai-ran/docker/scripts/entrypoint.sh \
./
./
WORKDIR /usr/local/lib/
COPY --from=gnb-build \
COPY --from=gnb-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
cmake_targets/ran_build/build
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
./
COPY --from=gnb-b
uild
\
COPY --from=gnb-b
ase
\
/lib64/libconfig.so.9 \
/lib64/libconfig.so.9 \
/lib64/libforms.so.2 \
/lib64/libforms.so.2 \
/lib64/libblas.so.3 \
/lib64/libblas.so.3 \
...
@@ -106,16 +96,15 @@ COPY --from=gnb-build \
...
@@ -106,16 +96,15 @@ COPY --from=gnb-build \
/lib64/
/lib64/
# Now we are copying from builder-image the UHD files.
# Now we are copying from builder-image the UHD files.
COPY --from=gnb-build /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=gnb-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=gnb-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
COPY --from=gnb-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
COPY --from=gnb-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=gnb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
WORKDIR /usr/local/share/uhd/rfnoc
WORKDIR /usr/local/share/uhd/rfnoc
COPY --from=gnb-b
uild
/usr/local/share/uhd/rfnoc/ .
COPY --from=gnb-b
ase
/usr/local/share/uhd/rfnoc/ .
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for gNB
# Copy the relevant configuration files for gNB
...
...
docker/Dockerfile.gNB.ubuntu18
View file @
06b9e3f3
...
@@ -25,17 +25,9 @@
...
@@ -25,17 +25,9 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-build:latest AS gnb-build
FROM ran-base:latest as gnb-base
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
FROM ran-build:latest AS gnb-build
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --gNB --ninja -w USRP --verbose-ci
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/gnb_parameters.yaml && \
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/gnb_parameters.yaml && \
cp /oai-ran/docker/scripts/gnb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
cp /oai-ran/docker/scripts/gnb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
...
@@ -74,28 +66,28 @@ COPY --from=gnb-build \
...
@@ -74,28 +66,28 @@ COPY --from=gnb-build \
/oai-ran/docker/scripts/entrypoint.sh \
/oai-ran/docker/scripts/entrypoint.sh \
./
./
WORKDIR /usr/local/lib/
COPY --from=gnb-build \
COPY --from=gnb-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
cmake_targets/ran_build/build
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
./
# Now we are copying from builder-image the UHD files.
# Now we are copying from builder-image the UHD files.
COPY --from=gnb-build /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=gnb-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=gnb-base \
COPY --from=gnb-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
/usr/local/lib/libuhd.so.3.15.0 \
WORKDIR /usr/lib/x86_64-linux-gnu
/usr/local/lib/libprotobuf-c.so.1 \
COPY --from=gnb-build \
/usr/local/lib/
COPY --from=gnb-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
COPY --from=gnb-base \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
...
@@ -103,11 +95,9 @@ COPY --from=gnb-build \
...
@@ -103,11 +95,9 @@ COPY --from=gnb-build \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1 \
.
/
/usr/lib/x86_64-linux-gnu
/
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for gNB
# Copy the relevant configuration files for gNB
...
...
docker/Dockerfile.lteRU.rhel8.2
View file @
06b9e3f3
...
@@ -25,17 +25,9 @@
...
@@ -25,17 +25,9 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-build:latest AS ru-build
FROM ran-base:latest AS ru-base
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
FROM ran-build:latest AS ru-build
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --RU --ninja -w USRP --verbose-ci
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
cp /oai-ran/docker/scripts/lte_ru_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
cp /oai-ran/docker/scripts/lte_ru_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
...
@@ -65,17 +57,16 @@ COPY --from=ru-build \
...
@@ -65,17 +57,16 @@ COPY --from=ru-build \
/oai-ran/docker/scripts/entrypoint.sh \
/oai-ran/docker/scripts/entrypoint.sh \
.
.
WORKDIR /usr/local/lib/
COPY --from=ru-build \
COPY --from=ru-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
.
/
/usr/local/lib
/
COPY --from=ru-b
uild
\
COPY --from=ru-b
ase
\
/lib64/libconfig.so.9 \
/lib64/libconfig.so.9 \
/lib64/libblas.so.3 \
/lib64/libblas.so.3 \
/lib64/liblapack.so.3 \
/lib64/liblapack.so.3 \
...
@@ -94,16 +85,14 @@ COPY --from=ru-build \
...
@@ -94,16 +85,14 @@ COPY --from=ru-build \
/lib64/
/lib64/
# Copying from the ran-build image the USRP needed packages
# Copying from the ran-build image the USRP needed packages
COPY --from=ru-b
uild
/usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=ru-b
ase
/usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=ru-b
uild
/usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=ru-b
ase
/usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=ru-b
uild
/usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
COPY --from=ru-b
ase
/usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
WORKDIR /usr/local/share/uhd/rfnoc
WORKDIR /usr/local/share/uhd/rfnoc
COPY --from=ru-b
uild
/usr/local/share/uhd/rfnoc/ .
COPY --from=ru-b
ase
/usr/local/share/uhd/rfnoc/ .
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for RRU
# Copy the relevant configuration files for RRU
...
...
docker/Dockerfile.lteRU.ubuntu18
View file @
06b9e3f3
...
@@ -25,17 +25,9 @@
...
@@ -25,17 +25,9 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-build:latest AS ru-build
FROM ran-base:latest as ru-base
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
FROM ran-build:latest AS ru-build
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --RU --ninja -w USRP --verbose-ci
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/enb_parameters.yaml && \
cp /oai-ran/docker/scripts/lte_ru_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
cp /oai-ran/docker/scripts/lte_ru_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
...
@@ -70,34 +62,30 @@ COPY --from=ru-build \
...
@@ -70,34 +62,30 @@ COPY --from=ru-build \
/oai-ran/docker/scripts/entrypoint.sh \
/oai-ran/docker/scripts/entrypoint.sh \
./
./
WORKDIR /usr/local/lib/
COPY --from=ru-build \
COPY --from=ru-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
.
/
/usr/local/lib
/
# Now we are copying from builder-image the UHD files.
# Now we are copying from builder-image the UHD files.
COPY --from=ru-b
uild
/usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=ru-b
ase
/usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=ru-b
uild
/usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=ru-b
ase
/usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=ru-b
uild
/usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
COPY --from=ru-b
ase
/usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
WORKDIR /usr/lib/x86_64-linux-gnu
COPY --from=ru-base \
COPY --from=ru-build \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_serialization.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
.
/
/usr/lib/x86_64-linux-gnu
/
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for RRU
# Copy the relevant configuration files for RRU
...
...
docker/Dockerfile.lteUE.rhel8.2
View file @
06b9e3f3
...
@@ -25,17 +25,9 @@
...
@@ -25,17 +25,9 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-build:latest AS lte-ue-build
FROM ran-base:latest AS lte-ue-base
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
FROM ran-build:latest AS lte-ue-build
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --UE --ninja -w USRP --verbose-ci
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_parameters.yaml && \
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_parameters.yaml && \
python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_sim_parameters.yaml && \
python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_sim_parameters.yaml && \
...
@@ -72,20 +64,18 @@ COPY --from=lte-ue-build \
...
@@ -72,20 +64,18 @@ COPY --from=lte-ue-build \
/oai-ran/targets/bin/usim \
/oai-ran/targets/bin/usim \
./
./
WORKDIR /usr/local/lib/
COPY --from=lte-ue-build \
COPY --from=lte-ue-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
cmake_targets/ran_build/build
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libSIMU.so \
/oai-ran/cmake_targets/ran_build/build/libSIMU.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
./
COPY --from=lte-ue-b
uild
\
COPY --from=lte-ue-b
ase
\
/lib64/libconfig.so.9 \
/lib64/libconfig.so.9 \
/lib64/libblas.so.3 \
/lib64/libblas.so.3 \
/lib64/liblapack.so.3 \
/lib64/liblapack.so.3 \
...
@@ -104,16 +94,15 @@ COPY --from=lte-ue-build \
...
@@ -104,16 +94,15 @@ COPY --from=lte-ue-build \
/lib64/
/lib64/
# Now we are copying from builder-image the UHD files.
# Now we are copying from builder-image the UHD files.
COPY --from=lte-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=lte-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=lte-ue-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=lte-ue-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
COPY --from=lte-ue-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
COPY --from=lte-ue-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=lte-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
WORKDIR /usr/local/share/uhd/rfnoc
WORKDIR /usr/local/share/uhd/rfnoc
COPY --from=lte-ue-b
uild
/usr/local/share/uhd/rfnoc/ .
COPY --from=lte-ue-b
ase
/usr/local/share/uhd/rfnoc/ .
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for UE
# Copy the relevant configuration files for UE
...
...
docker/Dockerfile.lteUE.ubuntu18
View file @
06b9e3f3
...
@@ -25,17 +25,9 @@
...
@@ -25,17 +25,9 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-build:latest AS lte-ue-build
FROM ran-base:latest AS lte-ue-base
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
FROM ran-build:latest AS lte-ue-build
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --UE --ninja -w USRP --verbose-ci
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_parameters.yaml && \
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_parameters.yaml && \
python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_sim_parameters.yaml && \
python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_sim_parameters.yaml && \
...
@@ -79,26 +71,26 @@ COPY --from=lte-ue-build \
...
@@ -79,26 +71,26 @@ COPY --from=lte-ue-build \
/oai-ran/targets/bin/usim \
/oai-ran/targets/bin/usim \
./
./
WORKDIR /usr/local/lib/
COPY --from=lte-ue-build \
COPY --from=lte-ue-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
cmake_targets/ran_build/build
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libSIMU.so \
/oai-ran/cmake_targets/ran_build/build/libSIMU.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
./
# Now we are copying from builder-image the UHD files.
# Now we are copying from builder-image the UHD files.
COPY --from=lte-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=lte-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=lte-ue-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=lte-ue-base \
COPY --from=lte-ue-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
/usr/local/lib/libuhd.so.3.15.0 \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
COPY --from=lte-ue-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
WORKDIR /usr/lib/x86_64-linux-gnu
COPY --from=lte-ue-base \
COPY --from=lte-ue-build \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
...
@@ -106,11 +98,9 @@ COPY --from=lte-ue-build \
...
@@ -106,11 +98,9 @@ COPY --from=lte-ue-build \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1 \
.
/
/usr/lib/x86_64-linux-gnu
/
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for UE
# Copy the relevant configuration files for UE
...
...
docker/Dockerfile.nrUE.rhel8.2
View file @
06b9e3f3
...
@@ -25,18 +25,11 @@
...
@@ -25,18 +25,11 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-b
uild:latest AS nr-ue-build
FROM ran-b
ase:latest AS nr-ue-base
RUN rm -Rf /oai-ran
FROM ran-build:latest AS nr-ue-build
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
RUN cp /oai-ran/docker/scripts/nr_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --nrUE --ninja -w USRP --verbose-ci && \
cp /oai-ran/docker/scripts/nr_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
#start from scratch for target executable
#start from scratch for target executable
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-nr-ue
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-nr-ue
...
@@ -71,23 +64,21 @@ COPY --from=nr-ue-build \
...
@@ -71,23 +64,21 @@ COPY --from=nr-ue-build \
WORKDIR /opt/oai-nr-ue/etc
WORKDIR /opt/oai-nr-ue/etc
COPY --from=nr-ue-build /oai-ran/ci-scripts/conf_files/nr-ue-sim.conf .
COPY --from=nr-ue-build /oai-ran/ci-scripts/conf_files/nr-ue-sim.conf .
WORKDIR /usr/local/lib/
COPY --from=nr-ue-build \
COPY --from=nr-ue-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
cmake_targets/ran_build/build
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
./
COPY --from=nr-ue-b
uild
\
COPY --from=nr-ue-b
ase
\
/lib64/libconfig.so.9 \
/lib64/libconfig.so.9 \
/lib64/libblas.so.3 \
/lib64/libblas.so.3 \
/lib64/liblapack.so.3 \
/lib64/liblapack.so.3 \
...
@@ -107,16 +98,15 @@ COPY --from=nr-ue-build \
...
@@ -107,16 +98,15 @@ COPY --from=nr-ue-build \
/lib64/
/lib64/
# Now we are copying from builder-image the UHD files.
# Now we are copying from builder-image the UHD files.
COPY --from=nr-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=nr-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=nr-ue-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=nr-ue-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
COPY --from=nr-ue-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
COPY --from=nr-ue-base /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=nr-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
WORKDIR /usr/local/share/uhd/rfnoc
WORKDIR /usr/local/share/uhd/rfnoc
COPY --from=nr-ue-b
uild
/usr/local/share/uhd/rfnoc/ .
COPY --from=nr-ue-b
ase
/usr/local/share/uhd/rfnoc/ .
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for eNB
# Copy the relevant configuration files for eNB
...
...
docker/Dockerfile.nrUE.ubuntu18
View file @
06b9e3f3
...
@@ -25,18 +25,11 @@
...
@@ -25,18 +25,11 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-b
uild:latest AS nr-ue-build
FROM ran-b
ase:latest AS nr-ue-base
RUN rm -Rf /oai-ran
FROM ran-build:latest AS nr-ue-build
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
RUN cp /oai-ran/docker/scripts/nr_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --nrUE --ninja -w USRP --verbose-ci && \
cp /oai-ran/docker/scripts/nr_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
#start from scratch for target executable
#start from scratch for target executable
FROM ubuntu:bionic as oai-nr-ue
FROM ubuntu:bionic as oai-nr-ue
...
@@ -76,29 +69,29 @@ COPY --from=nr-ue-build \
...
@@ -76,29 +69,29 @@ COPY --from=nr-ue-build \
WORKDIR /opt/oai-nr-ue/etc
WORKDIR /opt/oai-nr-ue/etc
COPY --from=nr-ue-build /oai-ran/ci-scripts/conf_files/nr-ue-sim.conf .
COPY --from=nr-ue-build /oai-ran/ci-scripts/conf_files/nr-ue-sim.conf .
WORKDIR /usr/local/lib/
COPY --from=nr-ue-build \
COPY --from=nr-ue-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
cmake_targets/ran_build/build
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
/oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
./
# Now we are copying from builder-image the UHD files.
# Now we are copying from builder-image the UHD files.
COPY --from=nr-ue-build /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=nr-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=nr-ue-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=nr-ue-base \
COPY --from=nr-ue-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
/usr/local/lib/libuhd.so.3.15.0 \
/usr/local/lib/libprotobuf-c.so.1 \
/usr/local/lib/
COPY --from=nr-ue-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
WORKDIR /usr/lib/x86_64-linux-gnu
COPY --from=nr-ue-base \
COPY --from=nr-ue-build \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
...
@@ -106,11 +99,9 @@ COPY --from=nr-ue-build \
...
@@ -106,11 +99,9 @@ COPY --from=nr-ue-build \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1 \
.
/
/usr/lib/x86_64-linux-gnu
/
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so.Rel15 /usr/local/lib/liboai_transpro.so" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so.Rel15 /usr/local/lib/liboai_device.so" && \
/bin/bash -c "ln -s /usr/local/lib/librfsimulator.so.Rel15 /usr/local/lib/librfsimulator.so" && \
ldconfig
ldconfig
WORKDIR /opt/oai-nr-ue
WORKDIR /opt/oai-nr-ue
...
...
docker/Dockerfile.phySim.rhel8.2
View file @
06b9e3f3
...
@@ -25,11 +25,7 @@
...
@@ -25,11 +25,7 @@
#
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM ran-build:develop AS phy-sim-build
FROM ran-base:latest AS phy-sim-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
#run build_oai to build the target image
#run build_oai to build the target image
RUN /bin/sh oaienv && \
RUN /bin/sh oaienv && \
...
@@ -73,7 +69,6 @@ COPY --from=phy-sim-build \
...
@@ -73,7 +69,6 @@ COPY --from=phy-sim-build \
/oai-ran/targets/bin/smallblocktest.Rel15 \
/oai-ran/targets/bin/smallblocktest.Rel15 \
./
./
WORKDIR /usr/local/lib/
COPY --from=phy-sim-build \
COPY --from=phy-sim-build \
/oai-ran/targets/bin/libcoding.so \
/oai-ran/targets/bin/libcoding.so \
/lib64/liblapacke.so.3 \
/lib64/liblapacke.so.3 \
...
@@ -90,7 +85,7 @@ COPY --from=phy-sim-build \
...
@@ -90,7 +85,7 @@ COPY --from=phy-sim-build \
/oai-ran/cmake_targets/phy_simulators/build/libSIMU.so \
/oai-ran/cmake_targets/phy_simulators/build/libSIMU.so \
/oai-ran/cmake_targets/phy_simulators/build/libldpc.so \
/oai-ran/cmake_targets/phy_simulators/build/libldpc.so \
/oai-ran/cmake_targets/phy_simulators/build/libldpc_orig.so \
/oai-ran/cmake_targets/phy_simulators/build/libldpc_orig.so \
.
/
/usr/local/lib
/
RUN ldconfig
RUN ldconfig
...
...
docker/Dockerfile.ran.rhel7.oc4-4
View file @
06b9e3f3
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM registry.access.redhat.com/ubi7/ubi:latest AS ran-b
uild
FROM registry.access.redhat.com/ubi7/ubi:latest AS ran-b
ase
# Entitlements and RHSM configurations are Open-Shift Secret and ConfigMaps
# Entitlements and RHSM configurations are Open-Shift Secret and ConfigMaps
# It is pre-requisite
# It is pre-requisite
...
...
docker/Dockerfile.ran.rhel8.2.oc4-4
View file @
06b9e3f3
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
#---------------------------------------------------------------------
#---------------------------------------------------------------------
FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-b
uild
FROM registry.access.redhat.com/ubi8/ubi:latest AS ran-b
ase
# Entitlements and RHSM configurations are Open-Shift Secret and ConfigMaps
# Entitlements and RHSM configurations are Open-Shift Secret and ConfigMaps
# It is pre-requisite
# It is pre-requisite
...
...
docker/README.md
View file @
06b9e3f3
...
@@ -29,12 +29,18 @@
...
@@ -29,12 +29,18 @@
For all platforms, the strategy for building docker/podman images is the same:
For all platforms, the strategy for building docker/podman images is the same:
*
First we create a common shared image that contains:
*
First we create a common shared image
`ran-base`
that contains:
-
the latest source files (by using the
`COPY`
function)
-
the latest source files (by using the
`COPY`
function)
-
all the means to build an OAI RAN executable
-
all the means to build an OAI RAN executable
*
all packages, compilers, ...
*
all packages, compilers, ...
*
especially UHD is installed
*
especially UHD is installed
*
Then from this shared image (
`ran-build`
) we can build target images for:
*
Then, from the
`ran-base`
shared image, we create a shared image
`ran-build`
in which all targets are compiled:
-
eNB
-
gNB
-
lte-UE
-
nr-UE
*
Then from the
`ran-build`
shared image we can build target images for:
-
eNB
-
eNB
-
gNB
-
gNB
-
lte-UE
-
lte-UE
...
@@ -58,7 +64,8 @@ Dockerfiles are named with the following naming convention: `Dockerfile.${target
...
@@ -58,7 +64,8 @@ Dockerfiles are named with the following naming convention: `Dockerfile.${target
Targets can be:
Targets can be:
-
`ran`
for an image named
`ran-build`
(the shared image)
-
`base`
for an image named
`ran-base`
(shared image)
-
`ran`
for an image named
`ran-build`
(shared image)
-
`eNB`
for an image named
`oai-enb`
-
`eNB`
for an image named
`oai-enb`
-
`gNB`
for an image named
`oai-gnb`
-
`gNB`
for an image named
`oai-gnb`
-
`lteUE`
for an image named
`oai-lte-ue`
-
`lteUE`
for an image named
`oai-lte-ue`
...
@@ -85,9 +92,11 @@ For more details in build within a Openshift Cluster, see [OpenShift README](../
...
@@ -85,9 +92,11 @@ For more details in build within a Openshift Cluster, see [OpenShift README](../
*
`docker-ce`
installed
*
`docker-ce`
installed
*
Pulling
`ubuntu:bionic`
from DockerHub
*
Pulling
`ubuntu:bionic`
from DockerHub
## 3.2. Building the shared image ##
## 3.2. Building the shared image
s
##
This can be done starting
`2020.w41`
tag on the
`develop`
branch, or any branch that includes that tag.
Note: This can be done starting
`2020.XX`
tag on the
`develop`
branch, or any branch that includes that tag.
There are two shared images: one that has all dependencies, and a second that compiles all targets (eNB, gNB, [nr]UE).
```
bash
```
bash
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
...
@@ -98,21 +107,25 @@ git checkout develop
...
@@ -98,21 +107,25 @@ git checkout develop
In our Eurecom/OSA environment we need to pass a GIT proxy.
In our Eurecom/OSA environment we need to pass a GIT proxy.
```
bash
```
bash
docker build
--target
ran-build
--tag
ran-build:latest
--file
docker/Dockerfile.ran.ubuntu18
--build-arg
NEEDED_GIT_PROXY
=
"http://proxy.eurecom.fr:8080"
.
docker build
--target
ran-base
--tag
ran-base:latest
--file
docker/Dockerfile.base.ubuntu18
--build-arg
NEEDED_GIT_PROXY
=
"http://proxy.eurecom.fr:8080"
.
docker build
--target
ran-build
--tag
ran-build:latest
--file
docker/Dockerfile.build.ubuntu18
--build-arg
NEEDED_GIT_PROXY
=
"http://proxy.eurecom.fr:8080"
.
```
```
if you don't need it, do NOT pass any value:
if you don't need it, do NOT pass any value:
```
bash
```
bash
docker build
--target
ran-build
--tag
ran-build:latest
--file
docker/Dockerfile.ran.ubuntu18 .
docker build
--target
ran-base
--tag
ran-base:latest
--file
docker/Dockerfile.base.ubuntu18
.
docker build
--target
ran-build
--tag
ran-build:latest
--file
docker/Dockerfile.build.ubuntu18 .
```
```
After
a while
:
After
building both
:
```
bash
```
bash
docker image
ls
docker image
ls
REPOSITORY TAG IMAGE ID CREATED SIZE
REPOSITORY TAG IMAGE ID CREATED SIZE
ran-build latest ccb721bc0b57 1 minute ago 4.06GB
ran-build latest f2633a7f5102 1 minute ago 6.81GB
ran-base latest 5c9c02a5b4a8 1 minute ago 2.4GB
...
...
```
```
...
@@ -131,7 +144,8 @@ docker image ls
...
@@ -131,7 +144,8 @@ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
REPOSITORY TAG IMAGE ID CREATED SIZE
oai-enb latest 25ddbd8b7187 1 minute ago 516MB
oai-enb latest 25ddbd8b7187 1 minute ago 516MB
<none> <none> 875ea3b05b60 8 minutes ago 8.18GB
<none> <none> 875ea3b05b60 8 minutes ago 8.18GB
ran-build latest ccb721bc0b57 1 hour ago 4.06GB
ran-build latest f2633a7f5102 1 hour ago 6.81GB
ran-base latest 5c9c02a5b4a8 1 hour ago 2.4GB
```
```
Do not forget to remove the temporary image:
Do not forget to remove the temporary image:
...
...
openair1/PHY/TOOLS/time_meas.c
View file @
06b9e3f3
...
@@ -25,20 +25,17 @@
...
@@ -25,20 +25,17 @@
#include <unistd.h>
#include <unistd.h>
#include <string.h>
#include <string.h>
#include "assertions.h"
#include "assertions.h"
#ifndef PHYSIM
#include <pthread.h>
#include <pthread.h>
#include "common/config/config_userapi.h"
#include "common/config/config_userapi.h"
#include <common/utils/threadPool/thread-pool.h>
#endif
// global var for openair performance profiler
// global var for openair performance profiler
int
opp_enabled
=
0
;
int
opp_enabled
=
0
;
double
cpu_freq_GHz
__attribute__
((
aligned
(
32
)));
double
cpu_freq_GHz
__attribute__
((
aligned
(
32
)));
double
cpu_freq_GHz
__attribute__
((
aligned
(
32
)))
=
0
.
0
;
double
cpu_freq_GHz
__attribute__
((
aligned
(
32
)))
=
0
.
0
;
#ifndef PHYSIM
static
uint32_t
max_cpumeasur
;
static
uint32_t
max_cpumeasur
;
static
time_stats_t
**
measur_table
;
static
time_stats_t
**
measur_table
;
notifiedFIFO_t
measur_fifo
;
notifiedFIFO_t
measur_fifo
;
#endif
double
get_cpu_freq_GHz
(
void
)
double
get_cpu_freq_GHz
(
void
)
{
{
if
(
cpu_freq_GHz
<
1
)
{
if
(
cpu_freq_GHz
<
1
)
{
...
@@ -187,7 +184,6 @@ double get_time_meas_us(time_stats_t *ts)
...
@@ -187,7 +184,6 @@ double get_time_meas_us(time_stats_t *ts)
return
0
;
return
0
;
}
}
#ifndef PHYSIM
/* function for the asynchronous measurment module: cpu stat are sent to a dedicated thread
/* function for the asynchronous measurment module: cpu stat are sent to a dedicated thread
* which is in charge of computing the cpu time spent in a given function/algorithm...
* which is in charge of computing the cpu time spent in a given function/algorithm...
*/
*/
...
@@ -294,4 +290,3 @@ void end_meas(void) {
...
@@ -294,4 +290,3 @@ void end_meas(void) {
msg
->
msgid
=
TIMESTAT_MSGID_END
;
msg
->
msgid
=
TIMESTAT_MSGID_END
;
pushNotifiedFIFO
(
&
measur_fifo
,
nfe
);
pushNotifiedFIFO
(
&
measur_fifo
,
nfe
);
}
}
#endif
openair1/PHY/TOOLS/time_meas.h
View file @
06b9e3f3
...
@@ -31,9 +31,7 @@
...
@@ -31,9 +31,7 @@
#include <pthread.h>
#include <pthread.h>
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/types.h>
#ifndef PHYSIM
#include "common/utils/threadPool/thread-pool.h"
#include "common/utils/threadPool/thread-pool.h"
#endif
// global var to enable openair performance profiler
// global var to enable openair performance profiler
extern
int
opp_enabled
;
extern
int
opp_enabled
;
extern
double
cpu_freq_GHz
__attribute__
((
aligned
(
32
)));;
extern
double
cpu_freq_GHz
__attribute__
((
aligned
(
32
)));;
...
@@ -72,10 +70,8 @@ typedef struct {
...
@@ -72,10 +70,8 @@ typedef struct {
char
*
meas_name
;
/*!< \brief name to use when printing the measure (not used for PHY simulators)*/
char
*
meas_name
;
/*!< \brief name to use when printing the measure (not used for PHY simulators)*/
int
meas_index
;
/*!< \brief index of this measure in the measure array (not used for PHY simulators)*/
int
meas_index
;
/*!< \brief index of this measure in the measure array (not used for PHY simulators)*/
int
meas_enabled
;
/*!< \brief per measure enablement flag. send_meas tests this flag, unused today in start_meas and stop_meas*/
int
meas_enabled
;
/*!< \brief per measure enablement flag. send_meas tests this flag, unused today in start_meas and stop_meas*/
#ifndef PHYSIM
notifiedFIFO_elt_t
*
tpoolmsg
;
/*!< \brief message pushed to the cpu measurment queue to report a measure START or STOP */
notifiedFIFO_elt_t
*
tpoolmsg
;
/*!< \brief message pushed to the cpu measurment queue to report a measure START or STOP */
time_stats_msg_t
*
tstatptr
;
/*!< \brief pointer to the time_stats_msg_t data in the tpoolmsg, stored here for perf considerations*/
time_stats_msg_t
*
tstatptr
;
/*!< \brief pointer to the time_stats_msg_t data in the tpoolmsg, stored here for perf considerations*/
#endif
}
time_stats_t
;
}
time_stats_t
;
#define MEASURE_ENABLED(X) (X->meas_enabled)
#define MEASURE_ENABLED(X) (X->meas_enabled)
...
@@ -165,7 +161,6 @@ static inline void copy_meas(time_stats_t *dst_ts,time_stats_t *src_ts) {
...
@@ -165,7 +161,6 @@ static inline void copy_meas(time_stats_t *dst_ts,time_stats_t *src_ts) {
}
}
}
}
#ifndef PHYSIM
extern
notifiedFIFO_t
measur_fifo
;
extern
notifiedFIFO_t
measur_fifo
;
#define CPUMEASUR_SECTION "cpumeasur"
#define CPUMEASUR_SECTION "cpumeasur"
...
@@ -187,5 +182,4 @@ extern notifiedFIFO_t measur_fifo;
...
@@ -187,5 +182,4 @@ extern notifiedFIFO_t measur_fifo;
}
}
void
end_meas
(
void
);
void
end_meas
(
void
);
#endif //ifndef PHYSIM
#endif
#endif
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
06b9e3f3
...
@@ -844,11 +844,7 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int gNB_
...
@@ -844,11 +844,7 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int gNB_
}
else
AssertFatal
(
1
==
0
,
"Not RA_PDSCH, SI_PDSCH or PDSCH
\n
"
);
}
else
AssertFatal
(
1
==
0
,
"Not RA_PDSCH, SI_PDSCH or PDSCH
\n
"
);
stop_meas
(
&
ue
->
dlsch_llr_stats_parallelization
[
proc
->
thread_id
][
slot
]);
stop_meas
(
&
ue
->
dlsch_llr_stats_parallelization
[
proc
->
thread_id
][
slot
]);
#if PHYSIM
printf
(
"[AbsSFN %d.%d] LLR Computation Symbol %d %5.2f
\n
"
,
frame_rx
,
nr_slot_rx
,
m
,
ue
->
dlsch_llr_stats_parallelization
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_D
(
PHY
,
"[AbsSFN %d.%d] LLR Computation Symbol %d %5.2f
\n
"
,
frame_rx
,
nr_slot_rx
,
m
,
ue
->
dlsch_llr_stats_parallelization
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"[AbsSFN %d.%d] LLR Computation Symbol %d %5.2f
\n
"
,
frame_rx
,
nr_slot_rx
,
m
,
ue
->
dlsch_llr_stats_parallelization
[
proc
->
thread_id
][
slot
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
if
(
first_symbol_flag
)
{
if
(
first_symbol_flag
)
{
proc
->
first_symbol_available
=
1
;
proc
->
first_symbol_available
=
1
;
...
@@ -1028,17 +1024,11 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
...
@@ -1028,17 +1024,11 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
stop_meas
(
&
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
]);
stop_meas
(
&
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
]);
#if PHYSIM
printf
(
" --> Unscrambling for CW0 %5.3f
\n
"
,
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
printf
(
"AbsSubframe %d.%d --> LDPC Decoding for CW0 %5.3f
\n
"
,
frame_rx
%
1024
,
nr_slot_rx
,(
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
].
p_time
)
/
(
cpuf
*
1000
.
0
));
#else
LOG_I
(
PHY
,
" --> Unscrambling for CW0 %5.3f
\n
"
,
LOG_I
(
PHY
,
" --> Unscrambling for CW0 %5.3f
\n
"
,
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
LOG_I
(
PHY
,
"AbsSubframe %d.%d --> LDPC Decoding for CW0 %5.3f
\n
"
,
LOG_I
(
PHY
,
"AbsSubframe %d.%d --> LDPC Decoding for CW0 %5.3f
\n
"
,
frame_rx
%
1024
,
nr_slot_rx
,(
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
].
p_time
)
/
(
cpuf
*
1000
.
0
));
frame_rx
%
1024
,
nr_slot_rx
,(
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
].
p_time
)
/
(
cpuf
*
1000
.
0
));
#endif
if
(
is_cw1_active
)
{
if
(
is_cw1_active
)
{
// start ldpc decode for CW 1
// start ldpc decode for CW 1
...
@@ -1091,19 +1081,12 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
...
@@ -1091,19 +1081,12 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
}
}
stop_meas
(
&
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
]);
stop_meas
(
&
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
]);
#if PHYSIM
printf
(
" --> Unscrambling for CW1 %5.3f
\n
"
,
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
printf
(
"AbsSubframe %d.%d --> ldpc Decoding for CW1 %5.3f
\n
"
,
frame_rx
%
1024
,
nr_slot_rx
,(
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
].
p_time
)
/
(
cpuf
*
1000
.
0
));
#else
LOG_D
(
PHY
,
" --> Unscrambling for CW1 %5.3f
\n
"
,
LOG_D
(
PHY
,
" --> Unscrambling for CW1 %5.3f
\n
"
,
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"AbsSubframe %d.%d --> ldpc Decoding for CW1 %5.3f
\n
"
,
LOG_D
(
PHY
,
"AbsSubframe %d.%d --> ldpc Decoding for CW1 %5.3f
\n
"
,
frame_rx
%
1024
,
nr_slot_rx
,(
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
].
p_time
)
/
(
cpuf
*
1000
.
0
));
frame_rx
%
1024
,
nr_slot_rx
,(
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
].
p_time
)
/
(
cpuf
*
1000
.
0
));
#endif
LOG_D
(
PHY
,
"AbsSubframe %d.%d --> ldpc Decoding for CW1 %5.3f
\n
"
,
LOG_D
(
PHY
,
"AbsSubframe %d.%d --> ldpc Decoding for CW1 %5.3f
\n
"
,
frame_rx
%
1024
,
nr_slot_rx
,(
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
].
p_time
)
/
(
cpuf
*
1000
.
0
));
frame_rx
%
1024
,
nr_slot_rx
,(
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
].
p_time
)
/
(
cpuf
*
1000
.
0
));
...
@@ -1413,11 +1396,8 @@ void *UE_thread_slot1_dl_processing(void *arg) {
...
@@ -1413,11 +1396,8 @@ void *UE_thread_slot1_dl_processing(void *arg) {
stop_meas
(
&
ue
->
ue_front_end_per_slot_stat
[
proc
->
thread_id
][
1
]);
stop_meas
(
&
ue
->
ue_front_end_per_slot_stat
[
proc
->
thread_id
][
1
]);
#if PHYSIM
printf
(
"[AbsSFN %d.%d] Slot1: FFT + Channel Estimate + Pdsch Proc Slot0 %5.2f
\n
"
,
frame_rx
,
nr_slot_rx
,
ue
->
ue_front_end_per_slot_stat
[
proc
->
thread_id
][
1
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_D
(
PHY
,
"[AbsSFN %d.%d] Slot1: FFT + Channel Estimate + Pdsch Proc Slot0 %5.2f
\n
"
,
frame_rx
,
nr_slot_rx
,
ue
->
ue_front_end_per_slot_stat
[
proc
->
thread_id
][
1
].
p_time
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"[AbsSFN %d.%d] Slot1: FFT + Channel Estimate + Pdsch Proc Slot0 %5.2f
\n
"
,
frame_rx
,
nr_slot_rx
,
ue
->
ue_front_end_per_slot_stat
[
proc
->
thread_id
][
1
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
//wait until pdcch is decoded
//wait until pdcch is decoded
...
@@ -1507,11 +1487,8 @@ void *UE_thread_slot1_dl_processing(void *arg) {
...
@@ -1507,11 +1487,8 @@ void *UE_thread_slot1_dl_processing(void *arg) {
//printf("Set available LLR slot1 to 1 AbsSubframe %d.%d \n",frame_rx,nr_slot_rx);
//printf("Set available LLR slot1 to 1 AbsSubframe %d.%d \n",frame_rx,nr_slot_rx);
stop_meas
(
&
ue
->
pdsch_procedures_per_slot_stat
[
proc
->
thread_id
][
1
]);
stop_meas
(
&
ue
->
pdsch_procedures_per_slot_stat
[
proc
->
thread_id
][
1
]);
#if PHYSIM
printf
(
"[AbsSFN %d.%d] Slot1: LLR Computation %5.2f
\n
"
,
frame_rx
,
nr_slot_rx
,
ue
->
pdsch_procedures_per_slot_stat
[
proc
->
thread_id
][
1
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_D
(
PHY
,
"[AbsSFN %d.%d] Slot1: LLR Computation %5.2f
\n
"
,
frame_rx
,
nr_slot_rx
,
ue
->
pdsch_procedures_per_slot_stat
[
proc
->
thread_id
][
1
].
p_time
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"[AbsSFN %d.%d] Slot1: LLR Computation %5.2f
\n
"
,
frame_rx
,
nr_slot_rx
,
ue
->
pdsch_procedures_per_slot_stat
[
proc
->
thread_id
][
1
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
if
(
pthread_mutex_lock
(
&
proc
->
mutex_slot1_dl_processing
)
!=
0
)
{
if
(
pthread_mutex_lock
(
&
proc
->
mutex_slot1_dl_processing
)
!=
0
)
{
LOG_E
(
PHY
,
"[SCHED][UE] error locking mutex for UE RXTX
\n
"
);
LOG_E
(
PHY
,
"[SCHED][UE] error locking mutex for UE RXTX
\n
"
);
...
@@ -1880,14 +1857,9 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
...
@@ -1880,14 +1857,9 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
dlsch_parallel
);
dlsch_parallel
);
stop_meas
(
&
ue
->
dlsch_procedures_stat
[
proc
->
thread_id
]);
stop_meas
(
&
ue
->
dlsch_procedures_stat
[
proc
->
thread_id
]);
#if PHYSIM
printf
(
"[SFN %d] Slot1: Pdsch Proc %5.2f
\n
"
,
nr_slot_rx
,
ue
->
pdsch_procedures_stat
[
proc
->
thread_id
].
p_time
/
(
cpuf
*
1000
.
0
));
printf
(
"[SFN %d] Slot0 Slot1: Dlsch Proc %5.2f
\n
"
,
nr_slot_rx
,
ue
->
dlsch_procedures_stat
[
proc
->
thread_id
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_D
(
PHY
,
"[SFN %d] Slot1: Pdsch Proc %5.2f
\n
"
,
nr_slot_rx
,
ue
->
pdsch_procedures_stat
[
proc
->
thread_id
].
p_time
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"[SFN %d] Slot1: Pdsch Proc %5.2f
\n
"
,
nr_slot_rx
,
ue
->
pdsch_procedures_stat
[
proc
->
thread_id
].
p_time
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"[SFN %d] Slot0 Slot1: Dlsch Proc %5.2f
\n
"
,
nr_slot_rx
,
ue
->
dlsch_procedures_stat
[
proc
->
thread_id
].
p_time
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"[SFN %d] Slot0 Slot1: Dlsch Proc %5.2f
\n
"
,
nr_slot_rx
,
ue
->
dlsch_procedures_stat
[
proc
->
thread_id
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
// deactivate dlsch once dlsch proc is done
// deactivate dlsch once dlsch proc is done
...
@@ -1963,9 +1935,7 @@ if (nr_slot_rx==9) {
...
@@ -1963,9 +1935,7 @@ if (nr_slot_rx==9) {
}
}
stop_meas
(
&
ue
->
generic_stat
);
stop_meas
(
&
ue
->
generic_stat
);
#if PHYSIM
LOG_D
(
PHY
,
"after tubo until end of Rx %5.2f
\n
"
,
ue
->
generic_stat
.
p_time
/
(
cpuf
*
1000
.
0
));
printf
(
"after tubo until end of Rx %5.2f
\n
"
,
ue
->
generic_stat
.
p_time
/
(
cpuf
*
1000
.
0
));
#endif
#ifdef EMOS
#ifdef EMOS
phy_procedures_emos_UE_RX
(
ue
,
slot
,
gNB_id
);
phy_procedures_emos_UE_RX
(
ue
,
slot
,
gNB_id
);
...
@@ -1975,11 +1945,8 @@ phy_procedures_emos_UE_RX(ue,slot,gNB_id);
...
@@ -1975,11 +1945,8 @@ phy_procedures_emos_UE_RX(ue,slot,gNB_id);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_RX
,
VCD_FUNCTION_OUT
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_RX
,
VCD_FUNCTION_OUT
);
stop_meas
(
&
ue
->
phy_proc_rx
[
proc
->
thread_id
]);
stop_meas
(
&
ue
->
phy_proc_rx
[
proc
->
thread_id
]);
#if PHYSIM
printf
(
"------FULL RX PROC [SFN %d]: %5.2f ------
\n
"
,
nr_slot_rx
,
ue
->
phy_proc_rx
[
proc
->
thread_id
].
p_time
/
(
cpuf
*
1000
.
0
));
#else
LOG_D
(
PHY
,
"------FULL RX PROC [SFN %d]: %5.2f ------
\n
"
,
nr_slot_rx
,
ue
->
phy_proc_rx
[
proc
->
thread_id
].
p_time
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"------FULL RX PROC [SFN %d]: %5.2f ------
\n
"
,
nr_slot_rx
,
ue
->
phy_proc_rx
[
proc
->
thread_id
].
p_time
/
(
cpuf
*
1000
.
0
));
#endif
//#endif //pdsch
//#endif //pdsch
...
...
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