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:
parent
cd3d2c182d
commit
75b893ed42
105
0001-clarify-container-prune-force.patch
Normal file
105
0001-clarify-container-prune-force.patch
Normal 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
|
||||||
|
|
4
_service
4
_service
@ -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">
|
||||||
|
@ -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
3
podman-1.7.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:645ef1935b0a5e94742e0e9af74cfe152a2beb05bd96e4e7079e735f6d47c36d
|
||||||
|
size 4685152
|
170
podman.changes
170
podman.changes
@ -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>
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user