mirror of
https://github.com/kernelkit/infix.git
synced 2026-08-02 05:43:02 +02:00
This major upgrade, along with the upgrade to Finit v4.14, is what is needed to fix #1123, which was caused by some odd futex locking bug in Podman that left lingering issues in /var/lib/containers state files. The root cause as fixed already in v4.7.x, but since CNI is supported up to and including 4.9.5, going with a later release seemd prudent. Full changelogs at: - <https://github.com/containers/podman/releases/tag/v4.5.1> - <https://github.com/containers/podman/releases/tag/v4.6.0> - <https://github.com/containers/podman/releases/tag/v4.6.1> - <https://github.com/containers/podman/releases/tag/v4.6.2> - <https://github.com/containers/podman/releases/tag/v4.7.0> - <https://github.com/containers/podman/releases/tag/v4.7.1> - <https://github.com/containers/podman/releases/tag/v4.7.2> - <https://github.com/containers/podman/releases/tag/v4.8.0> - <https://github.com/containers/podman/releases/tag/v4.8.1> - <https://github.com/containers/podman/releases/tag/v4.8.2> - <https://github.com/containers/podman/releases/tag/v4.8.3> - <https://github.com/containers/podman/releases/tag/v4.9.0> - <https://github.com/containers/podman/releases/tag/v4.9.1> - <https://github.com/containers/podman/releases/tag/v4.9.2> - <https://github.com/containers/podman/releases/tag/v4.9.3> - <https://github.com/containers/podman/releases/tag/v4.9.4> - <https://github.com/containers/podman/releases/tag/v4.9.5> Fixes #1123 Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
99 lines
4.1 KiB
Diff
99 lines
4.1 KiB
Diff
From 81b3c16e6f1a3aac7ab31157e3a199af52faeec8 Mon Sep 17 00:00:00 2001
|
|
From: Tobias Waldekranz <tobias@waldekranz.com>
|
|
Date: Wed, 18 Dec 2024 16:25:29 +0100
|
|
Subject: [PATCH 2/2] Add log driver for syslog
|
|
Organization: Addiva Elektronik
|
|
|
|
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
|
---
|
|
cmd/podman/common/completion.go | 2 +-
|
|
libpod/container_log_linux.go | 2 +-
|
|
libpod/define/config.go | 3 +++
|
|
libpod/oci_conmon_common.go | 2 ++
|
|
libpod/options.go | 2 +-
|
|
libpod/runtime_ctr.go | 2 +-
|
|
6 files changed, 9 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/cmd/podman/common/completion.go b/cmd/podman/common/completion.go
|
|
index 6c7400228..69195558f 100644
|
|
--- a/cmd/podman/common/completion.go
|
|
+++ b/cmd/podman/common/completion.go
|
|
@@ -957,7 +957,7 @@ func AutocompleteImageVolume(cmd *cobra.Command, args []string, toComplete strin
|
|
// -> "journald", "none", "k8s-file", "passthrough"
|
|
func AutocompleteLogDriver(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
|
// don't show json-file
|
|
- logDrivers := []string{define.JournaldLogging, define.NoLogging, define.KubernetesLogging}
|
|
+ logDrivers := []string{define.JournaldLogging, define.NoLogging, define.KubernetesLogging, define.SyslogLogging}
|
|
if !registry.IsRemote() {
|
|
logDrivers = append(logDrivers, define.PassthroughLogging)
|
|
}
|
|
diff --git a/libpod/container_log_linux.go b/libpod/container_log_linux.go
|
|
index a708ad46d..b675f2e8d 100644
|
|
--- a/libpod/container_log_linux.go
|
|
+++ b/libpod/container_log_linux.go
|
|
@@ -28,7 +28,7 @@ const (
|
|
)
|
|
|
|
func init() {
|
|
- logDrivers = append(logDrivers, define.JournaldLogging)
|
|
+ logDrivers = append(logDrivers, define.JournaldLogging, define.SyslogLogging)
|
|
}
|
|
|
|
func (c *Container) readFromJournal(ctx context.Context, options *logs.LogOptions,
|
|
diff --git a/libpod/define/config.go b/libpod/define/config.go
|
|
index 7295f1425..66abfd0d9 100644
|
|
--- a/libpod/define/config.go
|
|
+++ b/libpod/define/config.go
|
|
@@ -82,6 +82,9 @@ const NoLogging = "none"
|
|
// PassthroughLogging is the string conmon expects when specifying to use the passthrough driver
|
|
const PassthroughLogging = "passthrough"
|
|
|
|
+// SyslogLogging is the string conmon expects when specifying to use the syslog driver
|
|
+const SyslogLogging = "syslog"
|
|
+
|
|
// DefaultRlimitValue is the value set by default for nofile and nproc
|
|
const RLimitDefaultValue = uint64(1048576)
|
|
|
|
diff --git a/libpod/oci_conmon_common.go b/libpod/oci_conmon_common.go
|
|
index 6dd54a8bc..f3696d8af 100644
|
|
--- a/libpod/oci_conmon_common.go
|
|
+++ b/libpod/oci_conmon_common.go
|
|
@@ -1318,6 +1318,8 @@ func (r *ConmonOCIRuntime) sharedConmonArgs(ctr *Container, cuuid, bundlePath, p
|
|
switch logDriver {
|
|
case define.JournaldLogging:
|
|
logDriverArg = define.JournaldLogging
|
|
+ case define.SyslogLogging:
|
|
+ logDriverArg = define.SyslogLogging
|
|
case define.NoLogging:
|
|
logDriverArg = define.NoLogging
|
|
case define.PassthroughLogging:
|
|
diff --git a/libpod/options.go b/libpod/options.go
|
|
index bc70e4a32..35047bade 100644
|
|
--- a/libpod/options.go
|
|
+++ b/libpod/options.go
|
|
@@ -1137,7 +1137,7 @@ func WithLogDriver(driver string) CtrCreateOption {
|
|
switch driver {
|
|
case "":
|
|
return fmt.Errorf("log driver must be set: %w", define.ErrInvalidArg)
|
|
- case define.JournaldLogging, define.KubernetesLogging, define.JSONLogging, define.NoLogging, define.PassthroughLogging:
|
|
+ case define.JournaldLogging, define.KubernetesLogging, define.JSONLogging, define.NoLogging, define.PassthroughLogging, define.SyslogLogging:
|
|
break
|
|
default:
|
|
return fmt.Errorf("invalid log driver: %w", define.ErrInvalidArg)
|
|
diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go
|
|
index 648118c37..70582635f 100644
|
|
--- a/libpod/runtime_ctr.go
|
|
+++ b/libpod/runtime_ctr.go
|
|
@@ -543,7 +543,7 @@ func (r *Runtime) setupContainer(ctx context.Context, ctr *Container) (_ *Contai
|
|
}
|
|
|
|
switch ctr.config.LogDriver {
|
|
- case define.NoLogging, define.PassthroughLogging, define.JournaldLogging:
|
|
+ case define.NoLogging, define.PassthroughLogging, define.JournaldLogging, define.SyslogLogging:
|
|
break
|
|
default:
|
|
if ctr.config.LogPath == "" {
|
|
--
|
|
2.43.0
|
|
|