X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Dockerfile;h=a2628cd910e4960900c25616a3e948fa4f8cbd32;hb=HEAD;hp=75e23630e25c437030d89e1e4679d36800d95e01;hpb=8be81dfad35b08c4de77168e885bb18253069771;p=pti%2Fo2.git diff --git a/Dockerfile b/Dockerfile index 75e2363..628b3a2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,42 +1,89 @@ -FROM python:3.10-slim-buster - -RUN apt-get update; apt-get install -y git gcc - -# in case git repo is not accessable -# RUN mkdir -p /cgtsclient -# COPY temp/config /cgtsclient/ -RUN git clone https://opendev.org/starlingx/config.git /cgtsclient -RUN pip install -e /cgtsclient/sysinv/cgts-client/cgts-client/ - -# RUN mkdir -p /distcloud-client -# COPY temp/distcloud-client /distcloud-client/ -RUN git clone https://opendev.org/starlingx/distcloud-client.git /distcloud-client/ -RUN pip install -e /distcloud-client/distributedcloud-client -# in case git repo is not accessable - - -COPY requirements.txt /tmp/ -COPY requirements-stx.txt /tmp/ -COPY constraints.txt /tmp/ - -RUN pip install -r /tmp/requirements.txt -c /tmp/constraints.txt - -# RUN pip install -r /tmp/requirements-stx.txt - -COPY requirements-test.txt /tmp/ -RUN pip install -r /tmp/requirements-test.txt - - -RUN mkdir -p /src -COPY o2ims/ /src/o2ims/ -COPY o2dms/ /src/o2dms/ -COPY o2common/ /src/o2common/ -COPY setup.py /src/ - -RUN pip install -e /src - -COPY tests/ /tests/ - -RUN apt-get install -y procps vim - -WORKDIR /src +FROM nexus3.onap.org:10001/onap/integration-python:12.0.0 as build +# https://nexus3.onap.org/#browse/search=keyword%3Dintegration-python:d406d405e4cfbf1186265b01088caf9a +# https://git.onap.org/integration/docker/onap-python/tree/Dockerfile + +USER root + +RUN apk add --no-cache \ + git \ + curl \ + bluez-dev \ + bzip2-dev \ + dpkg-dev dpkg \ + expat-dev \ + gcc \ + libc-dev \ + libffi-dev \ + libnsl-dev \ + libtirpc-dev \ + linux-headers \ + make \ + ncurses-dev \ + openssl-dev \ + pax-utils \ + sqlite-dev \ + tcl-dev \ + tk \ + tk-dev \ + util-linux-dev \ + xz-dev \ + zlib-dev \ + && curl -O https://get.helm.sh/helm-v3.3.1-linux-amd64.tar.gz \ + && tar -zxvf helm-v3.3.1-linux-amd64.tar.gz \ + && cp linux-amd64/helm /usr/local/bin \ + && rm -f helm-v3.3.1-linux-amd64.tar.gz + +COPY requirements.txt /tmp/ +COPY requirements-stx.txt /tmp/ +COPY constraints.txt /tmp/ +COPY setup.py /src/ + +ENV PATH="/.venv/bin:${PATH}" + +RUN mkdir -p /.venv && \ + python -m venv /.venv \ + && pip install --no-cache-dir -r /tmp/requirements.txt -r /tmp/requirements-stx.txt -c /tmp/constraints.txt \ + && pip install --no-cache-dir -e /src + +FROM nexus3.onap.org:10001/onap/integration-python:12.0.0 + +ARG user=orano2 +ARG group=orano2 + +USER root + +RUN apk add --no-cache bash + +COPY --from=build /.venv /.venv +COPY --from=build /src /src + +# Create a group and user +RUN addgroup -S $group \ + && adduser -S -D -h /home/$user $user $group \ + && chown -R $user:$group /home/$user \ + && mkdir /var/log/$user \ + && mkdir -p /src \ + && mkdir -p /configs/ \ + && mkdir -p /src/o2app/ \ + && mkdir -p /src/helm_sdk/ \ + && mkdir -p /etc/o2/ \ + && chown -R $user:$group /var/log/$user \ + && chown -R $user:$group /src \ + && chown -R $user:$group /configs \ + && chown -R $user:$group /etc/o2/ + +COPY helm_sdk/ /src/helm_sdk/ + +COPY configs/ /etc/o2/ +COPY configs/ /configs/ + +COPY o2common/ /src/o2common/ +COPY o2app/ /src/o2app/ +COPY o2dms/ /src/o2dms/ +COPY o2ims/ /src/o2ims/ + +WORKDIR /src + +# USER $user +ENV PYTHONHASHSEED=0 +ENV PATH="/.venv/bin:${PATH}"