diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-06-29 06:10:05 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-29 06:10:05 -0400 |
commit | fbb4e5ebc83b7e969f8d7993c8e9b27145d2be46 (patch) | |
tree | 2a52be4533044fcdae523fcef202808d5863deab /vendor | |
parent | a2765155eeab6a13964dfaccafcce70b94e4ffbd (diff) | |
parent | 8a41bf3ee666c0320448c1d3a2bf233640a1fc5d (diff) | |
download | podman-fbb4e5ebc83b7e969f8d7993c8e9b27145d2be46.tar.gz podman-fbb4e5ebc83b7e969f8d7993c8e9b27145d2be46.tar.bz2 podman-fbb4e5ebc83b7e969f8d7993c8e9b27145d2be46.zip |
Merge pull request #10808 from vrothberg/3.2-backports
[3.2] vendor containers/common@v0.38.12
Diffstat (limited to 'vendor')
-rw-r--r-- | vendor/github.com/containers/common/libimage/pull.go | 39 | ||||
-rw-r--r-- | vendor/github.com/containers/common/version/version.go | 2 | ||||
-rw-r--r-- | vendor/modules.txt | 2 |
3 files changed, 27 insertions, 16 deletions
diff --git a/vendor/github.com/containers/common/libimage/pull.go b/vendor/github.com/containers/common/libimage/pull.go index d97a884d2..0d3a47020 100644 --- a/vendor/github.com/containers/common/libimage/pull.go +++ b/vendor/github.com/containers/common/libimage/pull.go @@ -374,18 +374,22 @@ func (r *Runtime) copySingleImageFromRegistry(ctx context.Context, imageName str } } - // Unless the pull policy is "always", we must pessimistically assume - // that the local image has an invalid architecture (see - // containers/podman/issues/10682). Hence, whenever the user requests - // a custom platform, set the pull policy to "always" to make sure - // we're pulling down the image. - // - // NOTE that this is will even override --pull={false,never}. This is - // very likely a bug but a consistent one in Podman/Buildah and should - // be addressed at a later point. - if pullPolicy != config.PullPolicyAlways && len(options.Architecture)+len(options.OS)+len(options.Variant) > 0 { - logrus.Debugf("Enforcing pull policy to %q to support custom platform (arch: %q, os: %q, variant: %q)", "always", options.Architecture, options.OS, options.Variant) - pullPolicy = config.PullPolicyAlways + customPlatform := false + if len(options.Architecture)+len(options.OS)+len(options.Variant) > 0 { + customPlatform = true + // Unless the pull policy is "always", we must pessimistically assume + // that the local image has an invalid architecture (see + // containers/podman/issues/10682). Hence, whenever the user requests + // a custom platform, set the pull policy to "always" to make sure + // we're pulling down the image. + // + // NOTE that this is will even override --pull={false,never}. This is + // very likely a bug but a consistent one in Podman/Buildah and should + // be addressed at a later point. + if pullPolicy != config.PullPolicyAlways { + logrus.Debugf("Enforcing pull policy to %q to support custom platform (arch: %q, os: %q, variant: %q)", "always", options.Architecture, options.OS, options.Variant) + pullPolicy = config.PullPolicyAlways + } } if pullPolicy == config.PullPolicyNever { @@ -412,8 +416,15 @@ func (r *Runtime) copySingleImageFromRegistry(ctx context.Context, imageName str } // If we found a local image, we should use it's locally resolved name - // (see containers/buildah #2904). - if localImage != nil { + // (see containers/buildah/issues/2904). An exception is if a custom + // platform is specified (e.g., `--arch=arm64`). In that case, we need + // to pessimistically pull the image since some images declare wrong + // platforms making platform checks absolutely unreliable (see + // containers/podman/issues/10682). + // + // In other words: multi-arch support can only be as good as the images + // in the wild. + if localImage != nil && !customPlatform { if imageName != resolvedImageName { logrus.Debugf("Image %s resolved to local image %s which will be used for pulling", imageName, resolvedImageName) } diff --git a/vendor/github.com/containers/common/version/version.go b/vendor/github.com/containers/common/version/version.go index 185c6e43c..6c0260346 100644 --- a/vendor/github.com/containers/common/version/version.go +++ b/vendor/github.com/containers/common/version/version.go @@ -1,4 +1,4 @@ package version // Version is the version of the build. -const Version = "0.38.11" +const Version = "0.38.12" diff --git a/vendor/modules.txt b/vendor/modules.txt index 254aa23f1..4752409b2 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -91,7 +91,7 @@ github.com/containers/buildah/pkg/overlay github.com/containers/buildah/pkg/parse github.com/containers/buildah/pkg/rusage github.com/containers/buildah/util -# github.com/containers/common v0.38.11 +# github.com/containers/common v0.38.12 github.com/containers/common/libimage github.com/containers/common/libimage/manifests github.com/containers/common/pkg/apparmor |