summaryrefslogtreecommitdiff
path: root/pkg/domain/entities/events.go
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2021-06-04 13:15:33 +0200
committerValentin Rothberg <rothberg@redhat.com>2021-06-04 16:14:09 +0200
commit9c5048544068c37e70d4e9b135180bfbc70e4b12 (patch)
tree48b1aa9cf154e17acd7ca87c815b6d18d2876065 /pkg/domain/entities/events.go
parentb64e20a53d3f5de262f2c475be490b35977d5f32 (diff)
downloadpodman-9c5048544068c37e70d4e9b135180bfbc70e4b12.tar.gz
podman-9c5048544068c37e70d4e9b135180bfbc70e4b12.tar.bz2
podman-9c5048544068c37e70d4e9b135180bfbc70e4b12.zip
remote events: support labels
Certain event meta data was lost when converting the remote events to libpod events and vice versa. Enable the skipped system tests for remote. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'pkg/domain/entities/events.go')
-rw-r--r--pkg/domain/entities/events.go28
1 files changed, 20 insertions, 8 deletions
diff --git a/pkg/domain/entities/events.go b/pkg/domain/entities/events.go
index 930ca53ae..5e7cc9ad1 100644
--- a/pkg/domain/entities/events.go
+++ b/pkg/domain/entities/events.go
@@ -30,29 +30,41 @@ func ConvertToLibpodEvent(e Event) *libpodEvents.Event {
if err != nil {
return nil
}
+ image := e.Actor.Attributes["image"]
+ name := e.Actor.Attributes["name"]
+ details := e.Actor.Attributes
+ delete(details, "image")
+ delete(details, "name")
+ delete(details, "containerExitCode")
return &libpodEvents.Event{
ContainerExitCode: exitCode,
ID: e.Actor.ID,
- Image: e.Actor.Attributes["image"],
- Name: e.Actor.Attributes["name"],
+ Image: image,
+ Name: name,
Status: status,
Time: time.Unix(e.Time, e.TimeNano),
Type: t,
+ Details: libpodEvents.Details{
+ Attributes: details,
+ },
}
}
// ConvertToEntitiesEvent converts a libpod event to an entities one.
func ConvertToEntitiesEvent(e libpodEvents.Event) *Event {
+ attributes := e.Details.Attributes
+ if attributes == nil {
+ attributes = make(map[string]string)
+ }
+ attributes["image"] = e.Image
+ attributes["name"] = e.Name
+ attributes["containerExitCode"] = strconv.Itoa(e.ContainerExitCode)
return &Event{dockerEvents.Message{
Type: e.Type.String(),
Action: e.Status.String(),
Actor: dockerEvents.Actor{
- ID: e.ID,
- Attributes: map[string]string{
- "image": e.Image,
- "name": e.Name,
- "containerExitCode": strconv.Itoa(e.ContainerExitCode),
- },
+ ID: e.ID,
+ Attributes: attributes,
},
Scope: "local",
Time: e.Time.Unix(),