Upgrade RMR in Alpine base build image 86/2886/2
authorLott, Christopher (cl778h) <cl778h@att.com>
Thu, 19 Mar 2020 19:27:39 +0000 (15:27 -0400)
committerLott, Christopher (cl778h) <cl778h@att.com>
Thu, 19 Mar 2020 19:41:18 +0000 (15:41 -0400)
Upgrade RMR to version 3.6.1 which includes the SI95 transport library
that will eventually replace the third-party NNG transport library.
Clients choose which transport to use by selecting a RMR library.
Add the RMR development headers.

The Python base image now brings Alpine 3.11, adjust tag accordingly.

Issue-ID: RIC-49
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Change-Id: I8f9dd4262cfe7d9db6d0bfae92f02ede790e77f8

docker/bldr-alpine3/Dockerfile
docker/bldr-alpine3/container-tag.yaml

index 9fe6f98..38ec73b 100644 (file)
@@ -1,6 +1,6 @@
 # O-RAN-SC
 #
-# Copyright (C) 2019 AT&T Intellectual Property and Nokia
+# Copyright (C) 2019-2020 AT&T Intellectual Property and Nokia
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Builder image Alpine 3.9
+# This is an all-things-to-all-ORAN-people build image with:
+# alpine v 3.11
 # gcc/g++ v 8
-# golang v 1.12
+# golang v 1.13.4
 # python 3.7
-# nng library (libnng.so, libnng.so.X.X.X; see below for pinned version)
-# Includes RIC libraries as a distribution path because
-# PackageCloud does not support Alpine .apk (yet):
+# nng library (rmr.h, libnng.so, libnng.so.X.X.X; version pinned by RMR)
 # mdc log library (libmdclog.so, libmdbclog.so.X.X.X; see below for pinned version)
 # rmr library (librmr_nng.so, libmdclog.so..X.X.X; see below for pinned version)
-# How to get a library file from this Docker base image:
-# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:1-a3.9 /usr/local/lib64/libnng.so.X.X.X /usr/local/lib
-# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:1-a3.9 /usr/local/lib64/librmr_nng.so.X.X.X /usr/local/lib
-# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:1-a3.9 /usr/local/lib/libmdclog.so.X.X.X /usr/local/lib
+#
 # Some packages install to /usr/local/lib, others to /usr/local/lib64
 # Alpine by default searches /usr/local/lib but not /usr/local/lib64
+#
+# How to get library files from this Docker base image:
+# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib64/libnng.so.X.X.X /usr/local/lib
+# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib64/librmr_nng.so.X.X.X /usr/local/lib
+# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib/libmdclog.so.X.X.X /usr/local/lib
 
 FROM python:3.7-alpine
 RUN apk update && apk add \
@@ -51,19 +52,6 @@ RUN cd /tmp \
     && cp /tmp/autoconf-archive/m4/* /usr/share/aclocal \
     && rm -rf /tmp/autoconf-archive
 
-# NNG repo is not frequently tagged so it's pinned to a commit hash.
-# This commit provides fix to the proxy-reconnect
-# bug that we identified:  https://github.com/nanomsg/nng/issues/970
-RUN cd /tmp \
-    && git clone https://github.com/nanomsg/nng.git \
-    && cd nng \
-    && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \
-    && mkdir build \
-    && cd build \
-    && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \
-    && ninja \
-    && ninja install
-
 # MCDLOG, version is pinned
 RUN cd /tmp \
    && git clone --branch v0.0.4 https://gerrit.o-ran-sc.org/r/com/log \
@@ -73,11 +61,13 @@ RUN cd /tmp \
    && make \
    && make install
 
-# RMR, version is pinned
-RUN cd /tmp \
-    && git clone --branch 1.3.0 https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr \
+# install a well known working rmr including development header files,
+# which uses a submodule to install NNG at a known commit
+RUN apk update && apk add autoconf automake build-base cmake libtool ninja pkgconfig git sudo
+RUN git clone --branch 3.6.1 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \
     && cd rmr \
-    && mkdir build \
-    && cd build \
-    && cmake .. \
-    && make install
+    && mkdir .build; cd .build \
+    && echo "<<<installing rmr devel headers>>>" \
+    && cmake .. -DDEV_PKG=1; make install \
+    && echo "<<< installing rmr .so>>>" \
+    && cmake .. -DPACK_EXTERNALS=1; make install
index d6ac6d8..75ee09a 100644 (file)
@@ -1,4 +1,3 @@
 # Not feasible to show all the software versions
-# here so just use a counter plus the base image
 ---
-tag: 6-a3.9-nng
+tag: 7-a3.11-nng-rmr3