Merge pull request #21409 from rhatdan/events

Show network name network events with podman -remote events
This commit is contained in:
openshift-merge-bot[bot]
2024-02-08 14:16:24 +00:00
committed by GitHub
2 changed files with 38 additions and 1 deletions

View File

@ -31,16 +31,20 @@ func ConvertToLibpodEvent(e Event) *libpodEvents.Event {
}
image := e.Actor.Attributes["image"]
name := e.Actor.Attributes["name"]
details := e.Actor.Attributes
network := e.Actor.Attributes["network"]
podID := e.Actor.Attributes["podId"]
details := e.Actor.Attributes
delete(details, "image")
delete(details, "name")
delete(details, "network")
delete(details, "podId")
delete(details, "containerExitCode")
return &libpodEvents.Event{
ContainerExitCode: &exitCode,
ID: e.Actor.ID,
Image: image,
Name: name,
Network: network,
Status: status,
Time: time.Unix(0, e.TimeNano),
Type: t,
@ -64,6 +68,9 @@ func ConvertToEntitiesEvent(e libpodEvents.Event) *types.Event {
attributes["containerExitCode"] = strconv.Itoa(*e.ContainerExitCode)
}
attributes["podId"] = e.PodID
if e.Network != "" {
attributes["network"] = e.Network
}
message := dockerEvents.Message{
// Compatibility with clients that still look for deprecated API elements
Status: e.Status.String(),

View File

@ -222,6 +222,36 @@ var _ = Describe("Podman events", func() {
Expect(result2.OutputToString()).To(ContainSubstring(fmt.Sprintf("pod_id=%s", id)))
})
It("podman events network connection", func() {
network := stringid.GenerateRandomID()
result := podmanTest.Podman([]string{"create", "--network", "bridge", ALPINE, "top"})
result.WaitWithDefaultTimeout()
Expect(result).Should(ExitCleanly())
ctrID := result.OutputToString()
result = podmanTest.Podman([]string{"network", "create", network})
result.WaitWithDefaultTimeout()
Expect(result).Should(ExitCleanly())
result = podmanTest.Podman([]string{"network", "connect", network, ctrID})
result.WaitWithDefaultTimeout()
Expect(result).Should(ExitCleanly())
result = podmanTest.Podman([]string{"network", "disconnect", network, ctrID})
result.WaitWithDefaultTimeout()
Expect(result).Should(ExitCleanly())
result = podmanTest.Podman([]string{"events", "--stream=false", "--since", "30s"})
result.WaitWithDefaultTimeout()
Expect(result).Should(ExitCleanly())
lines := result.OutputToStringArray()
Expect(lines).To(HaveLen(5))
Expect(lines[3]).To(ContainSubstring("network connect"))
Expect(lines[3]).To(ContainSubstring(fmt.Sprintf("(container=%s, name=%s)", ctrID, network)))
Expect(lines[4]).To(ContainSubstring("network disconnect"))
Expect(lines[4]).To(ContainSubstring(fmt.Sprintf("(container=%s, name=%s)", ctrID, network)))
})
It("podman events health_status generated", func() {
session := podmanTest.Podman([]string{"run", "--name", "test-hc", "-dt", "--health-cmd", "echo working", "busybox"})
session.WaitWithDefaultTimeout()