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():
self
.
dockerfileprefix
=
'.rhel8.2'
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
)
# Creating a tupple with the imageName and the DockerFile prefix pattern on obelix
if
result
is
not
None
:
...
...
@@ -197,8 +198,6 @@ class Containerize():
imageNames
.
append
((
'oai-physim'
,
'phySim'
))
if
self
.
host
==
'Ubuntu'
:
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
if
self
.
forcedWorkspaceCleanup
:
...
...
@@ -215,37 +214,37 @@ class Containerize():
mySSH
.
command
(
'sudo cp /etc/rhsm/ca/redhat-uep.pem tmp/ca/'
,
'\$'
,
5
)
mySSH
.
command
(
'sudo cp /etc/pki/entitlement/*.pem tmp/entitlement/'
,
'\$'
,
5
)
sharedimage
=
'ran-build
'
shared
Tag
=
'develop'
force
Shared
ImageBuild
=
False
baseImage
=
'ran-base
'
base
Tag
=
'develop'
force
Base
ImageBuild
=
False
imageTag
=
'develop'
if
(
self
.
ranAllowMerge
):
imageTag
=
'ci-temp'
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
())
if
result
is
not
None
:
force
Shared
ImageBuild
=
True
shared
Tag
=
'ci-temp'
force
Base
ImageBuild
=
True
base
Tag
=
'ci-temp'
else
:
force
Shared
ImageBuild
=
True
force
Base
ImageBuild
=
True
# Let's remove any previous run artifacts if still there
mySSH
.
command
(
self
.
cli
+
' image prune --force'
,
'\$'
,
30
)
if
force
Shared
ImageBuild
:
mySSH
.
command
(
self
.
cli
+
' image rm '
+
sharedimage
+
':'
+
shared
Tag
+
' || true'
,
'\$'
,
30
)
if
force
Base
ImageBuild
:
mySSH
.
command
(
self
.
cli
+
' image rm '
+
baseImage
+
':'
+
base
Tag
+
' || true'
,
'\$'
,
30
)
for
image
,
pattern
in
imageNames
:
mySSH
.
command
(
self
.
cli
+
' image rm '
+
image
+
':'
+
imageTag
+
' || true'
,
'\$'
,
30
)
# Build the
shared
image only on Push Events (not on Merge Requests)
# On when the
shared
image docker file is being modified.
if
force
Shared
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
)
# First verify if the
shared
image was properly created.
# Build the
base
image only on Push Events (not on Merge Requests)
# On when the
base
image docker file is being modified.
if
force
Base
ImageBuild
:
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
base
image was properly created.
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
:
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
else
:
result
=
re
.
search
(
'Size *= *(?P<size>[0-9\-]+) *bytes'
,
mySSH
.
getBefore
())
...
...
@@ -253,20 +252,20 @@ class Containerize():
imageSize
=
float
(
result
.
group
(
'size'
))
imageSize
=
imageSize
/
1000
if
imageSize
<
1000
:
logging
.
debug
(
'
\u001B
[1m ran-b
uild
size is '
+
(
'%.0f'
%
imageSize
)
+
' kbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'ran-b
uild
'
]
=
str
(
round
(
imageSize
,
1
))
+
' kbytes'
logging
.
debug
(
'
\u001B
[1m ran-b
ase
size is '
+
(
'%.0f'
%
imageSize
)
+
' kbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'ran-b
ase
'
]
=
str
(
round
(
imageSize
,
1
))
+
' kbytes'
else
:
imageSize
=
imageSize
/
1000
if
imageSize
<
1000
:
logging
.
debug
(
'
\u001B
[1m ran-b
uild
size is '
+
(
'%.0f'
%
imageSize
)
+
' Mbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'ran-b
uild
'
]
=
str
(
round
(
imageSize
,
1
))
+
' Mbytes'
logging
.
debug
(
'
\u001B
[1m ran-b
ase
size is '
+
(
'%.0f'
%
imageSize
)
+
' Mbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'ran-b
ase
'
]
=
str
(
round
(
imageSize
,
1
))
+
' Mbytes'
else
:
imageSize
=
imageSize
/
1000
logging
.
debug
(
'
\u001B
[1m ran-b
uild
size is '
+
(
'%.3f'
%
imageSize
)
+
' Gbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'ran-b
uild
'
]
=
str
(
round
(
imageSize
,
1
))
+
' Gbytes'
logging
.
debug
(
'
\u001B
[1m ran-b
ase
size is '
+
(
'%.3f'
%
imageSize
)
+
' Gbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'ran-b
ase
'
]
=
str
(
round
(
imageSize
,
1
))
+
' Gbytes'
else
:
logging
.
debug
(
'ran-b
uild
size is unknown'
)
# If the
shared
image failed, no need to continue
logging
.
debug
(
'ran-b
ase
size is unknown'
)
# If the
base
image failed, no need to continue
if
not
status
:
# Recover the name of the failed container?
mySSH
.
command
(
self
.
cli
+
' ps --quiet --filter "status=exited" -n1 | xargs '
+
self
.
cli
+
' rm -f'
,
'\$'
,
5
)
...
...
@@ -278,16 +277,18 @@ class Containerize():
sys
.
exit
(
1
)
else
:
# 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
(
'mkdir -p cmake_targets/log/ran-b
uild
'
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' cp test:/oai-ran/cmake_targets/log/. cmake_targets/log/ran-b
uild
'
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' create --name test '
+
baseImage
+
':'
+
base
Tag
,
'\$'
,
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
ase
'
,
'\$'
,
5
)
mySSH
.
command
(
self
.
cli
+
' rm -f test'
,
'\$'
,
5
)
# Build the target image(s)
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
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
)
# split the log
mySSH
.
command
(
'mkdir -p cmake_targets/log/'
+
image
,
'\$'
,
5
)
...
...
@@ -318,7 +319,7 @@ class Containerize():
logging
.
debug
(
'
\u001B
[1m '
+
image
+
' size is '
+
(
'%.3f'
%
imageSize
)
+
' Gbytes
\u001B
[0m'
)
self
.
allImagesSize
[
image
]
=
str
(
round
(
imageSize
,
1
))
+
' Gbytes'
else
:
logging
.
debug
(
'ran-b
uild
size is unknown'
)
logging
.
debug
(
'ran-b
ase
size is unknown'
)
self
.
allImagesSize
[
image
]
=
'unknown'
# Now pruning dangling images in between target builds
mySSH
.
command
(
self
.
cli
+
' image prune --force'
,
'\$'
,
30
)
...
...
@@ -342,8 +343,8 @@ class Containerize():
#Trying to identify the errors and warnings for each built images
imageNames1
=
imageNames
shared
=
(
'ran-build
'
,
'ran'
)
imageNames1
.
insert
(
0
,
shared
)
base
=
(
'ran-base
'
,
'ran'
)
imageNames1
.
insert
(
0
,
base
)
for
image
,
pattern
in
imageNames1
:
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'
)]
...
...
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 @@
set
-e
# Include helper functions
ORIGIN_PATH
=
$PWD
THIS_SCRIPT_PATH
=
$(
dirname
$(
readlink
-f
$0
))
source
$THIS_SCRIPT_PATH
/tools/build_helper
THIS_SCRIPT_PATH
=
$(
dirname
$(
readlink
-f
"
$0
"
))
source
"
$THIS_SCRIPT_PATH
"
/tools/build_helper
# Set environment variables (OPENAIR_HOME, ...)
set_openair_env
...
...
@@ -38,7 +37,6 @@ set_openair_env
gen_nvram_path
=
$OPENAIR_DIR
/targets/bin
conf_nvram_path
=
$OPENAIR_DIR
/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf
MSC_GEN
=
0
XFORMS
=
"True"
SKIP_SHARED_LIB_FLAG
=
"False"
UE_EXPANSION
=
"False"
...
...
@@ -106,7 +104,7 @@ Options
--nrUE
Makes the NR UE softmodem
--RU
Makes the OAI RRU
(without full stack)
Makes the OAI RRU
--UE
Makes the UE specific parts (ue_ip, usim, nvram) from the given configuration file
--UE-conf-nvram [configuration file]
...
...
@@ -208,28 +206,24 @@ function main() {
-g
|
--run-with-gdb
)
case
"
$2
"
in
"Release"
)
GDB
=
0
CMAKE_BUILD_TYPE
=
"Release"
echo_info
"Will Compile without gdb symbols and with compiler optimization"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=Release"
shift
;;
"RelWithDebInfo"
)
GDB
=
0
CMAKE_BUILD_TYPE
=
"RelWithDebInfo"
echo_info
"Will Compile with gdb symbols"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=1"
shift
;;
"MinSizeRel"
)
GDB
=
0
CMAKE_BUILD_TYPE
=
"MinSizeRel"
echo_info
"Will Compile for minimal exec size"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=MinSizeRel"
shift
;;
"Debug"
|
*
)
GDB
=
1
CMAKE_BUILD_TYPE
=
"Debug"
echo_info
"Will Compile with gdb symbols and disable compiler optimization"
CMAKE_CMD
=
"
$CMAKE_CMD
-DCMAKE_BUILD_TYPE=Debug"
...
...
@@ -244,37 +238,30 @@ function main() {
shift
;;
--eNB
)
eNB
=
1
RU
=
0
echo_info
"Will compile eNB"
shift
;;
--eNBocp
)
eNBocp
=
1
RU
=
0
echo_info
"Will compile OCP eNB"
shift
;;
--gNB
)
gNB
=
1
RU
=
0
NR
=
"True"
echo_info
"Will compile gNB"
shift
;;
--RU
)
RU
=
1
RU
=
1
echo_info
"Will compile RRU"
shift
;;
-a
|
--agent
)
echo_info
"FlexRAN support is always compiled into the eNB"
shift
;;
--UE
)
RU
=
0
UE
=
1
echo_info
"Will compile UE"
shift
;;
--nrUE
)
RU
=
0
nrUE
=
1
rfsimNas
=
1
NR
=
"True"
echo_info
"Will compile NR UE"
shift
;;
--mu
)
...
...
@@ -282,10 +269,10 @@ function main() {
echo_info
"Will compile with UE_EXPANSION"
shift
;;
--UE-conf-nvram
)
conf_nvram_path
=
$(
readlink
-f
$2
)
conf_nvram_path
=
$(
readlink
-f
"
$2
"
)
shift
2
;;
--UE-gen-nvram
)
gen_nvram_path
=
$(
readlink
-f
$2
)
gen_nvram_path
=
$(
readlink
-f
"
$2
"
)
shift
2
;;
-w
|
--hardware
)
# Use OAI_USRP as the key word USRP is used inside UHD driver
...
...
@@ -309,7 +296,6 @@ function main() {
shift
2
;;
-P
|
--phy_simulators
)
SIMUS_PHY
=
1
RU
=
0
echo_info
"Will compile dlsim, ulsim, ..."
shift
;;
-S
|
--core_simulators
)
...
...
@@ -344,11 +330,11 @@ function main() {
echo_info
"Will compile hw latency test program"
shift
;;
--verbose-ci
)
VERBOSE_CI
=
1
VERBOSE_CI
=
1
echo_info
"Will compile with verbose instructions in CI Docker env"
shift
;;
--verbose-compile
)
VERBOSE_COMPILE
=
1
VERBOSE_COMPILE
=
1
echo_info
"Will compile with verbose instructions"
shift
;;
--cflags_processor
)
...
...
@@ -478,7 +464,7 @@ function main() {
########################################################
# 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
echo_info
"No local radio head and no transport protocol selected"
fi
...
...
@@ -629,7 +615,6 @@ function main() {
echo
"set ( UE_TIMING_TRACE
$UE_TIMING_TRACE
)"
>>
$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 ( RU
$RU
)"
>>
$cmake_file
echo
"set ( ITTI_SIM
$ITTI_SIM
)"
>>
$cmake_file
echo
"set ( SANITIZE_ADDRESS
$SANITIZE_ADDRESS
)"
>>
$cmake_file
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
...
...
@@ -677,14 +662,10 @@ function main() {
$build_dir
$config_libconfig_shlib
\
lib
$config_libconfig_shlib
.so
$dbin
/lib
$config_libconfig_shlib
.so
if
[
"
$RU
"
=
"0"
]
;
then
compilations
\
$build_dir
coding
\
libcoding.so
$dbin
/libcoding.so
fi
fi
fi
...
...
docker/Dockerfile.
ran
.rhel8.2
→
docker/Dockerfile.
base
.rhel8.2
View file @
06b9e3f3
...
...
@@ -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
ENV TZ=Europe/Paris
ENV BUILD_UHD_FROM_SOURCE=True
...
...
docker/Dockerfile.
ran
.ubuntu18
→
docker/Dockerfile.
base
.ubuntu18
View file @
06b9e3f3
...
...
@@ -26,7 +26,7 @@
#---------------------------------------------------------------------
FROM ubuntu:bionic AS ran-b
uild
FROM ubuntu:bionic AS ran-b
ase
ARG NEEDED_GIT_PROXY
ENV DEBIAN_FRONTEND=noninteractive
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 @@
#
#---------------------------------------------------------------------
FROM ran-build:latest AS enb-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
FROM ran-base:latest AS enb-base
#run build_oai to build the target image
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --eNB --ninja -w USRP --verbose-ci
FROM ran-build:latest AS enb-build
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
...
...
@@ -68,20 +60,18 @@ COPY --from=enb-build \
/oai-ran/docker/scripts/entrypoint.sh \
./
WORKDIR /usr/local/lib/
COPY --from=enb-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libcoding.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/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/libblas.so.3 \
/lib64/liblapack.so.3 \
...
...
@@ -100,16 +90,15 @@ COPY --from=enb-build \
/lib64/
# 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-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=enb-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=enb-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
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
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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
# Copy the relevant configuration files for eNB
...
...
docker/Dockerfile.eNB.ubuntu18
View file @
06b9e3f3
...
...
@@ -25,17 +25,9 @@
#
#---------------------------------------------------------------------
FROM ran-build:latest AS enb-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
FROM ran-base:latest as enb-base
#run build_oai to build the target image
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --eNB --ninja -w USRP --verbose-ci
FROM ran-build:latest AS enb-build
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
...
...
@@ -75,25 +67,25 @@ COPY --from=enb-build \
/oai-ran/docker/scripts/entrypoint.sh \
./
WORKDIR /usr/local/lib/
COPY --from=enb-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libcoding.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/liboai_iqplayer.so \
/usr/local/lib/libprotobuf-c.so.1 \
./
/usr/local/lib/
# 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-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=enb-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
WORKDIR /usr/lib/x86_64-linux-gnu
COPY --from=enb-build \
COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=enb-base \
/usr/local/lib/libuhd.so.3.15.0 \
/usr/local/lib/libprotobuf-c.so.1 \
/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_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
...
...
@@ -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_system.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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
# Copy the relevant configuration files for eNB
...
...
docker/Dockerfile.gNB.rhel8.2
View file @
06b9e3f3
...
...
@@ -25,17 +25,9 @@
#
#---------------------------------------------------------------------
FROM ran-build:latest AS gnb-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
FROM ran-base:latest AS gnb-base
#run build_oai to build the target image
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --gNB --ninja -w USRP --verbose-ci
FROM ran-build:latest AS gnb-build
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
...
...
@@ -70,23 +62,21 @@ COPY --from=gnb-build \
/oai-ran/docker/scripts/entrypoint.sh \
./
WORKDIR /usr/local/lib/
COPY --from=gnb-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libcoding.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/libldpc.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_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/libforms.so.2 \
/lib64/libblas.so.3 \
...
...
@@ -106,16 +96,15 @@ COPY --from=gnb-build \
/lib64/
# 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-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
COPY --from=gnb-build /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=gnb-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
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
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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
# Copy the relevant configuration files for gNB
...
...
docker/Dockerfile.gNB.ubuntu18
View file @
06b9e3f3
...
...
@@ -25,17 +25,9 @@
#
#---------------------------------------------------------------------
FROM ran-build:latest AS gnb-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
FROM ran-base:latest as gnb-base
#run build_oai to build the target image
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --gNB --ninja -w USRP --verbose-ci
FROM ran-build:latest AS gnb-build
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
...
...
@@ -74,28 +66,28 @@ COPY --from=gnb-build \
/oai-ran/docker/scripts/entrypoint.sh \
./
WORKDIR /usr/local/lib/
COPY --from=gnb-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libcoding.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/libldpc.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_orig.so \
/usr/local/lib/libprotobuf-c.so.1 \
./
/usr/local/lib/
# 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-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=gnb-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
WORKDIR /usr/lib/x86_64-linux-gnu
COPY --from=gnb-build \
COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=gnb-base \
/usr/local/lib/libuhd.so.3.15.0 \
/usr/local/lib/libprotobuf-c.so.1 \
/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_filesystem.so.1.65.1 \
/usr/lib/x86_64-linux-gnu/libboost_regex.so.1.65.1 \
...
...
@@ -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_system.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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
# Copy the relevant configuration files for gNB
...
...
docker/Dockerfile.lteRU.rhel8.2
View file @
06b9e3f3
...
...
@@ -25,17 +25,9 @@
#
#---------------------------------------------------------------------
FROM ran-build:latest AS ru-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
FROM ran-base:latest AS ru-base
#run build_oai to build the target image
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --RU --ninja -w USRP --verbose-ci
FROM ran-build:latest AS ru-build
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
...
...
@@ -65,17 +57,16 @@ COPY --from=ru-build \
/oai-ran/docker/scripts/entrypoint.sh \
.
WORKDIR /usr/local/lib/
COPY --from=ru-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.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/libblas.so.3 \
/lib64/liblapack.so.3 \
...
...
@@ -94,16 +85,14 @@ COPY --from=ru-build \
/lib64/
# 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
uild
/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/bin/uhd_find_devices /usr/local/bin
COPY --from=ru-b
ase
/usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
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
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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
# Copy the relevant configuration files for RRU
...
...
docker/Dockerfile.lteRU.ubuntu18
View file @
06b9e3f3
...
...
@@ -25,17 +25,9 @@
#
#---------------------------------------------------------------------
FROM ran-build:latest AS ru-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
FROM ran-base:latest as ru-base
#run build_oai to build the target image
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --RU --ninja -w USRP --verbose-ci
FROM ran-build:latest AS ru-build
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
...
...
@@ -70,34 +62,30 @@ COPY --from=ru-build \
/oai-ran/docker/scripts/entrypoint.sh \
./
WORKDIR /usr/local/lib/
COPY --from=ru-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libparams_libconfig.so \
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
.
/
/usr/local/lib
/
# 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
uild
/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/bin/uhd_find_devices /usr/local/bin
COPY --from=ru-b
ase
/usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
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-build \
COPY --from=ru-base \
/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_regex.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_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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
# Copy the relevant configuration files for RRU
...
...
docker/Dockerfile.lteUE.rhel8.2
View file @
06b9e3f3
...
...
@@ -25,17 +25,9 @@
#
#---------------------------------------------------------------------
FROM ran-build:latest AS lte-ue-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
FROM ran-base:latest AS lte-ue-base
#run build_oai to build the target image
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --UE --ninja -w USRP --verbose-ci
FROM ran-build:latest AS lte-ue-build
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_parameters.yaml && \
python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_sim_parameters.yaml && \
...
...
@@ -72,20 +64,18 @@ COPY --from=lte-ue-build \
/oai-ran/targets/bin/usim \
./
WORKDIR /usr/local/lib/
COPY --from=lte-ue-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libcoding.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/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/libblas.so.3 \
/lib64/liblapack.so.3 \
...
...
@@ -104,16 +94,15 @@ COPY --from=lte-ue-build \
/lib64/
# 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-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
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/bin/uhd_find_devices /usr/local/bin
COPY --from=lte-ue-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
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
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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
# Copy the relevant configuration files for UE
...
...
docker/Dockerfile.lteUE.ubuntu18
View file @
06b9e3f3
...
...
@@ -25,17 +25,9 @@
#
#---------------------------------------------------------------------
FROM ran-build:latest AS lte-ue-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
FROM ran-base:latest AS lte-ue-base
#run build_oai to build the target image
RUN /bin/sh oaienv && \
cd cmake_targets && \
mkdir -p log && \
./build_oai --UE --ninja -w USRP --verbose-ci
FROM ran-build:latest AS lte-ue-build
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_parameters.yaml && \
python3 ./docker/scripts/generateTemplate.py ./docker/scripts/lte_ue_sim_parameters.yaml && \
...
...
@@ -79,26 +71,26 @@ COPY --from=lte-ue-build \
/oai-ran/targets/bin/usim \
./
WORKDIR /usr/local/lib/
COPY --from=lte-ue-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libcoding.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/libdfts.so \
/usr/local/lib/libprotobuf-c.so.1 \
./
/usr/local/lib/
# 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-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=lte-ue-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
COPY --from=lte-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=lte-ue-base \
/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-build \
COPY --from=lte-ue-base \
/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_regex.so.1.65.1 \
...
...
@@ -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_system.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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
# Copy the relevant configuration files for UE
...
...
docker/Dockerfile.nrUE.rhel8.2
View file @
06b9e3f3
...
...
@@ -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
WORKDIR /oai-ran
COPY . .
FROM ran-build:latest AS nr-ue-build
#run build_oai to build the target image
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
RUN cp /oai-ran/docker/scripts/nr_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
#start from scratch for target executable
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-nr-ue
...
...
@@ -71,23 +64,21 @@ COPY --from=nr-ue-build \
WORKDIR /opt/oai-nr-ue/etc
COPY --from=nr-ue-build /oai-ran/ci-scripts/conf_files/nr-ue-sim.conf .
WORKDIR /usr/local/lib/
COPY --from=nr-ue-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libcoding.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/libldpc.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_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/libblas.so.3 \
/lib64/liblapack.so.3 \
...
...
@@ -107,16 +98,15 @@ COPY --from=nr-ue-build \
/lib64/
# 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-build /usr/local/lib64/libuhd.so.3.15.0 /usr/local/lib64
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/bin/uhd_find_devices /usr/local/bin
COPY --from=nr-ue-base /usr/local/lib/libprotobuf-c.so.1 /usr/local/lib
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
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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
# Copy the relevant configuration files for eNB
...
...
docker/Dockerfile.nrUE.ubuntu18
View file @
06b9e3f3
...
...
@@ -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
WORKDIR /oai-ran
COPY . .
FROM ran-build:latest AS nr-ue-build
#run build_oai to build the target image
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
RUN cp /oai-ran/docker/scripts/nr_ue_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh
#start from scratch for target executable
FROM ubuntu:bionic as oai-nr-ue
...
...
@@ -76,29 +69,29 @@ COPY --from=nr-ue-build \
WORKDIR /opt/oai-nr-ue/etc
COPY --from=nr-ue-build /oai-ran/ci-scripts/conf_files/nr-ue-sim.conf .
WORKDIR /usr/local/lib/
COPY --from=nr-ue-build \
/oai-ran/
targets/bin/liboai_eth_transpro.so.Rel15
\
/oai-ran/
targets/bin/libtcp_bridge_oai.so.Rel15
\
/oai-ran/
targets/bin/librfsimulator.so.Rel15
\
/oai-ran/
targets/bin/liboai_usrpdevif.so.Rel15
\
/oai-ran/
targets/bin
/libcoding.so \
/oai-ran/
targets/bin
/libparams_libconfig.so \
/oai-ran/
cmake_targets/ran_build/build/liboai_eth_transpro.so
\
/oai-ran/
cmake_targets/ran_build/build/libtcp_bridge_oai.so
\
/oai-ran/
cmake_targets/ran_build/build/librfsimulator.so
\
/oai-ran/
cmake_targets/ran_build/build/liboai_usrpdevif.so
\
/oai-ran/
cmake_targets/ran_build/build
/libcoding.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/libldpc.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_orig.so \
/usr/local/lib/libprotobuf-c.so.1 \
./
/usr/local/lib/
# 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-build /usr/local/lib/libuhd.so.3.15.0 /usr/local/lib
COPY --from=nr-ue-build /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
COPY --from=nr-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=nr-ue-base \
/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-build \
COPY --from=nr-ue-base \
/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_regex.so.1.65.1 \
...
...
@@ -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_system.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" && \
/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" && \
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
ldconfig
WORKDIR /opt/oai-nr-ue
...
...
docker/Dockerfile.phySim.rhel8.2
View file @
06b9e3f3
...
...
@@ -25,11 +25,7 @@
#
#---------------------------------------------------------------------
FROM ran-build:develop AS phy-sim-build
RUN rm -Rf /oai-ran
WORKDIR /oai-ran
COPY . .
FROM ran-base:latest AS phy-sim-build
#run build_oai to build the target image
RUN /bin/sh oaienv && \
...
...
@@ -73,7 +69,6 @@ COPY --from=phy-sim-build \
/oai-ran/targets/bin/smallblocktest.Rel15 \
./
WORKDIR /usr/local/lib/
COPY --from=phy-sim-build \
/oai-ran/targets/bin/libcoding.so \
/lib64/liblapacke.so.3 \
...
...
@@ -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/libldpc.so \
/oai-ran/cmake_targets/phy_simulators/build/libldpc_orig.so \
.
/
/usr/local/lib
/
RUN ldconfig
...
...
docker/Dockerfile.ran.rhel7.oc4-4
View file @
06b9e3f3
...
...
@@ -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
# It is pre-requisite
...
...
docker/Dockerfile.ran.rhel8.2.oc4-4
View file @
06b9e3f3
...
...
@@ -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
# It is pre-requisite
...
...
docker/README.md
View file @
06b9e3f3
...
...
@@ -29,12 +29,18 @@
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)
-
all the means to build an OAI RAN executable
*
all packages, compilers, ...
*
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
-
gNB
-
lte-UE
...
...
@@ -58,7 +64,8 @@ Dockerfiles are named with the following naming convention: `Dockerfile.${target
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`
-
`gNB`
for an image named
`oai-gnb`
-
`lteUE`
for an image named
`oai-lte-ue`
...
...
@@ -85,9 +92,11 @@ For more details in build within a Openshift Cluster, see [OpenShift README](../
*
`docker-ce`
installed
*
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
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
...
...
@@ -98,21 +107,25 @@ git checkout develop
In our Eurecom/OSA environment we need to pass a GIT proxy.
```
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:
```
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
docker image
ls
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
REPOSITORY TAG IMAGE ID CREATED SIZE
oai-enb latest 25ddbd8b7187 1 minute ago 516MB
<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:
...
...
openair1/PHY/TOOLS/time_meas.c
View file @
06b9e3f3
...
...
@@ -25,20 +25,17 @@
#include <unistd.h>
#include <string.h>
#include "assertions.h"
#ifndef PHYSIM
#include <pthread.h>
#include "common/config/config_userapi.h"
#endif
#include <pthread.h>
#include "common/config/config_userapi.h"
#include <common/utils/threadPool/thread-pool.h>
// global var for openair performance profiler
int
opp_enabled
=
0
;
double
cpu_freq_GHz
__attribute__
((
aligned
(
32
)));
double
cpu_freq_GHz
__attribute__
((
aligned
(
32
)))
=
0
.
0
;
#ifndef PHYSIM
static
uint32_t
max_cpumeasur
;
static
time_stats_t
**
measur_table
;
notifiedFIFO_t
measur_fifo
;
#endif
double
get_cpu_freq_GHz
(
void
)
{
if
(
cpu_freq_GHz
<
1
)
{
...
...
@@ -187,7 +184,6 @@ double get_time_meas_us(time_stats_t *ts)
return
0
;
}
#ifndef PHYSIM
/* 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...
*/
...
...
@@ -294,4 +290,3 @@ void end_meas(void) {
msg
->
msgid
=
TIMESTAT_MSGID_END
;
pushNotifiedFIFO
(
&
measur_fifo
,
nfe
);
}
#endif
openair1/PHY/TOOLS/time_meas.h
View file @
06b9e3f3
...
...
@@ -31,9 +31,7 @@
#include <pthread.h>
#include <linux/kernel.h>
#include <linux/types.h>
#ifndef PHYSIM
#include "common/utils/threadPool/thread-pool.h"
#endif
#include "common/utils/threadPool/thread-pool.h"
// global var to enable openair performance profiler
extern
int
opp_enabled
;
extern
double
cpu_freq_GHz
__attribute__
((
aligned
(
32
)));;
...
...
@@ -72,10 +70,8 @@ typedef struct {
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_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 */
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
;
#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) {
}
}
#ifndef PHYSIM
extern
notifiedFIFO_t
measur_fifo
;
#define CPUMEASUR_SECTION "cpumeasur"
...
...
@@ -187,5 +182,4 @@ extern notifiedFIFO_t measur_fifo;
}
void
end_meas
(
void
);
#endif //ifndef PHYSIM
#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_
}
else
AssertFatal
(
1
==
0
,
"Not RA_PDSCH, SI_PDSCH or PDSCH
\n
"
);
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
));
#endif
if
(
first_symbol_flag
)
{
proc
->
first_symbol_available
=
1
;
...
...
@@ -1028,17 +1024,11 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
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
"
,
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
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
));
#endif
if
(
is_cw1_active
)
{
// start ldpc decode for CW 1
...
...
@@ -1091,19 +1081,12 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
}
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
stop_meas
(
&
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
]);
LOG_D
(
PHY
,
" --> Unscrambling for CW1 %5.3f
\n
"
,
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
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
));
#endif
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
));
...
...
@@ -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
]);
#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
));
#endif
//wait until pdcch is decoded
...
...
@@ -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);
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
));
#endif
if
(
pthread_mutex_lock
(
&
proc
->
mutex_slot1_dl_processing
)
!=
0
)
{
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,
dlsch_parallel
);
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] 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
...
...
@@ -1963,9 +1935,7 @@ if (nr_slot_rx==9) {
}
stop_meas
(
&
ue
->
generic_stat
);
#if PHYSIM
printf
(
"after tubo until end of Rx %5.2f
\n
"
,
ue
->
generic_stat
.
p_time
/
(
cpuf
*
1000
.
0
));
#endif
LOG_D
(
PHY
,
"after tubo until end of Rx %5.2f
\n
"
,
ue
->
generic_stat
.
p_time
/
(
cpuf
*
1000
.
0
));
#ifdef EMOS
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
);
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
));
#endif
//#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