SHA256
1
0
forked from pool/podman

Accepting request 763947 from devel:kubic

OBS-URL: https://build.opensuse.org/request/show/763947
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/podman?expand=0&rev=52
This commit is contained in:
Dominique Leuenberger 2020-01-13 21:16:16 +00:00 committed by Git OBS Bridge
parent cd3d2c182d
commit 75b893ed42
6 changed files with 284 additions and 8 deletions

View File

@ -0,0 +1,105 @@
From 864b5fd9638953d9ee61113c4ba8311cafe9bcd8 Mon Sep 17 00:00:00 2001
From: baude <bbaude@redhat.com>
Date: Sun, 12 Jan 2020 10:54:14 -0600
Subject: [PATCH] clarify container prune --force
the --force parameter should only be used for the CLI and should only
dictate whether to prompt the user for confirmation.
Fixes: #4844
Signed-off-by: baude <bbaude@redhat.com>
---
cmd/podman/containers_prune.go | 4 ++--
cmd/podman/system_prune.go | 2 +-
docs/source/markdown/podman-container-prune.1.md | 3 +++
pkg/adapter/containers.go | 4 ++--
pkg/adapter/containers_remote.go | 2 +-
5 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/cmd/podman/containers_prune.go b/cmd/podman/containers_prune.go
index 78c50268..6b371d85 100644
--- a/cmd/podman/containers_prune.go
+++ b/cmd/podman/containers_prune.go
@@ -40,7 +40,7 @@ func init() {
pruneContainersCommand.SetHelpTemplate(HelpTemplate())
pruneContainersCommand.SetUsageTemplate(UsageTemplate())
flags := pruneContainersCommand.Flags()
- flags.BoolVarP(&pruneContainersCommand.Force, "force", "f", false, "Force removal of a running container. The default is false")
+ flags.BoolVarP(&pruneContainersCommand.Force, "force", "f", false, "Skip interactive prompt for container removal.")
flags.StringArrayVar(&pruneContainersCommand.Filter, "filter", []string{}, "Provide filter values (e.g. 'until=<timestamp>')")
}
@@ -68,7 +68,7 @@ Are you sure you want to continue? [y/N] `)
if c.GlobalIsSet("max-workers") {
maxWorkers = c.GlobalFlags.MaxWorks
}
- ok, failures, err := runtime.Prune(getContext(), maxWorkers, c.Force, c.Filter)
+ ok, failures, err := runtime.Prune(getContext(), maxWorkers, c.Filter)
if err != nil {
if errors.Cause(err) == define.ErrNoSuchCtr {
if len(c.InputArgs) > 1 {
diff --git a/cmd/podman/system_prune.go b/cmd/podman/system_prune.go
index 74fdcde9..28f22d33 100644
--- a/cmd/podman/system_prune.go
+++ b/cmd/podman/system_prune.go
@@ -92,7 +92,7 @@ Are you sure you want to continue? [y/N] `, volumeString)
rmWorkers := shared.Parallelize("rm")
fmt.Println("Deleted Containers")
- ok, failures, err = runtime.Prune(ctx, rmWorkers, false, []string{})
+ ok, failures, err = runtime.Prune(ctx, rmWorkers, []string{})
if err != nil {
if lasterr != nil {
logrus.Errorf("%q", err)
diff --git a/docs/source/markdown/podman-container-prune.1.md b/docs/source/markdown/podman-container-prune.1.md
index 856843a8..1b0561e8 100644
--- a/docs/source/markdown/podman-container-prune.1.md
+++ b/docs/source/markdown/podman-container-prune.1.md
@@ -11,6 +11,9 @@ podman-container-prune - Remove all stopped containers from local storage
## OPTIONS
+**--force**, **-f**
+Do not provide an interactive prompt for containers removal.
+
**-h**, **--help**
Print usage statement
diff --git a/pkg/adapter/containers.go b/pkg/adapter/containers.go
index 3334e9fa..c2206caa 100644
--- a/pkg/adapter/containers.go
+++ b/pkg/adapter/containers.go
@@ -1048,7 +1048,7 @@ func (r *LocalRuntime) ExecContainer(ctx context.Context, cli *cliconfig.ExecVal
}
// Prune removes stopped containers
-func (r *LocalRuntime) Prune(ctx context.Context, maxWorkers int, force bool, filters []string) ([]string, map[string]error, error) {
+func (r *LocalRuntime) Prune(ctx context.Context, maxWorkers int, filters []string) ([]string, map[string]error, error) {
var (
ok = []string{}
failures = map[string]error{}
@@ -1100,7 +1100,7 @@ func (r *LocalRuntime) Prune(ctx context.Context, maxWorkers int, force bool, fi
pool.Add(shared.Job{
ID: ctr.ID(),
Fn: func() error {
- err := r.Runtime.RemoveContainer(ctx, ctr, force, false)
+ err := r.Runtime.RemoveContainer(ctx, ctr, false, false)
if err != nil {
logrus.Debugf("Failed to prune container %s: %s", ctr.ID(), err.Error())
}
diff --git a/pkg/adapter/containers_remote.go b/pkg/adapter/containers_remote.go
index 36db4af6..60ee3cb2 100644
--- a/pkg/adapter/containers_remote.go
+++ b/pkg/adapter/containers_remote.go
@@ -922,7 +922,7 @@ func (r *LocalRuntime) Top(cli *cliconfig.TopValues) ([]string, error) {
}
// Prune removes stopped containers
-func (r *LocalRuntime) Prune(ctx context.Context, maxWorkers int, force bool, filter []string) ([]string, map[string]error, error) {
+func (r *LocalRuntime) Prune(ctx context.Context, maxWorkers int, filter []string) ([]string, map[string]error, error) {
var (
ok = []string{}
--
2.24.1

View File

@ -4,8 +4,8 @@
<param name="url">https://github.com/containers/libpod.git</param> <param name="url">https://github.com/containers/libpod.git</param>
<param name="scm">git</param> <param name="scm">git</param>
<param name="filename">podman</param> <param name="filename">podman</param>
<param name="versionformat">1.6.4</param> <param name="versionformat">1.7.0</param>
<param name="revision">v1.6.4</param> <param name="revision">v1.7.0</param>
</service> </service>
<service name="set_version" mode="disabled"> <service name="set_version" mode="disabled">

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:522b37fa9dc089eb37c9c549d9be9490ba3992906c38cbc75f8eb8e6c682c44c
size 4479912

3
podman-1.7.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:645ef1935b0a5e94742e0e9af74cfe152a2beb05bd96e4e7079e735f6d47c36d
size 4685152

View File

@ -1,3 +1,173 @@
-------------------------------------------------------------------
Mon Jan 13 11:13:59 UTC 2020 - Ralf Haferkamp <rhafer@suse.com>
- Add: 0001-clarify-container-prune-force.patch to fix the --force
flag for the "container prune" command.
(https://github.com/containers/libpod/issues/4844)
-------------------------------------------------------------------
Wed Jan 8 09:23:01 UTC 2020 - Ralf Haferkamp <rhafer@suse.com>
- Update podman to v1.7.0
* Features
- Added support for setting a static MAC address for containers
- Added support for creating macvlan networks with podman
network create, allowing Podman containers to be attached
directly to networks the host is connected to
- The podman image prune and podman container prune commands
now support the --filter flag to filter what will be pruned,
and now prompts for confirmation when run without --force
(#4410 and #4411)
- Podman now creates CGroup namespaces by default on systems
using CGroups v2 (#4363)
- Added the podman system reset command to remove all Podman
files and perform a factory reset of the Podman installation
- Added the --history flag to podman images to display previous
names used by images (#4566)
- Added the --ignore flag to podman rm and podman stop to not
error when requested containers no longer exist
- Added the --cidfile flag to podman rm and podman stop to read
the IDs of containers to be removed or stopped from a file
- The podman play kube command now honors Seccomp annotations
(#3111)
- The podman play kube command now honors RunAsUser,
RunAsGroup, and selinuxOptions
- The output format of the podman version command has been
changed to better match docker version when using the
--format flag
- Rootless Podman will no longer initialize containers/storage
twice, removing a potential deadlock preventing Podman
commands from running while an image was being pulled (#4591)
- Added tmpcopyup and notmpcopyup options to the --tmpfs and
--mount type=tmpfs flags to podman create and podman run to
control whether the content of directories are copied into
tmpfs filesystems mounted over them
- Added support for disabling detaching from containers by
setting empty detach keys via --detach-keys=""
- The podman build command now supports the --pull and
--pull-never flags to control when images are pulled during a
build
- The podman ps -p command now shows the name of the pod as
well as its ID (#4703)
- The podman inspect command on containers will now display the
command used to create the container
- The podman info command now displays information on registry
mirrors (#4553)
* Bugfixes
- Fixed a bug where Podman would use an incorrect runtime
directory as root, causing state to be deleted after root
logged out and making Podman in systemd services not function
properly
- Fixed a bug where the --change flag to podman import and
podman commit was not being parsed properly in many cases
- Fixed a bug where detach keys specified in libpod.conf were
not used by the podman attach and podman exec commands, which
always used the global default ctrl-p,ctrl-q key combination
(#4556)
- Fixed a bug where rootless Podman was not able to run podman
pod stats even on CGroups v2 enabled systems (#4634)
- Fixed a bug where rootless Podman would fail on kernels
without the renameat2 syscall (#4570)
- Fixed a bug where containers with chained network namespace
dependencies (IE, container A using --net container=B and
container B using --net container=C) would not properly mount
/etc/hosts and /etc/resolv.conf into the container (#4626)
- Fixed a bug where podman run with the --rm flag and without
-d could, when run in the background, throw a 'container does
not exist' error when attempting to remove the container
after it exited
- Fixed a bug where named volume locks were not properly
reacquired after a reboot, potentially leading to deadlocks
when trying to start containers using the volume (#4605 and
#4621)
- Fixed a bug where Podman could not completely remove
containers if sent SIGKILL during removal, leaving the
container name unusable without the podman rm --storage
command to complete removal (#3906)
- Fixed a bug where checkpointing containers started with --rm
was allowed when --export was not specified (the container,
and checkpoint, would be removed after checkpointing was
complete by --rm) (#3774)
- Fixed a bug where the podman pod prune command would fail if
containers were present in the pods and the --force flag was
not passed (#4346)
- Fixed a bug where containers could not set a static IP or
static MAC address if they joined a non-default CNI network
(#4500)
- Fixed a bug where podman system renumber would always throw
an error if a container was mounted when it was run
- Fixed a bug where podman container restore would fail with
containers using a user namespace
- Fixed a bug where rootless Podman would attempt to use the
journald events backend even on systems without systemd
installed
- Fixed a bug where podman history would sometimes not properly
identify the IDs of layers in an image (#3359)
- Fixed a bug where containers could not be restarted when
Conmon v2.0.3 or later was used
- Fixed a bug where Podman did not check image OS and
Architecture against the host when starting a container
- Fixed a bug where containers in pods did not function
properly with the Kata OCI runtime (#4353)
- Fixed a bug where `podman info --format '{{ json . }}' would
not produce JSON output (#4391)
- Fixed a bug where Podman would not verify if files passed to
--authfile existed (#4328)
- Fixed a bug where podman images --digest would not always
print digests when they were available
- Fixed a bug where rootless podman run could hang due to a
race with reading and writing events
- Fixed a bug where rootless Podman would print warning-level
logs despite not be instructed to do so (#4456)
- Fixed a bug where podman pull would attempt to fetch from
remote registries when pulling an unqualified image using the
docker-daemon transport (#4434)
- Fixed a bug where podman cp would not work if STDIN was a
pipe
- Fixed a bug where podman exec could stop accepting input if
anything was typed between the command being run and the exec
session starting (#4397)
- Fixed a bug where podman logs --tail 0 would print all lines
of a container's logs, instead of no lines (#4396)
- Fixed a bug where the timeout for slirp4netns was incorrectly
set, resulting in an extremely long timeout (#4344)
- Fixed a bug where the podman stats command would print CPU
utilizations figures incorrectly (#4409)
- Fixed a bug where the podman inspect --size command would not
print the size of the container's read/write layer if the
size was 0 (#4744)
- Fixed a bug where the podman kill command was not properly
validating signals before use (#4746)
- Fixed a bug where the --quiet and --format flags to podman ps
could not be used at the same time
- Fixed a bug where the podman stop command was not stopping
exec sessions when a container was created without a PID
namespace (--pid=host)
- Fixed a bug where the podman pod rm --force command was not
removing anonymous volumes for containers that were removed
- Fixed a bug where the podman checkpoint command would not
export all changes to the root filesystem of the container if
performed more than once on the same container (#4606)
- Fixed a bug where containers started with --rm would not be
automatically removed on being stopped if an exec session was
running inside the container (#4666)
* Misc
- The fixes to runtime directory path as root can cause strange
behavior if an upgrade is performed while containers are
running
- Updated vendored Buildah to v1.12.0
- Updated vendored containers/storage library to v1.15.4
- Updated vendored containers/image library to v5.1.0
- Kata Containers runtimes (kata-runtime, kata-qemu, and
kata-fc) are now present in the default libpod.conf, but will
not be available unless Kata containers is installed on the
system
- Podman previously did not allow the creation of containers
with a memory limit lower than 4MB. This restriction has been
removed, as the crun runtime can create containers with
significantly less memory
- Remove no longer needed workaround for *.5.md man page sources
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Dec 12 14:30:34 UTC 2019 - Richard Brown <rbrown@suse.com> Thu Dec 12 14:30:34 UTC 2019 - Richard Brown <rbrown@suse.com>

View File

@ -22,7 +22,7 @@
%define with_libostree 1 %define with_libostree 1
%endif %endif
Name: podman Name: podman
Version: 1.6.4 Version: 1.7.0
Release: 0 Release: 0
Summary: Daemon-less container engine for managing containers, pods and images Summary: Daemon-less container engine for managing containers, pods and images
License: Apache-2.0 License: Apache-2.0
@ -31,6 +31,8 @@ Url: https://github.com/containers/libpod
Source0: %{name}-%{version}.tar.xz Source0: %{name}-%{version}.tar.xz
Source2: libpod.conf Source2: libpod.conf
Source3: %{name}-rpmlintrc Source3: %{name}-rpmlintrc
# PATCH-FIX-UPSTREAM 0001-clarify-container-prune-force.patch https://github.com/containers/libpod/issues/4844
Patch0: 0001-clarify-container-prune-force.patch
BuildRequires: bash-completion BuildRequires: bash-completion
BuildRequires: cni BuildRequires: cni
BuildRequires: device-mapper-devel BuildRequires: device-mapper-devel
@ -81,8 +83,7 @@ skopeo, as they all share the same datastore backend.
%prep %prep
%setup -q %setup -q
#WORKAROUND https://github.com/containers/libpod/issues/4688 %patch0 -p1
mv docs/*.5.md docs/source/markdown/
%package cni-config %package cni-config
Summary: Basic CNI configuration for podman Summary: Basic CNI configuration for podman