mirror of
https://github.com/containers/podman.git
synced 2025-09-10 06:22:21 +08:00
Implement SD-NOTIFY proxy in conmon
This leverages conmon's ability to proxy the SD-NOTIFY socket. This prevents locking caused by OCI runtime blocking, waiting for SD-NOTIFY messages, and instead passes the messages directly up to the host. NOTE: Also re-enable the auto-update tests which has been disabled due to flakiness. With this change, Podman properly integrates into systemd. Fixes: #7316 Signed-off-by: Joseph Gooch <mrwizard@dok.org> Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
This commit is contained in:

committed by
Valentin Rothberg

parent
30b036c5d3
commit
c22f3e8b4e
@ -130,6 +130,8 @@ function _assert_mainpid_is_conmon() {
|
||||
_stop_socat
|
||||
}
|
||||
|
||||
# These tests can fail in dev. environment because of SELinux.
|
||||
# quick fix: chcon -t container_runtime_exec_t ./bin/podman
|
||||
@test "sdnotify : container" {
|
||||
# Sigh... we need to pull a humongous image because it has systemd-notify.
|
||||
# (IMPORTANT: fedora:32 and above silently removed systemd-notify; this
|
||||
@ -150,7 +152,7 @@ function _assert_mainpid_is_conmon() {
|
||||
wait_for_ready $cid
|
||||
|
||||
run_podman logs $cid
|
||||
is "${lines[0]}" "/.*/container\.sock/notify" "NOTIFY_SOCKET is passed to container"
|
||||
is "${lines[0]}" "/run/notify/notify.sock" "NOTIFY_SOCKET is passed to container"
|
||||
|
||||
# With container, READY=1 isn't necessarily the last message received;
|
||||
# just look for it anywhere in received messages
|
||||
|
Reference in New Issue
Block a user