From: Emma Foley Date: Wed, 21 Apr 2021 13:37:13 +0000 (+0100) Subject: [docker] Reduce the number of build steps in containers X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=923175d15112a865f3f51e80dab88922c17340d6;p=barometer.git [docker] Reduce the number of build steps in containers * Move collectd_apply_pull_request.sh to src/collectd/, which is where the Makefile expects this script to be anyway * Use ARG instead of ENV in collectd container for COLLECTD_FLAVOR, COLLECTD_PULL_REQUESTS, WITH_DPDK * Move the experimental sample configs to src/collectd The configs are copied into the src/collectd directory within the container anyway, so this skips a step in the container build. * Remove initial package installation in containers Move the installation of these packages to the package install steps in the build script in systems/ instead. * Remove unnecessary WORKDIR command The WORKDIR {repo_dir} is unnecessary, since the following commands are using absolute paths rather than relative paths. Signed-off-by: Emma Foley Change-Id: I52b96a651cb5d9b644f11f5407cabf3fb21cb6a9 --- diff --git a/docker/barometer-collectd-experimental/Dockerfile b/docker/barometer-collectd-experimental/Dockerfile index 2cb26825..9565bdb4 100644 --- a/docker/barometer-collectd-experimental/Dockerfile +++ b/docker/barometer-collectd-experimental/Dockerfile @@ -1,4 +1,5 @@ -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,30 +15,18 @@ # FROM centos:8 -RUN dnf update -y && \ - dnf install -y which sudo git && \ - dnf clean all && \ - git config --global http.sslVerify false +ARG COLLECTD_FLAVOR=experimental +ARG COLLECTD_PULL_REQUESTS= +ARG WITH_DPDK=n ENV DOCKER y -ENV COLLECTD_FLAVOR experimental -ARG COLLECTD_PULL_REQUESTS -ENV WITH_DPDK y ENV repos_dir /src -WORKDIR ${repos_dir} RUN mkdir -p ${repos_dir}/barometer COPY . ${repos_dir}/barometer -COPY docker/barometer-collectd-experimental/collectd_apply_pull_request.sh \ - ${repos_dir}/barometer/src/collectd/ - -# copying additional experimental configs on top of configs for 'main' -# branch release -COPY docker/barometer-collectd-experimental/experimental-configs/* \ - ${repos_dir}/barometer/src/collectd/collectd_sample_configs-master/ WORKDIR ${repos_dir}/barometer/systems -RUN sh ./build_base_machine.sh && \ +RUN ./build_base_machine.sh && \ dnf clean all && rm -rf /var/cache/dnf && \ useradd -ms /bin/bash collectd_exec && \ echo "collectd_exec ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers diff --git a/docker/barometer-collectd-latest/Dockerfile b/docker/barometer-collectd-latest/Dockerfile index 4c01c870..b3a7a646 100644 --- a/docker/barometer-collectd-latest/Dockerfile +++ b/docker/barometer-collectd-latest/Dockerfile @@ -1,4 +1,5 @@ -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,17 +15,12 @@ # FROM centos:8 -RUN dnf update -y && \ - dnf install -y which sudo git && \ - dnf clean all && \ - git config --global http.sslVerify false +ARG COLLECTD_FLAVOR=latest +ARG WITH_DPDK=y ENV DOCKER y -ENV COLLECTD_FLAVOR latest -ENV WITH_DPDK y ENV repos_dir /src -WORKDIR ${repos_dir} RUN mkdir -p ${repos_dir}/barometer COPY . ${repos_dir}/barometer diff --git a/docker/barometer-collectd/Dockerfile b/docker/barometer-collectd/Dockerfile index ad4a1579..e263e97f 100644 --- a/docker/barometer-collectd/Dockerfile +++ b/docker/barometer-collectd/Dockerfile @@ -1,4 +1,5 @@ -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,7 +16,7 @@ FROM centos:8 RUN dnf update -y && \ - dnf install -y which sudo git && \ + dnf install -y which sudo git-core && \ dnf clean all && \ git config --global http.sslVerify false diff --git a/docker/barometer-collectd-experimental/collectd_apply_pull_request.sh b/src/collectd/collectd_apply_pull_request.sh similarity index 94% rename from docker/barometer-collectd-experimental/collectd_apply_pull_request.sh rename to src/collectd/collectd_apply_pull_request.sh index dbbc5f26..35af2981 100755 --- a/docker/barometer-collectd-experimental/collectd_apply_pull_request.sh +++ b/src/collectd/collectd_apply_pull_request.sh @@ -1,5 +1,6 @@ #! /bin/bash -# Copyright 2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2019-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/docker/barometer-collectd-experimental/experimental-configs/README b/src/collectd/collectd_sample_configs-experimental/README similarity index 100% rename from docker/barometer-collectd-experimental/experimental-configs/README rename to src/collectd/collectd_sample_configs-experimental/README diff --git a/systems/centos/7/build_base_machine.sh b/systems/centos/7/build_base_machine.sh index 41595d7e..346160fa 100755 --- a/systems/centos/7/build_base_machine.sh +++ b/systems/centos/7/build_base_machine.sh @@ -2,7 +2,8 @@ # # Build a base machine for CentOS distro # -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -43,7 +44,8 @@ flex bison libtool pkg-config -git +git-core +sudo rpm-build libcap-devel xfsprogs-devel diff --git a/systems/centos/8/build_base_machine.sh b/systems/centos/8/build_base_machine.sh index 8486f3c0..ceb583d7 100755 --- a/systems/centos/8/build_base_machine.sh +++ b/systems/centos/8/build_base_machine.sh @@ -2,7 +2,8 @@ # # Build a base machine for CentOS distro # -# Copyright 2017-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2017-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,6 +22,7 @@ # Aihua Li, Huawei Technologies. # Martin Klozik, Intel Corporation. # Maryam Tahhan, Intel Corporation. +# Emma Foley, Red Hat. # Synchronize package index files dnf -y update @@ -51,6 +53,7 @@ bison libtool pkg-config git-core +sudo rpm-build libcap-devel xfsprogs-devel @@ -79,6 +82,9 @@ rrdtool-devel dpdk-19.11.3 qpid-proton-c-devel +# ping collectd-6 +liboping-devel + #install epel release required for git-review epel-release python3-libvirt diff --git a/systems/rhel/7/build_base_machine.sh b/systems/rhel/7/build_base_machine.sh index 7bb97267..ac9de4f5 100755 --- a/systems/rhel/7/build_base_machine.sh +++ b/systems/rhel/7/build_base_machine.sh @@ -2,7 +2,8 @@ # # Build a base machine for RHEL distro # -# Copyright 2016-2019 Intel Corporation and OPNFV. All rights reserved. +# Copyright 2016-2021 Intel Corporation, Anuket and others. +# All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,6 +22,7 @@ # Aihua Li, Huawei Technologies. # Martin Klozik, Intel Corporation. # Maryam Tahhan, Intel Corporation. +# Emma Foley, Red Hat. # Synchronize package index files yum -y update @@ -43,7 +45,8 @@ flex bison libtool pkg-config -git +git-core +sudo rpm-build libcap-devel xfsprogs-devel diff --git a/systems/ubuntu/16.04/build_base_machine.sh b/systems/ubuntu/16.04/build_base_machine.sh index d74ec6d8..d04d587e 100755 --- a/systems/ubuntu/16.04/build_base_machine.sh +++ b/systems/ubuntu/16.04/build_base_machine.sh @@ -15,9 +15,13 @@ # set -eux -apt-get -y install build-essential dh-autoreconf fakeroot devscripts dpkg-dev git wget -apt-get -y install \ +export DEBIAN_FRONTEND=noninteractive + +apt-get -yq update +apt-get -yq install build-essential dh-autoreconf fakeroot devscripts dpkg-dev git-core wget sudo + +apt-get -yq install \ debhelper dpkg-dev po-debconf dh-systemd dh-strip-nondeterminism \ bison flex autotools-dev libltdl-dev pkg-config \ iptables-dev \