From: Ioakeim Date: Tue, 8 Jun 2021 16:59:20 +0000 (+0300) Subject: Update Dockerfiles X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=17bfb0b141931c48ab07dd1303216624bc053aed;p=validation.git Update Dockerfiles Update Dockerfiles in order for the required images to be built successfully. Signed-off-by: Ioakeim Change-Id: I6bcdabc338378e980ecd8f7815586ba936342508 --- diff --git a/docker/docker/Dockerfile b/docker/docker/Dockerfile index 82c7040..cdf8f2f 100644 --- a/docker/docker/Dockerfile +++ b/docker/docker/Dockerfile @@ -15,18 +15,37 @@ ############################################################################## # ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds -FROM python:3.6-alpine3.9 as build +FROM python:3.10.0b1-alpine3.13 as build # Install dependencies COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt RUN apk --no-cache add --update \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + freetype-dev \ gcc \ + gdk-pixbuf-dev \ + gettext \ git \ - libc-dev \ - libffi \ + jpeg-dev \ + lcms2-dev \ libffi-dev \ - make \ - openssl-dev + musl-dev \ + openjpeg-dev \ + openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev # Build binaries WORKDIR /wheels @@ -36,11 +55,39 @@ RUN git clone https://gerrit.akraino.org/r/validation /opt/akraino/validation RUN git clone https://github.com/docker/docker-bench-security.git /opt/akraino/docker-bench-security # Copy binaries in the final container and install requirements -FROM python:3.6-alpine3.9 +FROM python:3.10.0b1-alpine3.13 COPY --from=build /wheels /wheels COPY --from=build /opt/akraino/validation /opt/akraino/validation COPY --from=build /opt/akraino/docker-bench-security /opt/akraino/docker-bench-security +RUN apk --no-cache add --update \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + freetype-dev \ + gcc \ + gdk-pixbuf-dev \ + gettext \ + git \ + jpeg-dev \ + lcms2-dev \ + libffi-dev \ + musl-dev \ + openjpeg-dev \ + openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev + RUN pip3 install -r /wheels/requirements/pip-requirements.txt \ -f /wheels && \ rm -rf /wheels && \ diff --git a/docker/hardware/Dockerfile b/docker/hardware/Dockerfile index a21cb64..19836f0 100644 --- a/docker/hardware/Dockerfile +++ b/docker/hardware/Dockerfile @@ -15,20 +15,38 @@ ############################################################################## # ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds -FROM python:3.6-alpine3.9 as build +FROM python:3.10.0b1-alpine3.13 as build # Install dependencies COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt RUN apk --no-cache add --update \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + freetype-dev \ gcc \ + gdk-pixbuf-dev \ + gettext \ git \ - libc-dev \ - libffi \ + jpeg-dev \ + lcms2-dev \ libffi-dev \ - make \ + musl-dev \ + openjpeg-dev \ openssl-dev \ - wget + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev # Build binaries WORKDIR /wheels @@ -42,12 +60,41 @@ RUN wget -qO- https://github.com/DMTF/Redfish-Usecase-Checkers/archive/master.zi unzip -qd /opt/akraino - # Copy binaries in the final contaier and install robot framework -FROM python:3.6-alpine3.9 +FROM python:3.10.0b1-alpine3.13 COPY --from=build /wheels /wheels COPY --from=build /opt/akraino/validation /opt/akraino/validation COPY --from=build /opt/akraino/Redfish-Test-Framework-master /opt/akraino/Redfish-Test-Framework COPY --from=build /opt/akraino/Redfish-Usecase-Checkers-master /opt/akraino/Redfish-Usecase-Checkers +RUN apk --no-cache add --update \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + curl \ + freetype-dev \ + gcc \ + gdk-pixbuf-dev \ + gettext \ + git \ + jpeg-dev \ + lcms2-dev \ + libffi-dev \ + musl-dev \ + openjpeg-dev \ + openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev + RUN pip3 install -r /wheels/requirements/pip-requirements.txt \ -f /wheels && \ rm -rf /wheels && \ @@ -60,6 +107,3 @@ RUN pip install -r /opt/akraino/validation/bluval/requirements.txt RUN pip install html-testRunner \ -r /opt/akraino/Redfish-Usecase-Checkers/requirements.txt -# Install curl -RUN apk --no-cache add --update \ - curl diff --git a/docker/helm/Dockerfile b/docker/helm/Dockerfile index 5d9c9af..824c63e 100644 --- a/docker/helm/Dockerfile +++ b/docker/helm/Dockerfile @@ -15,20 +15,39 @@ ############################################################################## # ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds -FROM python:3.6-alpine3.9 as build +FROM python:3.10.0b1-alpine3.13 as build ARG HELM_TAG=v2.15.1 # Install dependencies COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt RUN apk --no-cache add --update \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + freetype-dev \ gcc \ + gdk-pixbuf-dev \ + gettext \ git \ - libc-dev \ - libffi \ + jpeg-dev \ + lcms2-dev \ libffi-dev \ - make \ - openssl-dev + musl-dev \ + openjpeg-dev \ + openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev # Build binaries WORKDIR /wheels @@ -38,11 +57,39 @@ RUN git clone https://gerrit.akraino.org/r/validation /opt/akraino/validation RUN git clone -b $HELM_TAG https://github.com/helm/helm.git /opt/helm # Copy binaries in the final container and install requirements -FROM python:3.6-alpine3.9 +FROM python:3.10.0b1-alpine3.13 COPY --from=build /wheels /wheels COPY --from=build /opt/akraino/validation /opt/akraino/validation COPY --from=build /opt/helm/docs/examples/alpine /opt/akraino/bluval-test-alpine +RUN apk --no-cache add --update \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + freetype-dev \ + gcc \ + gdk-pixbuf-dev \ + gettext \ + git \ + jpeg-dev \ + lcms2-dev \ + libffi-dev \ + musl-dev \ + openjpeg-dev \ + openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev + RUN pip3 install -r /wheels/requirements/pip-requirements.txt \ -f /wheels && \ rm -rf /wheels && \ diff --git a/docker/k8s/Dockerfile b/docker/k8s/Dockerfile index 3296fdf..88b8609 100644 --- a/docker/k8s/Dockerfile +++ b/docker/k8s/Dockerfile @@ -15,7 +15,7 @@ ############################################################################## # ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds -FROM golang:alpine3.10 as build +FROM golang:1.16.5-alpine3.13 as build # Sonobuoy supports 3 Kubernetes minor versions: the current release and 2 # minor versions before. @@ -27,22 +27,40 @@ ARG K8S_VER=1.16 COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt RUN apk --no-cache add --update \ - curl \ - openssl \ - python3 \ bash \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + curl \ findutils \ + freetype-dev \ gcc \ + gdk-pixbuf-dev \ + gettext \ git \ grep \ + jpeg-dev \ + lcms2-dev \ libc-dev \ - libffi \ libffi-dev \ make \ + musl-dev \ + openjpeg-dev \ openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ python3-dev \ py3-pip \ - rsync + rsync \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev # Build binaries; detect the architecture automatically (default is amd64) RUN git clone https://github.com/kubernetes/kubernetes /src/k8s.io/kubernetes @@ -55,6 +73,7 @@ RUN if [ $(uname -m) == 'aarch64' ]; then HOST_ARCH=arm64; else HOST_ARCH=amd64; make WHAT=test/e2e/e2e.test ARCH=$HOST_ARCH RUN git clone https://github.com/heptio/sonobuoy /go/src/github.com/heptio/sonobuoy && \ cd /go/src/github.com/heptio/sonobuoy && \ + pwd \ git checkout $SB_TAG && \ go install RUN git clone https://gerrit.akraino.org/r/validation /opt/akraino/validation @@ -66,12 +85,48 @@ RUN pip3 install wheel RUN pip3 wheel -r /wheels/requirements/pip-requirements.txt # Copy binaries in the final container and install robot framework -FROM python:3.7-alpine3.10 +FROM python:3.10.0b1-alpine3.13 COPY --from=build /src/k8s.io/kubernetes/_output/bin /usr/local/bin COPY --from=build /go/bin/sonobuoy /bin/sonobuoy COPY --from=build /wheels /wheels COPY --from=build /opt/akraino/validation/ /opt/akraino/validation/ +RUN apk --no-cache add --update \ + bash \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + curl \ + findutils \ + freetype-dev \ + gcc \ + gdk-pixbuf-dev \ + gettext \ + git \ + grep \ + jpeg-dev \ + lcms2-dev \ + libc-dev \ + libffi-dev \ + make \ + musl-dev \ + openjpeg-dev \ + openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + py3-pip \ + rsync \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev + RUN pip3 install -r /wheels/requirements/pip-requirements.txt \ -f /wheels && \ rm -rf /wheels && \ diff --git a/docker/openstack/Dockerfile b/docker/openstack/Dockerfile index 6717d4c..bb40764 100644 --- a/docker/openstack/Dockerfile +++ b/docker/openstack/Dockerfile @@ -15,21 +15,49 @@ ############################################################################## # ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds -FROM python:3.6-alpine3.9 as build +FROM python:3.10.0b1-alpine3.13 as build ARG REFSTACK_TARGET=2019.11 # Install dependencies COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt + RUN apk --no-cache add --update \ + bash \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + curl \ + findutils \ + freetype-dev \ gcc \ + gdk-pixbuf-dev \ + gettext \ git \ + grep \ + jpeg-dev \ + lcms2-dev \ libc-dev \ - libffi \ libffi-dev \ make \ + musl-dev \ + openjpeg-dev \ openssl-dev \ - wget + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + py3-pip \ + rsync \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + wget \ + zlib-dev # Build binaries WORKDIR /wheels @@ -40,11 +68,48 @@ RUN wget -q -O /tmp/test_list.txt \ "https://refstack.openstack.org/api/v1/guidelines/$REFSTACK_TARGET/tests?target=platform&type=required&alias=true&flag=false" # Copy binaries in the final container and install requirements -FROM python:3.6-alpine3.9 +FROM python:3.10.0b1-alpine3.13 COPY --from=build /wheels /wheels COPY --from=build /opt/akraino/validation /opt/akraino/validation COPY --from=build /tmp/test_list.txt /opt/akraino/validation/tests/openstack/tempest/test_list.txt +RUN apk --no-cache add --update \ + bash \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + curl \ + findutils \ + freetype-dev \ + gcc \ + gdk-pixbuf-dev \ + gettext \ + git \ + grep \ + jpeg-dev \ + lcms2-dev \ + libc-dev \ + libffi-dev \ + make \ + musl-dev \ + openjpeg-dev \ + openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + py3-pip \ + rsync \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + wget \ + zlib-dev + RUN pip3 install -r /wheels/requirements/pip-requirements.txt \ -f /wheels && \ rm -rf /wheels && \ diff --git a/docker/os/Dockerfile b/docker/os/Dockerfile index c447dea..2c16473 100644 --- a/docker/os/Dockerfile +++ b/docker/os/Dockerfile @@ -15,28 +15,24 @@ ############################################################################## # ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds -FROM ubuntu:18.04 as build +FROM ubuntu as build # Install dependencies COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt RUN apt-get update && apt-get -y install \ - python3-pip \ gcc \ git \ - libc-dev \ - libffi6 \ - libffi-dev \ make \ - libssl-dev \ wget \ - golint \ - sqlite3 \ - debian-goodies \ - build-essential \ - pkg-config \ - autoconf automake autotools-dev m4 \ linux-headers-generic \ - libaio-dev libattr1-dev libcap-dev + build-essential \ + libssl-dev \ + libffi-dev \ + python-dev \ + python3-pip \ + automake \ + autoconf \ + pkgconf # Build binaries WORKDIR /wheels @@ -101,7 +97,7 @@ RUN \ rm *.sqlite3 # Copy binaries into the final container and install robot framework, bluval dependencies -FROM ubuntu:18.04 +FROM ubuntu COPY --from=build /wheels /wheels COPY --from=build /opt/akraino/validation /opt/akraino/validation COPY --from=build /opt/akraino/ltp.tar.gz /opt/akraino/ltp.tar.gz diff --git a/docker/services/Dockerfile b/docker/services/Dockerfile index 5b25e76..e2e24d3 100644 --- a/docker/services/Dockerfile +++ b/docker/services/Dockerfile @@ -15,19 +15,39 @@ ############################################################################## # ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds -FROM python:3.6-alpine3.9 as build +FROM python:3.10.0b1-alpine3.13 as build # Install dependencies COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt RUN apk --no-cache add --update \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + curl \ + freetype-dev \ gcc \ + gdk-pixbuf-dev \ + gettext \ git \ - libc-dev \ - libffi \ + jpeg-dev \ + lcms2-dev \ libffi-dev \ - make \ - openssl-dev + musl-dev \ + openjpeg-dev \ + openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev # Build binaries WORKDIR /wheels @@ -36,10 +56,39 @@ RUN pip3 wheel -r /wheels/requirements/pip-requirements.txt RUN git clone https://gerrit.akraino.org/r/validation /opt/akraino/validation # Copy binaries in the final contaier and install robot framework -FROM python:3.6-alpine3.9 +FROM python:3.10.0b1-alpine3.13 COPY --from=build /wheels /wheels COPY --from=build /opt/akraino/validation /opt/akraino/validation +RUN apk --no-cache add --update \ + build-base \ + cairo \ + cairo-dev \ + cargo \ + curl \ + freetype-dev \ + gcc \ + gdk-pixbuf-dev \ + gettext \ + git \ + jpeg-dev \ + lcms2-dev \ + libffi-dev \ + musl-dev \ + openjpeg-dev \ + openssl-dev \ + pango-dev \ + poppler-utils \ + postgresql-client \ + postgresql-dev \ + py-cffi \ + python3-dev \ + rust \ + tcl-dev \ + tiff-dev \ + tk-dev \ + zlib-dev + RUN pip3 install -r /wheels/requirements/pip-requirements.txt \ -f /wheels && \ rm -rf /wheels && \