forked from pool/podman
Accepting request 744490 from devel:kubic
To get it past staging :) OBS-URL: https://build.opensuse.org/request/show/744490 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/podman?expand=0&rev=50
This commit is contained in:
parent
c6d0f9bc11
commit
92a80312cf
4
_service
4
_service
@ -4,8 +4,8 @@
|
||||
<param name="url">https://github.com/containers/libpod.git</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="filename">podman</param>
|
||||
<param name="versionformat">1.6.1</param>
|
||||
<param name="revision">v1.6.1</param>
|
||||
<param name="versionformat">1.6.2</param>
|
||||
<param name="revision">v1.6.2</param>
|
||||
</service>
|
||||
|
||||
<service name="set_version" mode="disabled">
|
||||
|
101
container-start-fix.patch
Normal file
101
container-start-fix.patch
Normal file
@ -0,0 +1,101 @@
|
||||
From 2e3f46da4f874f0c50c6b630fb6badbb052a31f2 Mon Sep 17 00:00:00 2001
|
||||
From: Valentin Rothberg <rothberg@redhat.com>
|
||||
Date: Thu, 31 Oct 2019 13:03:08 +0100
|
||||
Subject: [PATCH] container start: fix regression when using name
|
||||
|
||||
When starting a container by using its name as a reference, we should
|
||||
print the name instead of the ID. We regressed on this behaviour
|
||||
with commit b4124485ae7e which made it into Podman v1.6.2.
|
||||
|
||||
Kudos to openSUSE testing for catching it. To prevent future
|
||||
regressions, extend the e2e tests to check the printed container
|
||||
name/ID.
|
||||
|
||||
Reported-by: @sysrich
|
||||
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
|
||||
---
|
||||
pkg/adapter/containers.go | 29 +++++++++++++++++------------
|
||||
test/e2e/start_test.go | 18 ++++++++++++++++--
|
||||
2 files changed, 33 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/pkg/adapter/containers.go b/pkg/adapter/containers.go
|
||||
index 430b6925..207cf5c6 100644
|
||||
--- a/pkg/adapter/containers.go
|
||||
+++ b/pkg/adapter/containers.go
|
||||
@@ -656,20 +656,25 @@ func (r *LocalRuntime) Start(ctx context.Context, c *cliconfig.StartValues, sigP
|
||||
|
||||
return exitCode, nil
|
||||
}
|
||||
- if ctrRunning {
|
||||
- fmt.Println(ctr.ID())
|
||||
- continue
|
||||
- }
|
||||
- // Handle non-attach start
|
||||
- // If the container is in a pod, also set to recursively start dependencies
|
||||
- if err := ctr.Start(ctx, ctr.PodID() != ""); err != nil {
|
||||
- if lastError != nil {
|
||||
- fmt.Fprintln(os.Stderr, lastError)
|
||||
+ // Start the container if it's not running already.
|
||||
+ if !ctrRunning {
|
||||
+ // Handle non-attach start
|
||||
+ // If the container is in a pod, also set to recursively start dependencies
|
||||
+ if err := ctr.Start(ctx, ctr.PodID() != ""); err != nil {
|
||||
+ if lastError != nil {
|
||||
+ fmt.Fprintln(os.Stderr, lastError)
|
||||
+ }
|
||||
+ lastError = errors.Wrapf(err, "unable to start container %q", container)
|
||||
+ continue
|
||||
}
|
||||
- lastError = errors.Wrapf(err, "unable to start container %q", container)
|
||||
- continue
|
||||
}
|
||||
- fmt.Println(ctr.ID())
|
||||
+ // Check if the container is referenced by ID or by name and print
|
||||
+ // it accordingly.
|
||||
+ if strings.HasPrefix(ctr.ID(), container) {
|
||||
+ fmt.Println(ctr.ID())
|
||||
+ } else {
|
||||
+ fmt.Println(container)
|
||||
+ }
|
||||
}
|
||||
return exitCode, lastError
|
||||
}
|
||||
diff --git a/test/e2e/start_test.go b/test/e2e/start_test.go
|
||||
index da581f15..09b8d201 100644
|
||||
--- a/test/e2e/start_test.go
|
||||
+++ b/test/e2e/start_test.go
|
||||
@@ -57,15 +57,29 @@ var _ = Describe("Podman start", func() {
|
||||
session = podmanTest.Podman([]string{"container", "start", cid})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
+ Expect(session.OutputToString()).To(Equal(cid))
|
||||
+ })
|
||||
+
|
||||
+ It("podman container start single container by short id", func() {
|
||||
+ session := podmanTest.Podman([]string{"container", "create", "-d", ALPINE, "ls"})
|
||||
+ session.WaitWithDefaultTimeout()
|
||||
+ Expect(session.ExitCode()).To(Equal(0))
|
||||
+ cid := session.OutputToString()
|
||||
+ session = podmanTest.Podman([]string{"container", "start", cid[0:10]})
|
||||
+ session.WaitWithDefaultTimeout()
|
||||
+ Expect(session.ExitCode()).To(Equal(0))
|
||||
+ Expect(session.OutputToString()).To(Equal(cid))
|
||||
})
|
||||
|
||||
It("podman start single container by name", func() {
|
||||
- session := podmanTest.Podman([]string{"create", "-d", "--name", "foobar99", ALPINE, "ls"})
|
||||
+ name := "foobar99"
|
||||
+ session := podmanTest.Podman([]string{"create", "-d", "--name", name, ALPINE, "ls"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
- session = podmanTest.Podman([]string{"start", "foobar99"})
|
||||
+ session = podmanTest.Podman([]string{"start", name})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
+ Expect(session.OutputToString()).To(Equal(name))
|
||||
})
|
||||
|
||||
It("podman start multiple containers", func() {
|
||||
--
|
||||
2.23.0
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4c8840be73933523158a09bc30f7ccde6d369ba0ca20c8249ec3f45e967a8a09
|
||||
size 4410492
|
3
podman-1.6.2.tar.xz
Normal file
3
podman-1.6.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1bdd4c8c03924180feea514d64128946fd788b283fbf9bd0a5be1554dfdf79e0
|
||||
size 4445468
|
@ -1,3 +1,84 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 31 13:05:29 UTC 2019 - Richard Brown <rbrown@suse.com>
|
||||
|
||||
- Add container-start-fix.patch to correct output of container-start to show container_name, not _id.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 21 07:21:29 UTC 2019 - Sascha Grunert <sgrunert@suse.com>
|
||||
|
||||
- Update podman to v1.6.2
|
||||
* Features
|
||||
- Added a --runtime flag to podman system migrate to allow the
|
||||
OCI runtime for all containers to be reset, to ease transition
|
||||
to the crun runtime on CGroups V2 systems until runc gains full
|
||||
support
|
||||
- The podman rm command can now remove containers in broken
|
||||
states which previously could not be removed
|
||||
- The podman info command, when run without root, now shows
|
||||
information on UID and GID mappings in the rootless user
|
||||
namespace
|
||||
- Added podman build --squash-all flag, which squashes all layers
|
||||
(including those of the base image) into one layer
|
||||
- The --systemd flag to podman run and podman create now accepts
|
||||
a string argument and allows a new value, always, which forces
|
||||
systemd support without checking if the the container
|
||||
entrypoint is systemd
|
||||
* Bugfixes
|
||||
- Fixed a bug where the podman top command did not work on
|
||||
systems using CGroups V2 (#4192)
|
||||
- Fixed a bug where rootless Podman could double-close a file,
|
||||
leading to a panic
|
||||
- Fixed a bug where rootless Podman could fail to retrieve some
|
||||
containers while refreshing the state
|
||||
- Fixed a bug where podman start --attach --sig-proxy=false would
|
||||
still proxy signals into the container
|
||||
- Fixed a bug where Podman would unconditionally use a
|
||||
non-default path for authentication credentials (auth.json),
|
||||
breaking podman login integration with skopeo and other tools
|
||||
using the containers/image library
|
||||
- Fixed a bug where podman ps --format=json and podman images
|
||||
--format=json would display null when no results were returned,
|
||||
instead of valid JSON
|
||||
- Fixed a bug where podman build --squash was incorrectly
|
||||
squashing all layers into one, instead of only new layers
|
||||
- Fixed a bug where rootless Podman would allow volumes with
|
||||
options to be mounted (mounting volumes requires root),
|
||||
creating an inconsistent state where volumes reported as
|
||||
mounted but were not (#4248)
|
||||
- Fixed a bug where volumes which failed to unmount could not be
|
||||
removed (#4247)
|
||||
- Fixed a bug where Podman incorrectly handled some errors
|
||||
relating to unmounted or missing containers in
|
||||
containers/storage
|
||||
- Fixed a bug where podman stats was broken on systems running
|
||||
CGroups V2 when run rootless (#4268)
|
||||
- Fixed a bug where the podman start command would print the
|
||||
short container ID, instead of the full ID
|
||||
- Fixed a bug where containers created with an OCI runtime that
|
||||
is no longer available (uninstalled or removed from the config
|
||||
file) would not appear in podman ps and could not be removed
|
||||
via podman rm
|
||||
- Fixed a bug where containers restored via podman container
|
||||
restore --import would retain the CGroup path of the original
|
||||
container, even if their container ID changed; thus, multiple
|
||||
containers created from the same checkpoint would all share the
|
||||
same CGroup
|
||||
* Misc
|
||||
- The default PID limit for containers is now set to 4096. It can
|
||||
be adjusted back to the old default (unlimited) by passing
|
||||
--pids-limit 0 to podman create and podman run
|
||||
- The podman start --attach command now automatically attaches
|
||||
STDIN if the container was created with -i
|
||||
- The podman network create command now validates network names
|
||||
using the same regular expression as container and pod names
|
||||
- The --systemd flag to podman run and podman create will now
|
||||
only enable systemd mode when the binary being run inside the
|
||||
container is /sbin/init, /usr/sbin/init, or ends in systemd
|
||||
(previously detected any path ending in init or systemd)
|
||||
- Updated vendored Buildah to 1.11.3
|
||||
- Updated vendored containers/storage to 1.13.5
|
||||
- Updated vendored containers/image to 4.0.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 4 06:57:16 UTC 2019 - Sascha Grunert <sgrunert@suse.com>
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
%define with_libostree 1
|
||||
%endif
|
||||
Name: podman
|
||||
Version: 1.6.1
|
||||
Version: 1.6.2
|
||||
Release: 0
|
||||
Summary: Daemon-less container engine for managing containers, pods and images
|
||||
License: Apache-2.0
|
||||
@ -31,6 +31,8 @@ Url: https://github.com/containers/libpod
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
Source2: libpod.conf
|
||||
Source3: %{name}-rpmlintrc
|
||||
# https://github.com/containers/libpod/pull/4394/files
|
||||
Patch0: container-start-fix.patch
|
||||
BuildRequires: bash-completion
|
||||
BuildRequires: cni
|
||||
BuildRequires: device-mapper-devel
|
||||
@ -81,6 +83,7 @@ skopeo, as they all share the same datastore backend.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
%package cni-config
|
||||
Summary: Basic CNI configuration for podman
|
||||
|
Loading…
Reference in New Issue
Block a user