From c450092fde60417e3a8f9d1a2d59a7ce2eff23e4 Mon Sep 17 00:00:00 2001 From: Valentin Rothberg Date: Thu, 28 Jan 2021 17:53:05 +0100 Subject: Revert "podman build --pull: use correct policy" This reverts commit 15caebfe561952eaadd4896b7efb56f26724cce5. The previous behaviour of `--pull` to *always* attempt to pull the image and error out if the pull failed aligns with Docker. Since Podman aims at feature parity with Docker, the `--pull` behaviour must match. Fixes: #9134 Signed-off-by: Valentin Rothberg --- cmd/podman/images/build.go | 2 +- test/system/070-build.bats | 23 ----------------------- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/cmd/podman/images/build.go b/cmd/podman/images/build.go index 957c0ac2d..4219e325b 100644 --- a/cmd/podman/images/build.go +++ b/cmd/podman/images/build.go @@ -266,7 +266,7 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil pullPolicy := imagebuildah.PullIfMissing if c.Flags().Changed("pull") && flags.Pull { - pullPolicy = imagebuildah.PullIfNewer + pullPolicy = imagebuildah.PullAlways } if flags.PullAlways { pullPolicy = imagebuildah.PullAlways diff --git a/test/system/070-build.bats b/test/system/070-build.bats index 6b5bc68fb..7a42a4c18 100644 --- a/test/system/070-build.bats +++ b/test/system/070-build.bats @@ -29,29 +29,6 @@ EOF run_podman rmi -f build_test } -@test "podman build - basic test with --pull" { - rand_filename=$(random_string 20) - rand_content=$(random_string 50) - - run_podman tag $IMAGE localhost/localonly - - tmpdir=$PODMAN_TMPDIR/build-test - mkdir -p $tmpdir - dockerfile=$tmpdir/Dockerfile - cat >$dockerfile < /$rand_filename -EOF - # With --pull, Podman would try to pull a newer image but use the local one - # if present. See #9111. - run_podman build --pull -t build_test $tmpdir - - run_podman run --rm build_test cat /$rand_filename - is "$output" "$rand_content" "reading generated file in image" - - run_podman rmi -f build_test localhost/localonly -} - @test "podman build - global runtime flags test" { skip_if_remote "--runtime-flag flag not supported for remote" -- cgit v1.2.3-54-g00ecf From c0bf0ba9e5bfa3df343dd3364c0ee2d8c737ae59 Mon Sep 17 00:00:00 2001 From: Valentin Rothberg Date: Thu, 28 Jan 2021 18:00:22 +0100 Subject: podman build --pull: refine help message and docs Refine and correct the wording of the `--pull` flag in the help message and the docs. Signed-off-by: Valentin Rothberg --- cmd/podman/images/build.go | 2 ++ docs/source/markdown/podman-build.1.md | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cmd/podman/images/build.go b/cmd/podman/images/build.go index 4219e325b..1f06dace9 100644 --- a/cmd/podman/images/build.go +++ b/cmd/podman/images/build.go @@ -106,7 +106,9 @@ func buildFlags(cmd *cobra.Command) { logrus.Errorf("unable to set --pull to true: %v", err) } flag.DefValue = "true" + flag.Usage = "Always attempt to pull the image (errors are fatal)" flags.AddFlagSet(&budFlags) + // Add the completion functions budCompletions := buildahCLI.GetBudFlagsCompletions() completion.CompleteCommandFlags(cmd, budCompletions) diff --git a/docs/source/markdown/podman-build.1.md b/docs/source/markdown/podman-build.1.md index 61c05fdef..e05678e2c 100644 --- a/docs/source/markdown/podman-build.1.md +++ b/docs/source/markdown/podman-build.1.md @@ -455,9 +455,8 @@ not required for Buildah as it supports only Linux. #### **--pull** -When the option is specified or set to "true", pull the image from the first -registry it is found in as listed in registries.conf. Raise an error if not -found in the registries, even if the image is present locally. +When the option is specified or set to "true", pull the image. Raise an error +if the image could not be pulled, even if the image is present locally. If the option is disabled (with *--pull=false*) or not specified, pull the image from the registry only if the image is not present locally. Raise an -- cgit v1.2.3-54-g00ecf