mirror of
https://github.com/containers/podman.git
synced 2025-06-24 03:08:13 +08:00
Merge pull request #21409 from rhatdan/events
Show network name network events with podman -remote events
This commit is contained in:
@ -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(),
|
||||
|
@ -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()
|
||||
|
Reference in New Issue
Block a user