114 lines
3.6 KiB
Diff
114 lines
3.6 KiB
Diff
From 58a2ce726968dcc60aa4d8c380e4f093afd33c58 Mon Sep 17 00:00:00 2001
|
|
From: Martin Wilck <mwilck@suse.com>
|
|
Date: Thu, 27 Feb 2025 23:17:42 +0100
|
|
Subject: [PATCH] Revert "mdmonitor: Abandon custom configuration files"
|
|
|
|
This reverts commit a7a5e676a7eb2ac97acd31b13f75515e9573f891.
|
|
For the time being, we want to stick with /etc/sysconfig/mdadm
|
|
---
|
|
Makefile | 1 +
|
|
systemd/SUSE-mdadm_env.sh | 48 +++++++++++++++++++++++++++++++++++++++
|
|
systemd/mdmonitor.service | 22 ++++--------------
|
|
3 files changed, 53 insertions(+), 18 deletions(-)
|
|
create mode 100644 systemd/SUSE-mdadm_env.sh
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index bcd092d..24367b0 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -341,6 +341,7 @@ install-systemd: systemd/mdmon@.service
|
|
$(INSTALL) -D -m 755 .install.tmp.3 $(DESTDIR)$(SYSTEMD_DIR)-shutdown/$$file ; \
|
|
rm -f .install.tmp.3; \
|
|
done
|
|
+ if [ -f /etc/SuSE-release -o -n "$(SUSE)" ] ;then $(INSTALL) -D -m 755 systemd/SUSE-mdadm_env.sh $(DESTDIR)$(LIB_DIR)/mdadm_env.sh ;fi
|
|
|
|
install-bin: mdadm mdmon
|
|
$(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
|
|
diff --git a/systemd/SUSE-mdadm_env.sh b/systemd/SUSE-mdadm_env.sh
|
|
new file mode 100644
|
|
index 0000000..c13b48a
|
|
--- /dev/null
|
|
+++ b/systemd/SUSE-mdadm_env.sh
|
|
@@ -0,0 +1,48 @@
|
|
+#!/bin/sh
|
|
+
|
|
+# extract configuration from /etc/sysconfig/mdadm and write
|
|
+# environment to /run/sysconfig/mdadm to be used by
|
|
+# systemd unit files.
|
|
+
|
|
+MDADM_SCAN="yes"
|
|
+
|
|
+# Following adapted from /etc/init.d/mdadmd on openSUSE
|
|
+
|
|
+mdadmd_CONFIG=/etc/sysconfig/mdadm
|
|
+if test -r $mdadmd_CONFIG; then
|
|
+ . $mdadmd_CONFIG
|
|
+fi
|
|
+
|
|
+if [ x$MDADM_DELAY != x"" ]; then
|
|
+ MDADM_DELAY="-d "$MDADM_DELAY;
|
|
+fi
|
|
+
|
|
+if [ x$MDADM_MAIL != x"" ]; then
|
|
+ MDADM_MAIL="-m \"$MDADM_MAIL\""
|
|
+fi
|
|
+
|
|
+if [ x$MDADM_PROGRAM != x"" ]; then
|
|
+ MDADM_PROGRAM="-p \"$MDADM_PROGRAM\""
|
|
+fi
|
|
+
|
|
+if [ x$MDADM_SCAN = x"yes" ]; then
|
|
+ MDADM_SCAN="--scan"
|
|
+else
|
|
+ MDADM_SCAN=""
|
|
+fi
|
|
+
|
|
+if [ x$MDADM_SEND_MAIL_ON_START = x"yes" ]; then
|
|
+ MDADM_SEND_MAIL="-t"
|
|
+else
|
|
+ MDADM_SEND_MAIL=""
|
|
+fi
|
|
+
|
|
+if [ x$MDADM_CONFIG != x"" ]; then
|
|
+ MDADM_CONFIG="-c \"$MDADM_CONFIG\""
|
|
+fi
|
|
+
|
|
+mkdir -p /run/sysconfig
|
|
+echo "MDADM_MONITOR_ARGS=$MDADM_RAIDDEVICES $MDADM_DELAY $MDADM_MAIL $MDADM_PROGRAM $MDADM_SCAN $MDADM_SEND_MAIL $MDADM_CONFIG" > /run/sysconfig/mdadm
|
|
+if [ -n "$MDADM_CHECK_DURATION" ]; then
|
|
+ echo "MDADM_CHECK_DURATION=$MDADM_CHECK_DURATION" >> /run/sysconfig/mdadm
|
|
+fi
|
|
diff --git a/systemd/mdmonitor.service b/systemd/mdmonitor.service
|
|
index 95046bc..9c36478 100644
|
|
--- a/systemd/mdmonitor.service
|
|
+++ b/systemd/mdmonitor.service
|
|
@@ -11,21 +11,7 @@ DefaultDependencies=no
|
|
Documentation=man:mdadm(8)
|
|
|
|
[Service]
|
|
-# For Maintainers:
|
|
-# We need to ensure that the mdmonitor configuration aligns with the guidelines provided
|
|
-# in the man page for users.
|
|
-# /etc/sysconfig/mdadm, /etc/sysconfig/mdmonitor, or any other similar configuration file should
|
|
-# not be supported because non upstream components are not described in man pages.
|
|
-
|
|
-# Parameters designed to be customized by user, should be settable via mdadm.conf:
|
|
-# - MONITORDELAY (do not set --delay in service)
|
|
-# - MAILADDR (do not set --mail in service)
|
|
-# - MAILFROM (not settable from cmdline)
|
|
-# - PROGRAM (do not set --program or --alert in service)
|
|
-#
|
|
-# Following parameters can be customized in service:
|
|
-# - --syslog (configure syslog logging)
|
|
-# - --fork (Type=forking must be added, not recommended and not needed with systemd)
|
|
-# - --pid-file (allowed only when --fork selected)
|
|
-
|
|
-ExecStart=BINDIR/mdadm --monitor --scan
|
|
+Environment= MDADM_MONITOR_ARGS=--scan
|
|
+EnvironmentFile=-/run/sysconfig/mdadm
|
|
+ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
|
|
+ExecStart=BINDIR/mdadm --monitor $MDADM_MONITOR_ARGS
|
|
--
|
|
2.48.1
|
|
|