Pull functest-core when only building childs 69/48569/2
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:18:52 +0000 (23:18 +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

Conflicts:
    build.sh

Change-Id: I293829c839c1cf68c9f7668aa643e16889359fcc
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
(cherry picked from commit e3281b2175ca9983d79ce17de7e7497f749e650e)

build.sh

index f586730..f3fa12a 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:euphrates|${repo}/functest-core:amd64-euphrates|g" {} +
+if [[ ${amd64_dirs} != *"docker/core"* ]]; then
+    docker pull "${repo}/functest-core:amd64-euphrates"
+fi
 for dir in ${amd64_dirs}; do
     (cd "${dir}" && docker build --no-cache -t "${repo}/functest-${dir##**/}:amd64-euphrates" .)
     docker push "${repo}/functest-${dir##**/}:amd64-euphrates"
@@ -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:euphrates|${repo}/functest-core:arm64-euphrates|g" {} +
+if [[ ${arm64_dirs} != *"docker/core"* ]]; then
+    docker pull "${repo}/functest-core:arm64-euphrates"
+fi
 for dir in ${arm64_dirs}; do
     (cd "${dir}" && docker build --no-cache -t "${repo}/functest-${dir##**/}:arm64-euphrates" .)
     docker push "${repo}/functest-${dir##**/}:arm64-euphrates"