mirror of
https://github.com/containers/podman.git
synced 2025-06-24 03:08:13 +08:00
Merge pull request #15633 from thediveo/events
Closes #15617: emit container labels for container exited and exec died events
This commit is contained in:
@ -55,6 +55,12 @@ func (c *Container) newContainerExitedEvent(exitCode int32) {
|
||||
e.Image = c.config.RootfsImageName
|
||||
e.Type = events.Container
|
||||
e.ContainerExitCode = int(exitCode)
|
||||
|
||||
e.Details = events.Details{
|
||||
ID: e.ID,
|
||||
Attributes: c.Labels(),
|
||||
}
|
||||
|
||||
if err := c.runtime.eventer.Write(e); err != nil {
|
||||
logrus.Errorf("Unable to write container exited event: %q", err)
|
||||
}
|
||||
@ -70,6 +76,12 @@ func (c *Container) newExecDiedEvent(sessionID string, exitCode int) {
|
||||
e.ContainerExitCode = exitCode
|
||||
e.Attributes = make(map[string]string)
|
||||
e.Attributes["execID"] = sessionID
|
||||
|
||||
e.Details = events.Details{
|
||||
ID: e.ID,
|
||||
Attributes: c.Labels(),
|
||||
}
|
||||
|
||||
if err := c.runtime.eventer.Write(e); err != nil {
|
||||
logrus.Errorf("Unable to write exec died event: %q", err)
|
||||
}
|
||||
|
@ -194,3 +194,22 @@ EOF
|
||||
is "$(wc -l <$eventsFile)" "$(wc -l <<<$output)" "all events are returned"
|
||||
is "${lines[-2]}" ".* log-rotation $eventsFile"
|
||||
}
|
||||
|
||||
# Prior to #15633, container labels would not appear in 'die' log events
|
||||
@test "events - labels included in container die" {
|
||||
skip_if_remote "remote does not support --events-backend"
|
||||
local cname=c$(random_string 15)
|
||||
local lname=l$(random_string 10)
|
||||
local lvalue="v$(random_string 10) $(random_string 5)"
|
||||
|
||||
run_podman 17 --events-backend=file run --rm \
|
||||
--name=$cname \
|
||||
--label=$lname="$lvalue" \
|
||||
$IMAGE sh -c 'exit 17'
|
||||
run_podman --events-backend=file events \
|
||||
--filter=container=$cname \
|
||||
--filter=status=died \
|
||||
--stream=false \
|
||||
--format="{{.Attributes.$lname}}"
|
||||
assert "$output" = "$lvalue" "podman-events output includes container label"
|
||||
}
|
||||
|
Reference in New Issue
Block a user