summaryrefslogtreecommitdiff
path: root/libpod/define
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2020-06-10 14:35:00 -0400
committerMatthew Heon <mheon@redhat.com>2020-06-17 11:11:46 -0400
commit0e171b7b3327948f2e9e32d9e496736bd7a48009 (patch)
treec52bdf719ac4fb248cf19662b1fa41c2472e4aec /libpod/define
parent38391ed25fdb1cc53b70a75ee4fbe7ea0fa782c3 (diff)
downloadpodman-0e171b7b3327948f2e9e32d9e496736bd7a48009.tar.gz
podman-0e171b7b3327948f2e9e32d9e496736bd7a48009.tar.bz2
podman-0e171b7b3327948f2e9e32d9e496736bd7a48009.zip
Do not share container log driver for exec
When the container uses journald logging, we don't want to automatically use the same driver for its exec sessions. If we do we will pollute the journal (particularly in the case of healthchecks) with large amounts of undesired logs. Instead, force exec sessions logs to file for now; we can add a log-driver flag later (we'll probably want to add a `podman logs` command that reads exec session logs at the same time). As part of this, add support for the new 'none' logs driver in Conmon. It will be the default log driver for exec sessions, and can be optionally selected for containers. Great thanks to Joe Gooch (mrwizard@dok.org) for adding support to Conmon for a null log driver, and wiring it in here. Fixes #6555 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'libpod/define')
-rw-r--r--libpod/define/config.go3
-rw-r--r--libpod/define/errors.go3
2 files changed, 6 insertions, 0 deletions
diff --git a/libpod/define/config.go b/libpod/define/config.go
index 5ca4da4af..900a363d8 100644
--- a/libpod/define/config.go
+++ b/libpod/define/config.go
@@ -72,3 +72,6 @@ const KubernetesLogging = "k8s-file"
// JSONLogging is the string conmon expects when specifying to use the json logging format
const JSONLogging = "json-file"
+
+// NoLogging is the string conmon expects when specifying to use no log driver whatsoever
+const NoLogging = "none"
diff --git a/libpod/define/errors.go b/libpod/define/errors.go
index 083553b7e..e0c9811fe 100644
--- a/libpod/define/errors.go
+++ b/libpod/define/errors.go
@@ -79,6 +79,9 @@ var (
// ErrNoCgroups indicates that the container does not have its own
// CGroup.
ErrNoCgroups = errors.New("this container does not have a cgroup")
+ // ErrNoLogs indicates that this container is not creating a log so log
+ // operations cannot be performed on it
+ ErrNoLogs = errors.New("this container is not logging output")
// ErrRootless indicates that the given command cannot but run without
// root.