spiegel_podman/pkg
Matthew Heon e996bb583d Print errors from individual containers in pods
The infra/abi code for pods was written in a flawed way, assuming
that the map[string]error containing individual container errors
was only set when the global error for the pod function was nil;
that is not accurate, and we are actually *guaranteed* to set the
global error when any individual container errors. Thus, we'd
never actually include individual container errors, because the
infra code assumed that err being set meant everything failed and
no container operations were attempted.

We were originally setting the cause of the error to something
nonsensical ("container already exists"), so I made a new error
indicating that some containers in the pod failed. We can then
ignore that error when building the report on the pod operation
and actually return errors from individual containers.

Unfortunately, this exposed another weakness of the infra code,
which was discarding the container IDs. Errors from individual
containers are not guaranteed to identify which container they
came from, hence the use of map[string]error in the Pod API
functions. Rather than restructuring the structs we return from
pkg/infra, I just wrapped the returned errors with a message
including the ID of the container.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-07-02 12:59:10 -04:00
..
annotations Add ContainerManager annotation to created containers 2019-09-10 09:37:14 +02:00
api APIv2:fix: Handle docker volume force as expected 2020-07-02 16:33:19 +10:00
auth compat handlers: add X-Registry-Auth header support 2020-05-29 15:39:37 +02:00
autoupdate auto-update: use image's arch 2020-06-16 10:52:13 +02:00
bindings Fix ssh-agent support 2020-06-23 18:51:56 -07:00
cgroups Turn on More linters 2020-06-15 07:05:56 -04:00
channelwriter account for varlink calls that dont use more 2019-07-10 08:50:05 -05:00
checkpoint podmanv2 checkpoint and restore 2020-04-03 09:32:06 -05:00
criu Add helper function to read out CRIU version 2018-10-23 12:52:03 +02:00
ctime Re-add int64 casts for ctime 2019-07-23 15:43:40 -04:00
domain Print errors from individual containers in pods 2020-07-02 12:59:10 -04:00
env make env handling os dependent 2020-06-02 08:28:08 -05:00
errorhandling image removal: refactor part 2 2020-05-04 16:01:45 +02:00
hooks Fix handling of old oci hooks 2020-06-17 05:39:57 -04:00
inspect consolidate env handling into pkg/env 2020-03-03 11:47:24 +01:00
kubeutils Remove dependency on kubernetes 2018-03-27 21:55:33 +00:00
lookup Turn on More linters 2020-06-15 07:05:56 -04:00
namespaces podman: assume user namespace if there are mappings 2020-04-24 15:55:38 +02:00
netns network: hide EPERM warning when rootless 2019-10-01 08:51:58 +02:00
network Turn on More linters 2020-06-15 07:05:56 -04:00
parallel Fixup issues found by golint 2020-06-10 05:49:41 -04:00
ps Print port mappings in ps for ctrs sharing network 2020-06-24 17:27:26 -04:00
registrar Update registrar unit tests to match them of cri-o 2019-04-04 08:53:32 +02:00
registries search: allow wildcards 2020-06-19 14:47:36 +02:00
resolvconf use storage/pkg/ioutils 2020-03-09 09:03:51 +01:00
rootless rootless_linux: improve error message 2020-06-21 06:35:25 -04:00
rootlessport rootlessport: use two different channels 2020-04-29 12:35:23 +02:00
seccomp apiv2 container create using specgen 2020-02-19 15:20:15 -06:00
selinux Fix SELinux functions names to not be repetitive 2020-04-23 15:57:34 -04:00
signal Turn on More linters 2020-06-15 07:05:56 -04:00
spec fix: Don't override entrypoint if it's nil 2020-06-30 11:25:13 +10:00
specgen Allow empty host port in --publish flag 2020-06-29 09:33:43 -04:00
systemd Merge pull request #6768 from vrothberg/fix-6766 2020-06-29 04:56:31 -04:00
terminal Set console mode for windows 2020-06-29 09:17:55 -05:00
timetype make lint: enable gocritic 2020-01-13 14:27:02 +01:00
tracing make lint: include pkg/tracing 2020-01-14 09:54:48 +01:00
trust Fixup issues found by golint 2020-06-10 05:49:41 -04:00
util utils: drop default mapping when running uid!=0 2020-06-24 18:13:42 +02:00
varlink V2 Move varlink home 2020-03-30 08:18:35 -07:00
varlinkapi Allow recursive dependency start with Init() 2020-06-18 09:34:04 -04:00