From a540530c66dbd78b83554e22064728c7c03801ea Mon Sep 17 00:00:00 2001 From: Jingzhao Ni Date: Fri, 17 Aug 2018 16:58:58 +0800 Subject: Add some build option in build.sh for supporting arm arch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In build.sh, add some build options for arm arch. It also updates constraints to OpenStack Queens. Co-Authored-By: Cédric Ollivier Change-Id: I3cc6c10e2e52c281e2324d8b42b721383be30c0b Signed-off-by: Jingzhao Ni Signed-off-by: Cédric Ollivier --- build.sh | 42 +++++++++++++++++++++++++++++++++--------- docker/core/Dockerfile | 2 +- docker/features/Dockerfile | 2 +- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/build.sh b/build.sh index 8238795f..75d7414c 100644 --- a/build.sh +++ b/build.sh @@ -8,24 +8,48 @@ docker/core \ docker/healthcheck \ docker/smoke \ docker/features"} +arm64_dirs=${arm64_dirs-${amd64_dirs}} build_opts=(--pull=true --no-cache --force-rm=true) find . -name Dockerfile -exec sed -i \ - -e "s|opnfv/functest-kubernetes-core|${repo}/functest-kubernetes-core|g" \ - {} + + -e "s|opnfv/functest-kubernetes-core|\ +${repo}/functest-kubernetes-core:amd64-latest|g" {} + find . -name Dockerfile -exec sed -i \ -e "s|opnfv/functest-kubernetes-healthcheck|\ -${repo}/functest-kubernetes-healthcheck|g" {} + +${repo}/functest-kubernetes-healthcheck:amd64-latest|g" {} + for dir in ${amd64_dirs}; do - (cd "${dir}" && docker build "${build_opts[@]}" \ - -t "${repo}/functest-kubernetes-${dir##**/}" .) - #docker push "${repo}/functest-kubernetes-${dir##**/}" + (cd "${dir}" && + docker build "${build_opts[@]}" \ + -t "${repo}/functest-kubernetes-${dir##**/}:amd64-latest" .) + docker push "${repo}/functest-kubernetes-${dir##**/}:amd64-latest" [ "${dir}" != "docker/core" ] && - (docker rmi "${repo}/functest-kubernetes-${dir##**/}" || true) + (docker rmi \ + "${repo}/functest-kubernetes-${dir##**/}:amd64-latest" || true) done [ ! -z "${amd64_dirs}" ] && - (docker rmi "${repo}/functest-kubernetes-healthcheck" \ - "${repo}/functest-kubernetes-core" alpine:3.7 || true) + (docker rmi \ + "${repo}/functest-kubernetes-core:amd64-latest" alpine:3.7 || true) +find . -name Dockerfile -exec git checkout {} + + +find . -name Dockerfile -exec sed -i \ + -e "s|alpine:3.7|multiarch/alpine:arm64-v3.7|g" {} + +find . -name Dockerfile -exec sed -i \ + -e "s|opnfv/functest-kubernetes-core|\ +${repo}/functest-kubernetes-core:arm64-latest|g" {} + +find . -name Dockerfile -exec sed -i \ + -e "s|opnfv/functest-kubernetes-healthcheck|\ +${repo}/functest-kubernetes-healthcheck:arm64-latest|g" {} + +for dir in ${arm64_dirs}; do + (cd "${dir}" && docker build "${build_opts[@]}" \ + -t "${repo}/functest-kubernetes-${dir##**/}:arm64-latest" .) + docker push "${repo}/functest-kubernetes-${dir##**/}:arm64-latest" + [ "${dir}" != "docker/core" ] && + (docker rmi \ + "${repo}/functest-kubernetes-${dir##**/}:arm64-latest" || true) +done +[ ! -z "${arm64_dirs}" ] && + (docker rmi "${repo}/functest-kubernetes-core:arm64-latest" \ + multiarch/alpine:arm64-v3.7 || true) find . -name Dockerfile -exec git checkout {} + exit $? diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile index f07f4da3..d48980de 100644 --- a/docker/core/Dockerfile +++ b/docker/core/Dockerfile @@ -1,7 +1,7 @@ FROM alpine:3.7 ARG BRANCH=master -ARG OPENSTACK_TAG=stable/pike +ARG OPENSTACK_TAG=stable/queens ARG OPNFV_TAG=master RUN apk --no-cache add --update python py-pip bash git grep && \ diff --git a/docker/features/Dockerfile b/docker/features/Dockerfile index e1c82e4c..9b626d3b 100644 --- a/docker/features/Dockerfile +++ b/docker/features/Dockerfile @@ -1,6 +1,6 @@ FROM opnfv/functest-kubernetes-core -ARG OPENSTACK_TAG=stable/pike +ARG OPENSTACK_TAG=stable/queens ARG OPNFV_TAG=master RUN apk --no-cache add --update make py-pip bash git go \ -- cgit 1.2.3-korg