X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Dockerfile;h=628b3a2dfa9183b88adf0e29793fb5f3b6501ebe;hb=c6b86dba7ff753b392c7bc74a28cd16f7c2fe82e;hp=dc0adcb2ba3178015a0304ab48af09f88ed37405;hpb=defe8209b3628593c186487857fe02586d7e1503;p=pti%2Fo2.git diff --git a/Dockerfile b/Dockerfile index dc0adcb..628b3a2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,52 +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 --depth 1 --branch master 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 --depth 1 --branch master https://opendev.org/starlingx/distcloud-client.git /distcloud-client/ -RUN pip install -e /distcloud-client/distributedcloud-client -# in case git repo is not accessable - -# RUN git clone --depth 1 --branch master https://github.com/cloudify-incubator/cloudify-helm-plugin.git /helmsdk - +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/ -RUN pip install -r /tmp/requirements.txt -c /tmp/constraints.txt +ENV PATH="/.venv/bin:${PATH}" -# RUN pip install -r /tmp/requirements-stx.txt +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 -COPY requirements-test.txt /tmp/ -RUN pip install -r /tmp/requirements-test.txt +FROM nexus3.onap.org:10001/onap/integration-python:12.0.0 +ARG user=orano2 +ARG group=orano2 -RUN mkdir -p /src -COPY o2ims/ /src/o2ims/ -COPY o2dms/ /src/o2dms/ -COPY o2common/ /src/o2common/ +USER root -RUN mkdir -p /src/o2app/ -COPY o2app/ /src/o2app/ -COPY setup.py /src/ +RUN apk add --no-cache bash -RUN pip install -e /src +COPY --from=build /.venv /.venv +COPY --from=build /src /src -COPY configs/ /etc/o2/ +# 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 tests/ /tests/ +COPY helm_sdk/ /src/helm_sdk/ -RUN apt-get install -y procps vim curl +COPY configs/ /etc/o2/ +COPY configs/ /configs/ -RUN curl -O https://get.helm.sh/helm-v3.3.1-linux-amd64.tar.gz; -RUN tar -zxvf helm-v3.3.1-linux-amd64.tar.gz; cp linux-amd64/helm /usr/local/bin +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}"