Support of Ubuntu22 in osmclient docker image
Change-Id: I8c3fd04db71d1045764d37ee002798d9b017ab35
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/docker/osmclient/Dockerfile b/docker/osmclient/Dockerfile
index e5b3acd..932bcdc 100644
--- a/docker/osmclient/Dockerfile
+++ b/docker/osmclient/Dockerfile
@@ -15,7 +15,7 @@
# limitations under the License.
#######################################################################################
-FROM ubuntu:20.04 as INSTALL
+FROM ubuntu:22.04 as INSTALL
ARG APT_PROXY
RUN if [ ! -z $APT_PROXY ] ; then \
@@ -25,32 +25,34 @@
RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
DEBIAN_FRONTEND=noninteractive apt-get --yes install \
- gcc=4:9.3.* \
- python3=3.8.* \
- python3-dev=3.8.* \
- python3-pip=20.0.2* \
- python3-setuptools=45.2.* \
- curl=7.68.*
+ gcc=4:11.* \
+ python3=3.10.* \
+ python3-dev=3.10.* \
+ python3-pip=22.0.* \
+ curl=7.81.* \
+ && rm -rf /var/lib/apt/lists/*
-RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
- DEBIAN_FRONTEND=noninteractive apt-get --yes install \
- libssl-dev=1.1.*
+#######################################################################################
+# End of common preparation
-ARG PYTHON3_OSMCLIENT_URL
ARG PYTHON3_OSM_IM_URL
-
-RUN curl $PYTHON3_OSMCLIENT_URL -o osmclient.deb
-RUN dpkg -i ./osmclient.deb
+ARG PYTHON3_OSMCLIENT_URL
RUN curl $PYTHON3_OSM_IM_URL -o osm_im.deb
RUN dpkg -i ./osm_im.deb
+RUN curl $PYTHON3_OSMCLIENT_URL -o osmclient.deb
+RUN dpkg -i ./osmclient.deb
+
RUN pip3 install \
- -r /usr/lib/python3/dist-packages/osmclient/requirements.txt \
- -r /usr/lib/python3/dist-packages/osm_im/requirements.txt
+ -r /usr/lib/python3/dist-packages/osm_im/requirements.txt \
+ -r /usr/lib/python3/dist-packages/osmclient/requirements.txt
+
+COPY pyangbind.patch ./
+RUN patch /usr/local/lib/python3.10/dist-packages/pyangbind/lib/yangtypes.py < ./pyangbind.patch
#######################################################################################
-FROM ubuntu:20.04 as FINAL
+FROM ubuntu:22.04 as FINAL
ARG APT_PROXY
RUN if [ ! -z $APT_PROXY ] ; then \
@@ -60,13 +62,43 @@
RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
DEBIAN_FRONTEND=noninteractive apt-get --yes install \
- python3-minimal=3.8.* \
+ python3-minimal=3.10.* \
+ && rm -rf /var/lib/apt/lists/*
+
+COPY --from=INSTALL /usr/lib/python3/dist-packages /usr/lib/python3/dist-packages
+COPY --from=INSTALL /usr/local/lib/python3.10/dist-packages /usr/local/lib/python3.10/dist-packages
+
+#######################################################################################
+# End of common preparation
+
+RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
+ DEBIAN_FRONTEND=noninteractive apt-get --yes install \
+ libmagic1=1:5.* \
&& rm -rf /var/lib/apt/lists/*
RUN rm -f /etc/apt/apt.conf.d/proxy.conf
-COPY --from=INSTALL /usr/lib/python3/dist-packages /usr/lib/python3/dist-packages
-COPY --from=INSTALL /usr/local/lib/python3.8/dist-packages /usr/local/lib/python3.8/dist-packages
+COPY --from=INSTALL /usr/bin/osm /usr/bin/osm
+COPY charm.sh /usr/sbin/charm
-ENV OSM_SOL005=True
-ENV OSM_HOSTNAME=nbi:9999
+# Creating the user for the app
+RUN groupadd -g 1000 appuser && \
+ useradd -u 1000 -g 1000 -d /app appuser && \
+ mkdir -p /app/osmclient && \
+ chown -R appuser:appuser /app
+
+WORKDIR /app/osmclient
+
+# Changing the security context
+USER appuser
+
+ENV LC_ALL=C.UTF-8
+ENV LANG=C.UTF-8
+
+# The following ENV can be added with "docker run -e xxx' to configure
+ENV OSM_HOSTNAME nbi:9999
+ENV OSM_USER admin
+ENV OSM_PASSWORD admin
+ENV OSM_PROJECT admin
+
+ENTRYPOINT [ "/bin/bash" ]
\ No newline at end of file