[pve-devel] [PATCH v4 pve-cluster 37/69] datacenter: add APT/fencing/replication notification configuration

Lukas Wagner l.wagner at proxmox.com
Thu Jul 20 16:32:04 CEST 2023


These options allow setting the notification target for package update
notifications, node fencing notifications and replication notifications.

Also, fencing and replication has now new options that allow disabling
notifications altogether.

Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
---
 src/PVE/DataCenterConfig.pm | 63 +++++++++++++++++++++++++++++++++++--
 1 file changed, 61 insertions(+), 2 deletions(-)

diff --git a/src/PVE/DataCenterConfig.pm b/src/PVE/DataCenterConfig.pm
index 3d24e78..09be6eb 100644
--- a/src/PVE/DataCenterConfig.pm
+++ b/src/PVE/DataCenterConfig.pm
@@ -49,13 +49,72 @@ my $notification_format = {
     'package-updates' => {
 	type => 'string',
 	enum => ['auto', 'always', 'never'],
-	description => "Control when the daily update job should send out notification mails.",
-	verbose_description => "Control how often the daily update job should send out notification mails:\n"
+	description => "Control when the daily update job should send out notifications.",
+	verbose_description => "Control how often the daily update job should send out notifications:\n"
 	    ."* 'auto' daily for systems with a valid subscription, as those are assumed to be "
 	    ." production-ready and thus should know about pending updates.\n"
 	    ."* 'always' every update, if there are new pending updates.\n"
 	    ."* 'never' never send a notification for new pending updates.\n",
 	default => 'auto',
+	optional => 1,
+    },
+    'target-package-updates' => {
+	type => 'string',
+	format_description => 'TARGET',
+	description => "Control where notifications about available updates should be sent to.",
+	verbose_description => "Control where notifications about available"
+	    . " updates should be sent to."
+	    . " Has to be the name of a notification target (endpoint or notification group)."
+	    . " If the 'target-package-updates' parameter is not set, the system will send mails"
+	    . " to root via a 'sendmail' notification endpoint.",
+	optional => 1,
+    },
+    'fencing' => {
+	type => 'string',
+	enum => ['always', 'never'],
+	description => "Control if notifications about node fencing should be sent.",
+	verbose_description => "Control if notifications about node fencing should be sent.\n"
+	    . "* 'always' always send out notifications\n"
+	    . "* 'never' never send out notifications.\n"
+	    . "For production systems, turning off node fencing notifications is not"
+	    . "recommended!\n",
+	default => 'always',
+	optional => 1,
+    },
+    'target-fencing' => {
+	type => 'string',
+	format_description => 'TARGET',
+	description => "Control where notifications about fenced cluster nodes should be sent to.",
+	verbose_description => "Control where notifications about fenced cluster nodes"
+	    . " should be sent to."
+	    . " Has to be the name of a notification target (endpoint or notification group)."
+	    . " If the 'target-fencing' parameter is not set, the system will send mails"
+	    . " to root via a 'sendmail' notification endpoint.",
+	optional => 1,
+    },
+    'replication' => {
+	type => 'string',
+	enum => ['always', 'never'],
+	description => "Control if notifications for replication failures should be sent.",
+	verbose_description => "Control if notifications for replication failures should be sent.\n"
+	    . "* 'always' always send out notifications\n"
+	    . "* 'never' never send out notifications.\n"
+	    . "For production systems, turning off replication notifications is not"
+	    . "recommended!\n",
+	default => 'always',
+	optional => 1,
+    },
+    'target-replication' => {
+	type => 'string',
+	format_description => 'TARGET',
+	description => "Control where notifications for failed storage replication jobs should"
+	    . " be sent to.",
+	verbose_description => "Control where notifications for failed storage replication jobs"
+	    . " should be sent to."
+	    . " Has to be the name of a notification target (endpoint or notification group)."
+	    . " If the 'target-replication' parameter is not set, the system will send mails"
+	    . " to root via a 'sendmail' notification endpoint.",
+	optional => 1,
     },
 };
 
-- 
2.39.2






More information about the pve-devel mailing list