Pull functest-core when only building childs
authorCédric Ollivier <cedric.ollivier@orange.com>
Thu, 7 Dec 2017 21:57:49 +0000 (22:57 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Thu, 7 Dec 2017 22:03:32 +0000 (23:03 +0100)
Otherwise it fails if parent and childs containers are not built on
the same host [1].

It would have worked if the docker images were correctly cleant. Then
the last image would have been pulled.

[1] https://build.opnfv.org/ci/job/functest-apex-baremetal-daily-euphrates/362/console

Change-Id: I293829c839c1cf68c9f7668aa643e16889359fcc
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
build.sh

index 51752a8..e384ce3 100644 (file)
--- a/build.sh
+++ b/build.sh
@@ -16,6 +16,9 @@ arm64_dirs=${arm64_dirs-$(echo "${amd64_dirs}" | sed -e "s|docker/vnf||" \
     -e "s|docker/restapi||")}
 
 find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core|${repo}/functest-core:amd64-latest|g" {} +
+if [[ ${amd64_dirs} != *"docker/core"* ]]; then
+    docker pull "${repo}/functest-core:amd64-latest"
+fi
 for dir in ${amd64_dirs}; do
     (cd "${dir}" && docker build --no-cache -t "${repo}/functest-${dir##**/}:amd64-latest" .)
     docker push "${repo}/functest-${dir##**/}:amd64-latest"
@@ -24,6 +27,9 @@ find . -name Dockerfile -exec git checkout {} +
 
 find . -name Dockerfile -exec sed -i -e "s|alpine:3.6|multiarch/alpine:arm64-v3.6|g" {} +
 find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core|${repo}/functest-core:arm64-latest|g" {} +
+if [[ ${arm64_dirs} != *"docker/core"* ]]; then
+    docker pull "${repo}/functest-core:arm64-latest"
+fi
 for dir in ${arm64_dirs}; do
     (cd "${dir}" && docker build --no-cache -t "${repo}/functest-${dir##**/}:arm64-latest" .)
     docker push "${repo}/functest-${dir##**/}:arm64-latest"