Bring over Dockerfile.nakaolab.test for nakaolab:latest builds

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-27 06:54:26 +09:00
co-authored by Claude Opus 4.7
parent 7cd72323af
commit da224f6ba1
+60
View File
@@ -0,0 +1,60 @@
FROM ran-base:latest AS ran-build
ARG BUILD_OPTION
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 && \
./build_oai --ninja \
--gNB --RU --nrUE -w SIMU -w USRP --build-lib telnetsrv \
--build-e2 --cmake-opt -DKPM_VERSION=KPM_V3_00 --cmake-opt -DE2AP_VERSION=E2AP_V3 \
--cmake-opt -DCMAKE_C_FLAGS="-Werror" --cmake-opt -DCMAKE_CXX_FLAGS="-Werror" $BUILD_OPTION && \
echo "---- ldd on executables ----" && \
ldd ran_build/build/*softmodem* ran_build/build/nr-cuup ran_build/build/oairu && \
echo "---- ldd on shared libraries ----" && \
ldd ran_build/build/*.so
RUN set -eux; \
apt-get update; \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
ca-certificates curl wget iproute2 iputils-ping dnsutils jq \
iperf iperf3 ffmpeg gdb\
nghttp2-client || true; \
if ! command -v h2load >/dev/null 2>&1; then \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends nghttp2 || true; \
fi; \
wget -O /usr/local/bin/sipp https://github.com/SIPp/sipp/releases/download/v3.7.7/sipp && chmod +x /usr/local/bin/sipp; \
rm -rf /var/lib/apt/lists/*
# FlexRIC libraries (built by --build-e2) - only copy service model libraries (*_sm.so)
# Also rebuild xapp_nakaolab (not built by default in build_oai)
RUN mkdir -p /usr/local/etc/flexric /usr/local/lib/flexric && \
find /oai-ran/openair2/E2AP/flexric/build -name "*_sm.so" -exec cp {} /usr/local/lib/flexric/ \; && \
cp /oai-ran/openair2/E2AP/flexric/flexric.conf /usr/local/etc/flexric/ 2>/dev/null || true && \
echo "/usr/local/lib/flexric" > /etc/ld.so.conf.d/flexric.conf && ldconfig && \
cd /oai-ran/openair2/E2AP/flexric/build && \
sed -i 's|/home/[^/]*/openairinterface5g|/oai-ran|g' CMakeCache.txt && \
find . -name 'Makefile' -o -name '*.cmake' | xargs sed -i 's|/home/[^/]*/openairinterface5g|/oai-ran|g' 2>/dev/null || true && \
rm -f examples/xApp/c/monitor/CMakeFiles/xapp_nakaolab.dir/xapp_nakaolab.c.o && \
cmake --build . --target xapp_nakaolab 2>&1 | tail -5 && \
ls -la /usr/local/lib/flexric/
# Install netcat for antenna control testing + paramiko for M-Plane NETCONF server
RUN apt-get update && apt-get install -y --no-install-recommends \
netcat-openbsd python3-pip \
&& pip3 install --break-system-packages paramiko \
&& rm -rf /var/lib/apt/lists/*
# O-RU M-Plane NETCONF server (o-ran-uplane-conf antenna mask control)
# Listens on port 831, translates NETCONF edit-config to internal antenna control
COPY mplane/mplane_server.py /opt/mplane/mplane_server.py
COPY mplane/wg4-capability.json /opt/mplane/wg4-capability.json
COPY mplane/gnb-mplane-entrypoint.sh /opt/mplane/gnb-mplane-entrypoint.sh
RUN chmod +x /opt/mplane/gnb-mplane-entrypoint.sh
EXPOSE 831
ENTRYPOINT ["/bin/bash"]