spiegel_podman/test/e2e
Valentin Rothberg 10569c988f journald logger: fix race condition
Fix a race in journald driver.  Following the logs implies streaming
until the container is dead.  Streaming happened in one goroutine,
waiting for the container to exit/die and signaling that event happened
in another goroutine.

The nature of having two goroutines running simultaneously is pretty
much the core of the race condition.  When the streaming goroutines
received the signal that the container has exitted, the routine may not
have read and written all of the container's logs.

Fix this race by reading both, the logs and the events, of the container
and stop streaming when the died/exited event has been read.  The died
event is guaranteed to be after all logs in the journal which guarantees
not only consistencty but also a deterministic behavior.

Note that the journald log driver now requires the journald event
backend to be set.

Fixes: #10323
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-26 14:51:58 +02:00
..
build Fix podman build --pull-never 2021-03-27 05:33:30 -04:00
cdi Add support for CDI device configuration 2021-04-20 09:18:52 -04:00
config Enable no_hosts from containers.conf 2021-02-26 06:37:48 -05:00
hooks Add hooks support to podman 2018-04-05 14:13:49 +00:00
sign save image remove signatures 2020-10-21 10:00:08 -04:00
testdata migrate Podman to containers/common/libimage 2021-05-05 11:30:12 +02:00
attach_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
build_test.go Handle podman-remote --arch, --platform, --os 2021-04-07 05:00:16 -06:00
checkpoint_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
commit_test.go Add support for environment variable secrets 2021-05-06 14:00:57 -04:00
common_test.go Fix race condition in running ls container in a pod 2021-05-25 09:25:38 -04:00
config.go Add tests for volume plugins 2021-01-14 16:43:23 -05:00
config_amd64.go speed up CI handling of images 2021-04-07 15:40:29 -05:00
config_ppc64le.go use imagecaches for local tests 2019-05-29 15:12:05 -05:00
container_inspect_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
containers_conf_test.go Use seccomp_profile as default profile if defined in containers.conf 2021-04-28 15:19:48 +02:00
cp_test.go Fix problem copying files when container is in host pid namespace 2021-05-19 07:55:48 -04:00
create_staticip_test.go podman image tree: restore previous behavior 2021-05-12 17:56:59 +02:00
create_staticmac_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
create_test.go podman image tree: restore previous behavior 2021-05-12 17:56:59 +02:00
diff_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
events_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
exec_test.go Ensure that --userns=keep-id sets user in config 2021-04-06 09:18:46 -04:00
exists_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
export_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
generate_kube_test.go Adds support to preserve auto update labels in generate and play kube 2021-05-06 21:21:43 -06:00
generate_systemd_test.go Add podman run --timeout option 2021-04-23 11:18:05 -04:00
healthcheck_run_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
history_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
image_sign_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
images_test.go Remove obsolete skips 2021-05-10 07:43:35 -06:00
import_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
info_test.go Podman info add support for status of cgroup controllers 2021-05-24 16:55:23 +05:30
init_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
inspect_test.go add it for inspect pidfile 2021-04-18 21:29:12 +08:00
kill_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
libpod_suite_remote_test.go Document CONTAINERS_CONF/CONTAINERS_STORAGE_CONF Env variables 2021-03-10 06:34:47 -05:00
libpod_suite_test.go Document CONTAINERS_CONF/CONTAINERS_STORAGE_CONF Env variables 2021-03-10 06:34:47 -05:00
load_test.go migrate Podman to containers/common/libimage 2021-05-05 11:30:12 +02:00
login_logout_test.go Document CONTAINERS_CONF/CONTAINERS_STORAGE_CONF Env variables 2021-03-10 06:34:47 -05:00
logs_test.go journald logger: fix race condition 2021-05-26 14:51:58 +02:00
manifest_test.go Add support for podman manifest rm command 2021-05-19 17:32:02 -04:00
mount_rootless_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
mount_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
namespace_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
negative_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
network_connect_disconnect_test.go podman network reload add rootless support 2021-05-17 10:55:02 +02:00
network_create_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
network_test.go Fix network create macvlan with subnet option 2021-05-20 13:12:01 +02:00
pause_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
play_kube_test.go Kube like pods should share ipc,net,uts by default 2021-05-10 11:29:11 +05:30
pod_create_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_infra_container_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_inspect_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_kill_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_pause_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_pod_namespaces_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_prune_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_ps_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_restart_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_rm_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_start_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_stats_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_stop_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
pod_top_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
port_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
prune_test.go image prune: remove unused images only with --all 2021-05-17 13:52:03 +02:00
ps_test.go codespell cleanup 2021-05-05 15:50:59 -04:00
pull_test.go migrate Podman to containers/common/libimage 2021-05-05 11:30:12 +02:00
push_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
rename_test.go Rewrite Rename backend in a more atomic fashion 2021-03-02 13:30:28 -05:00
restart_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
rm_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
rmi_test.go speed up CI handling of images 2021-04-07 15:40:29 -05:00
run_apparmor_test.go WIP: drop test requirement 2021-04-16 17:45:52 -04:00
run_cgroup_parent_test.go cgroup: always honor --cgroup-parent with cgroupfs 2021-05-03 12:36:03 +02:00
run_cleanup_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_cpu_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_device_test.go Add podman run --gpus flag for compatibility 2021-05-25 17:26:50 -04:00
run_dns_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_entrypoint_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_env_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_exit_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_memory_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_networking_test.go podman image tree: restore previous behavior 2021-05-12 17:56:59 +02:00
run_ns_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_passwd_test.go Fix podman build --pull-never 2021-03-27 05:33:30 -04:00
run_privileged_test.go Fix podman build --pull-never 2021-03-27 05:33:30 -04:00
run_restart_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_seccomp_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_security_labels_test.go update c/common 2021-05-20 10:21:27 +02:00
run_selinux_test.go Ensure that :Z/:z/:U can be used with named volumes 2021-05-17 09:10:59 -04:00
run_signal_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_staticip_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_test.go Support uid,gid,mode options for secrets 2021-05-17 14:35:55 -04:00
run_userns_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
run_volume_test.go Fix podman build --pull-never 2021-03-27 05:33:30 -04:00
run_working_dir_test.go Fix podman build --pull-never 2021-03-27 05:33:30 -04:00
runlabel_test.go Fix podman build --pull-never 2021-03-27 05:33:30 -04:00
save_test.go Merge pull request #10025 from zhangguanzhang/remote-save-dir 2021-04-19 10:22:52 -04:00
search_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
secret_test.go Add support for environment variable secrets 2021-05-06 14:00:57 -04:00
start_test.go fix start it 2021-04-17 23:35:27 +08:00
stats_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
stop_test.go podman-remote stop -time 0 does not work 2021-03-05 10:39:17 -05:00
system_connection_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
system_df_test.go Fix podman build --pull-never 2021-03-27 05:33:30 -04:00
system_reset_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
systemd_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
tag_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
toolbox_test.go podman image tree: restore previous behavior 2021-05-12 17:56:59 +02:00
top_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
tree_test.go migrate Podman to containers/common/libimage 2021-05-05 11:30:12 +02:00
trust_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
unshare_test.go podman unshare: add --rootless-cni to join the ns 2021-04-07 15:54:12 +02:00
untag_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
version_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
volume_create_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
volume_exists_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
volume_inspect_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
volume_ls_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
volume_plugin_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
volume_prune_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
volume_rm_test.go bump go module to v3 2021-02-22 09:03:51 +01:00
wait_test.go bump go module to v3 2021-02-22 09:03:51 +01:00