From 2a565f49c2a7cfc4dbb2394d7ded786f20256234 Mon Sep 17 00:00:00 2001 From: Valentin Rothberg Date: Tue, 16 Jun 2020 10:52:13 +0200 Subject: [PATCH] auto-update: use image's arch Use the architecture of the local image when looking for a new image on a registry. It seems to be common practice on ARM to tweak the architecture choice to pull the correct image. Fixes: #6613 Signed-off-by: Valentin Rothberg --- pkg/autoupdate/autoupdate.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkg/autoupdate/autoupdate.go b/pkg/autoupdate/autoupdate.go index eca5c342ce..0ec98d3b65 100644 --- a/pkg/autoupdate/autoupdate.go +++ b/pkg/autoupdate/autoupdate.go @@ -251,8 +251,19 @@ func newerImageAvailable(runtime *libpod.Runtime, img *image.Image, origName str return false, err } + data, err := img.Inspect(context.Background()) + if err != nil { + return false, err + } + sys := runtime.SystemContext() sys.AuthFilePath = options.Authfile + + // We need to account for the arch that the image uses. It seems + // common on ARM to tweak this option to pull the correct image. See + // github.com/containers/libpod/issues/6613. + sys.ArchitectureChoice = data.Architecture + remoteImg, err := remoteRef.NewImage(context.Background(), sys) if err != nil { return false, err