[docker] Reduce the number of build steps in containers 25/72425/4
authorEmma Foley <efoley@redhat.com>
Wed, 21 Apr 2021 13:37:13 +0000 (14:37 +0100)
committerEmma Foley <efoley@redhat.com>
Thu, 27 May 2021 17:09:41 +0000 (18:09 +0100)
* 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 <efoley@redhat.com>
Change-Id: I52b96a651cb5d9b644f11f5407cabf3fb21cb6a9

docker/barometer-collectd-experimental/Dockerfile
docker/barometer-collectd-latest/Dockerfile
docker/barometer-collectd/Dockerfile
src/collectd/collectd_apply_pull_request.sh [moved from docker/barometer-collectd-experimental/collectd_apply_pull_request.sh with 94% similarity]
src/collectd/collectd_sample_configs-experimental/README [moved from docker/barometer-collectd-experimental/experimental-configs/README with 100% similarity]
systems/centos/7/build_base_machine.sh
systems/centos/8/build_base_machine.sh
systems/rhel/7/build_base_machine.sh
systems/ubuntu/16.04/build_base_machine.sh

index 2cb2682..9565bdb 100644 (file)
@@ -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.
 #
 
 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
index 4c01c87..b3a7a64 100644 (file)
@@ -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.
 #
 
 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
 
index ad4a157..e263e97 100644 (file)
@@ -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
 
@@ -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.
index 41595d7..346160f 100755 (executable)
@@ -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
index 8486f3c..ceb583d 100755 (executable)
@@ -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
index 7bb9726..ac9de4f 100755 (executable)
@@ -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
index d74ec6d..d04d587 100755 (executable)
 #
 
 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 \