Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zzha zzha
OpenXG-RAN
Commits
d45a9a93
Commit
d45a9a93
authored
Feb 15, 2023
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
AW2S image: install less packages, require mounted configuration file
parent
22ad41e6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
78 deletions
+12
-78
docker/Dockerfile.gNB.aw2s.ubuntu18
docker/Dockerfile.gNB.aw2s.ubuntu18
+2
-24
docker/scripts/gnb-aw2s_entrypoint.sh
docker/scripts/gnb-aw2s_entrypoint.sh
+10
-54
No files found.
docker/Dockerfile.gNB.aw2s.ubuntu18
View file @
d45a9a93
...
@@ -37,9 +37,6 @@ RUN /bin/sh oaienv && \
...
@@ -37,9 +37,6 @@ RUN /bin/sh oaienv && \
cd cmake_targets/ran_build/build && \
cd cmake_targets/ran_build/build && \
ninja aw2sori_transpro
ninja aw2sori_transpro
RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/gnb_parameters.yaml && \
cp /oai-ran/docker/scripts/gnb-aw2s_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-gnb-aw2s
FROM ubuntu:bionic as oai-gnb-aw2s
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND=noninteractive
...
@@ -48,31 +45,22 @@ ENV TZ=Europe
...
@@ -48,31 +45,22 @@ ENV TZ=Europe
RUN apt-get update && \
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \
DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
software-properties-common \
procps \
procps \
libsctp1 \
libsctp1 \
tzdata \
tzdata \
libnettle6 \
libblas3 \
libblas3 \
libatlas3-base \
libatlas3-base \
libconfig9 \
libconfig9 \
openssl \
openssl \
net-tools \
net-tools \
iproute2 \
iproute2 \
iputils-ping \
iputils-ping && \
python \
python3 \
python3-six \
python3-requests \
libusb-1.0-0 && \
rm -rf /var/lib/apt/lists/*
rm -rf /var/lib/apt/lists/*
COPY ./libori.so /usr/local/lib/
COPY ./libori.so /usr/local/lib/
WORKDIR /opt/oai-gnb-aw2s/bin
WORKDIR /opt/oai-gnb-aw2s/bin
COPY --from=gnb-build \
COPY --from=gnb-build /oai-ran/cmake_targets/ran_build/build/nr-softmodem ./
/oai-ran/cmake_targets/ran_build/build/nr-softmodem \
./
COPY ./docker/scripts/gnb-aw2s_entrypoint.sh /opt/oai-gnb-aw2s/bin/entrypoint.sh
COPY ./docker/scripts/gnb-aw2s_entrypoint.sh /opt/oai-gnb-aw2s/bin/entrypoint.sh
COPY --from=gnb-build \
COPY --from=gnb-build \
...
@@ -94,17 +82,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/libaw2sori_transpro.so /usr/local/lib/lib
...
@@ -94,17 +82,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/libaw2sori_transpro.so /usr/local/lib/lib
/bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so /usr/local/lib/liboai_transpro.so" && \
/bin/bash -c "ln -s /usr/local/lib/liboai_eth_transpro.so /usr/local/lib/liboai_transpro.so" && \
ldconfig
ldconfig
# Copy the relevant configuration files for gNB
WORKDIR /opt/oai-gnb-aw2s/etc
COPY --from=gnb-build /oai-ran/docker/etc .
WORKDIR /opt/oai-gnb-aw2s
WORKDIR /opt/oai-gnb-aw2s
#EXPOSE 2152/udp # S1U, GTP/UDP
#EXPOSE 22100/tcp # ?
#EXPOSE 36412/udp # S1C, SCTP/UDP
#EXPOSE 36422/udp # X2C, SCTP/UDP
#EXPOSE 50000/udp # IF5 / ORI (control)
#EXPOSE 50001/udp # IF5 / ECPRI (data)
ENTRYPOINT ["/opt/oai-gnb-aw2s/bin/entrypoint.sh"]
ENTRYPOINT ["/opt/oai-gnb-aw2s/bin/entrypoint.sh"]
CMD ["/opt/oai-gnb-aw2s/bin/nr-softmodem", "-O", "/opt/oai-gnb-aw2s/etc/gnb.conf"]
CMD ["/opt/oai-gnb-aw2s/bin/nr-softmodem", "-O", "/opt/oai-gnb-aw2s/etc/gnb.conf"]
docker/scripts/gnb-aw2s_entrypoint.sh
View file @
d45a9a93
...
@@ -3,62 +3,18 @@
...
@@ -3,62 +3,18 @@
set
-uo
pipefail
set
-uo
pipefail
PREFIX
=
/opt/oai-gnb-aw2s
PREFIX
=
/opt/oai-gnb-aw2s
ENABLE_X2
=
${
ENABLE_X2
:-
yes
}
THREAD_PARALLEL_CONFIG
=
${
THREAD_PARALLEL_CONFIG
:-
PARALLEL_SINGLE_THREAD
}
# Based another env var, pick one template to use
if
[[
-v
USE_VOLUMED_CONF
]]
;
then
cp
$PREFIX
/etc/mounted.conf
$PREFIX
/etc/gnb.conf
if
[[
-v
USE_NSA_TDD_MONO
]]
;
then
cp
$PREFIX
/etc/gnb.nsa.tdd.conf
$PREFIX
/etc/gnb.conf
;
fi
else
if
[[
-v
USE_SA_TDD_MONO
]]
;
then
cp
$PREFIX
/etc/gnb.sa.tdd.conf
$PREFIX
/etc/gnb.conf
;
fi
echo
"ERROR: No configuration file provided."
if
[[
-v
USE_SA_TDD_MONO_B2XX
]]
;
then
cp
$PREFIX
/etc/gnb.sa.tdd.b2xx.conf
$PREFIX
/etc/gnb.conf
;
fi
echo
"Please set USE_VOLUMED_CONF and mount a configuration file at
$PREFIX
/etc/mounted.conf"
if
[[
-v
USE_SA_FDD_MONO
]]
;
then
cp
$PREFIX
/etc/gnb.sa.fdd.conf
$PREFIX
/etc/gnb.conf
;
fi
exit
1
if
[[
-v
USE_SA_CU
]]
;
then
cp
$PREFIX
/etc/gnb.sa.cu.conf
$PREFIX
/etc/gnb.conf
;
fi
fi
if
[[
-v
USE_SA_TDD_DU
]]
;
then
cp
$PREFIX
/etc/gnb.sa.du.tdd.conf
$PREFIX
/etc/gnb.conf
;
fi
if
[[
-v
USE_SA_NFAPI_VNF
]]
;
then
cp
$PREFIX
/etc/gnb.sa.nfapi.vnf.conf
$PREFIX
/etc/gnb.conf
;
fi
# Sometimes, the templates are not enough. We mount a conf file on $PREFIX/etc. It can be a template itself.
if
[[
-v
USE_VOLUMED_CONF
]]
;
then
cp
$PREFIX
/etc/mounted.conf
$PREFIX
/etc/gnb.conf
;
fi
# Default Parameters
GNB_ID
=
${
GNB_ID
:-
e00
}
NSSAI_SD
=
${
NSSAI_SD
:-
ffffff
}
# AMF_IP_ADDRESS can be amf ip address of amf fqdn
if
[[
-v
AMF_IP_ADDRESS
]]
&&
[[
"
${
AMF_IP_ADDRESS
}
"
=
~
[
a-zA-Z]
]]
&&
[[
-z
`
getent hosts
$AMF_IP_ADDRESS
|
awk
'{print $1}'
`
]]
;
then
echo
"not able to resolve AMF FQDN"
&&
exit
1
;
fi
[[
-v
AMF_IP_ADDRESS
]]
&&
[[
"
${
AMF_IP_ADDRESS
}
"
=
~
[
a-zA-Z]
]]
&&
AMF_IP_ADDRESS
=
$(
getent hosts
$AMF_IP_ADDRESS
|
awk
'{print $1}'
)
# Only this template will be manipulated
CONFIG_FILES
=
`
ls
$PREFIX
/etc/gnb.conf
||
true
`
for
c
in
${
CONFIG_FILES
}
;
do
# Sometimes templates have no pattern to be replaced.
if
!
grep
-oP
'@[a-zA-Z0-9_]+@'
${
c
}
;
then
echo
"Configuration is already set"
break
fi
# grep variable names (format: ${VAR}) from template to be rendered
VARS
=
$(
grep
-oP
'@[a-zA-Z0-9_]+@'
${
c
}
|
sort
|
uniq
| xargs
)
# create sed expressions for substituting each occurrence of ${VAR}
# with the value of the environment variable "VAR"
EXPRESSIONS
=
""
for
v
in
${
VARS
}
;
do
NEW_VAR
=
`
echo
$v
|
sed
-e
"s#@##g"
`
if
[[
"
${
!NEW_VAR
}
x"
==
"x"
]]
;
then
echo
"Error: Environment variable '
${
NEW_VAR
}
' is not set."
\
"Config file '
$(
basename
$c
)
' requires all of
$VARS
."
exit
1
fi
EXPRESSIONS
=
"
${
EXPRESSIONS
}
;s|
${
v
}
|
${
!NEW_VAR
}
|g"
done
EXPRESSIONS
=
"
${
EXPRESSIONS
#
';'
}
"
# render template and inline replace config file
sed
-i
"
${
EXPRESSIONS
}
"
${
c
}
echo
"=================================="
echo
"=================================="
echo
"== Configuration file:
${
c
}
"
echo
"== Configuration file:"
cat
${
c
}
cat
$PREFIX
/etc/enb.conf
done
# enable printing of stack traces on assert
# enable printing of stack traces on assert
export
gdbStacks
=
1
export
gdbStacks
=
1
...
...
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