summaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-06-29 06:10:05 -0400
committerGitHub <noreply@github.com>2021-06-29 06:10:05 -0400
commitfbb4e5ebc83b7e969f8d7993c8e9b27145d2be46 (patch)
tree2a52be4533044fcdae523fcef202808d5863deab /vendor
parenta2765155eeab6a13964dfaccafcce70b94e4ffbd (diff)
parent8a41bf3ee666c0320448c1d3a2bf233640a1fc5d (diff)
downloadpodman-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.go39
-rw-r--r--vendor/github.com/containers/common/version/version.go2
-rw-r--r--vendor/modules.txt2
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