summaryrefslogtreecommitdiff
path: root/libpod/events
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2019-08-06 14:53:50 -0500
committerbaude <bbaude@redhat.com>2019-08-06 14:58:26 -0500
commit62a04f2b0397784232b1da474ecfc2f2a89018e1 (patch)
tree649c3740ee2e0cc21194ec86265c07bb8ddbab11 /libpod/events
parentb5618d9e354a565fb8e472208c835a36373e4fbb (diff)
downloadpodman-62a04f2b0397784232b1da474ecfc2f2a89018e1.tar.gz
podman-62a04f2b0397784232b1da474ecfc2f2a89018e1.tar.bz2
podman-62a04f2b0397784232b1da474ecfc2f2a89018e1.zip
systemd library conflict with seektail and addmatch
it looks like the core-os systemd library has some issue when using seektail and add match. this patch works around that shortcoming for the time being. Fixes: #3616 Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'libpod/events')
-rw-r--r--libpod/events/journal_linux.go19
1 files changed, 14 insertions, 5 deletions
diff --git a/libpod/events/journal_linux.go b/libpod/events/journal_linux.go
index ae96e3b3b..7d195dc79 100644
--- a/libpod/events/journal_linux.go
+++ b/libpod/events/journal_linux.go
@@ -54,14 +54,17 @@ func (e EventJournalD) Read(options ReadOptions) error {
if err != nil {
return errors.Wrapf(err, "failed to generate event options")
}
- podmanJournal := sdjournal.Match{Field: "SYSLOG_IDENTIFIER", Value: "podman"} //nolint
- j, err := sdjournal.NewJournal() //nolint
+ j, err := sdjournal.NewJournal() //nolint
if err != nil {
return err
}
- if err := j.AddMatch(podmanJournal.String()); err != nil {
- return errors.Wrap(err, "failed to add filter for event log")
- }
+ // TODO AddMatch and Seek seem to conflict
+ // Issue filed upstream -> https://github.com/coreos/go-systemd/issues/315
+ // Leaving commented code in case upstream fixes things
+ //podmanJournal := sdjournal.Match{Field: "SYSLOG_IDENTIFIER", Value: "podman"} //nolint
+ //if err := j.AddMatch(podmanJournal.String()); err != nil {
+ // return errors.Wrap(err, "failed to add filter for event log")
+ //}
if len(options.Since) == 0 && len(options.Until) == 0 && options.Stream {
if err := j.SeekTail(); err != nil {
return errors.Wrap(err, "failed to seek end of journal")
@@ -96,6 +99,12 @@ func (e EventJournalD) Read(options ReadOptions) error {
if err != nil {
return err
}
+ // TODO this keeps us from feeding the podman event parser with
+ // with regular journal content; it can be removed if the above
+ // problem with AddMatch is resolved.
+ if entry.Fields["PODMAN_EVENT"] == "" {
+ continue
+ }
newEvent, err := newEventFromJournalEntry(entry)
if err != nil {
// We can't decode this event.