diff --git a/test/images/agnhost/BASEIMAGE b/test/images/agnhost/BASEIMAGE index 7bad7a6d3a2..ad69ccfb016 100644 --- a/test/images/agnhost/BASEIMAGE +++ b/test/images/agnhost/BASEIMAGE @@ -1,5 +1,5 @@ -amd64=alpine:3.6 -arm=arm32v6/alpine:3.6 -arm64=arm64v8/alpine:3.6 -ppc64le=ppc64le/alpine:3.6 -s390x=s390x/alpine:3.6 +linux/amd64=alpine:3.6 +linux/arm=arm32v6/alpine:3.6 +linux/arm64=arm64v8/alpine:3.6 +linux/ppc64le=ppc64le/alpine:3.6 +linux/s390x=s390x/alpine:3.6 diff --git a/test/images/apparmor-loader/BASEIMAGE b/test/images/apparmor-loader/BASEIMAGE index 960ad547f94..8d99f110a96 100644 --- a/test/images/apparmor-loader/BASEIMAGE +++ b/test/images/apparmor-loader/BASEIMAGE @@ -1,4 +1,4 @@ -amd64=alpine:3.8 -arm=arm32v6/alpine:3.8 -arm64=arm64v8/alpine:3.8 -ppc64le=ppc64le/alpine:3.8 +linux/amd64=alpine:3.8 +linux/arm=arm32v6/alpine:3.8 +linux/arm64=arm64v8/alpine:3.8 +linux/ppc64le=ppc64le/alpine:3.8 diff --git a/test/images/cuda-vector-add/BASEIMAGE b/test/images/cuda-vector-add/BASEIMAGE index 89b44efb366..5e5cd4dac28 100644 --- a/test/images/cuda-vector-add/BASEIMAGE +++ b/test/images/cuda-vector-add/BASEIMAGE @@ -1,2 +1,2 @@ -amd64=nvidia/cuda:10.0-devel-ubuntu18.04 -ppc64le=nvidia/cuda-ppc64le:10.0-devel-ubuntu18.04 +linux/amd64=nvidia/cuda:10.0-devel-ubuntu18.04 +linux/ppc64le=nvidia/cuda-ppc64le:10.0-devel-ubuntu18.04 diff --git a/test/images/echoserver/BASEIMAGE b/test/images/echoserver/BASEIMAGE index d27954b62e8..269c92ac3ad 100644 --- a/test/images/echoserver/BASEIMAGE +++ b/test/images/echoserver/BASEIMAGE @@ -1,5 +1,5 @@ -amd64=nginx:1.15-alpine -arm=arm32v6/nginx:1.15-alpine -arm64=arm64v8/nginx:1.15-alpine -ppc64le=ppc64le/nginx:1.15-alpine -s390x=s390x/nginx:1.15-alpine +linux/amd64=nginx:1.15-alpine +linux/arm=arm32v6/nginx:1.15-alpine +linux/arm64=arm64v8/nginx:1.15-alpine +linux/ppc64le=ppc64le/nginx:1.15-alpine +linux/s390x=s390x/nginx:1.15-alpine diff --git a/test/images/image-util.sh b/test/images/image-util.sh index 99e91f4d803..2fabb902095 100755 --- a/test/images/image-util.sh +++ b/test/images/image-util.sh @@ -29,15 +29,16 @@ source "${KUBE_ROOT}/hack/lib/util.sh" declare -A QEMUARCHS=( ["amd64"]="x86_64" ["arm"]="arm" ["arm64"]="aarch64" ["ppc64le"]="ppc64le" ["s390x"]="s390x" ) # Returns list of all supported architectures from BASEIMAGE file -listArchs() { +listOsArchs() { image=$1 cut -d "=" -f 1 "${image}"/BASEIMAGE } # Returns baseimage need to used in Dockerfile for any given architecture getBaseImage() { - arch=$1 - grep "${arch}=" BASEIMAGE | cut -d= -f2 + os_name=$1 + arch=$2 + grep "${os_name}/${arch}=" BASEIMAGE | cut -d= -f2 } # This function will build test image for all the architectures @@ -47,15 +48,24 @@ getBaseImage() { build() { image=$1 if [[ -f ${image}/BASEIMAGE ]]; then - archs=$(listArchs "$image") + os_archs=$(listOsArchs "$image") else - archs=${!QEMUARCHS[*]} + # prepend linux/ to the QEMUARCHS items. + os_archs=$(printf 'linux/%s\n' "${!QEMUARCHS[*]}") fi kube::util::ensure-gnu-sed - for arch in ${archs}; do - echo "Building image for ${image} ARCH: ${arch}..." + for os_arch in ${os_archs}; do + if [[ $os_arch =~ .*/.* ]]; then + os_name=$(echo "$os_arch" | cut -d "/" -f 1) + arch=$(echo "$os_arch" | cut -d "/" -f 2) + else + echo "The BASEIMAGE file for the ${image} image is not properly formatted. Expected entries to start with 'os/arch', found '${os_arch}' instead." + exit 1 + fi + + echo "Building image for ${image} OS/ARCH: ${os_arch}..." # Create a temporary directory for every architecture and copy the image content # and build the image from temporary directory @@ -74,7 +84,7 @@ build() { TAG=$(