mirror of
git://git.proxmox.com/git/pve-ha-manager.git
synced 2025-02-24 17:57:23 +03:00
env: notify: use named templates instead of passing template strings
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com> Tested-by: Max Carrara <m.carrara@proxmox.com> Reviewed-by: Max Carrara <m.carrara@proxmox.com>
This commit is contained in:
parent
822def8250
commit
f43a6009ff
3
debian/pve-ha-manager.install
vendored
3
debian/pve-ha-manager.install
vendored
@ -38,3 +38,6 @@
|
||||
/usr/share/perl5/PVE/HA/Usage/Static.pm
|
||||
/usr/share/perl5/PVE/Service/pve_ha_crm.pm
|
||||
/usr/share/perl5/PVE/Service/pve_ha_lrm.pm
|
||||
/usr/share/pve-manager/templates/default/fencing-body.html.hbs
|
||||
/usr/share/pve-manager/templates/default/fencing-body.txt.hbs
|
||||
/usr/share/pve-manager/templates/default/fencing-subject.txt.hbs
|
||||
|
@ -73,6 +73,7 @@ install: watchdog-mux pve-ha-crm pve-ha-lrm ha-manager.1 pve-ha-crm.8 pve-ha-lrm
|
||||
install -d $(DESTDIR)/$(MAN1DIR)
|
||||
install -m 0644 ha-manager.1 $(DESTDIR)/$(MAN1DIR)
|
||||
gzip -9 $(DESTDIR)/$(MAN1DIR)/ha-manager.1
|
||||
$(MAKE) -C templates $@
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
|
@ -221,10 +221,10 @@ sub log {
|
||||
}
|
||||
|
||||
sub send_notification {
|
||||
my ($self, $subject, $text, $template_data, $metadata_fields) = @_;
|
||||
my ($self, $template_name, $template_data, $metadata_fields) = @_;
|
||||
|
||||
eval {
|
||||
PVE::Notify::error($subject, $text, $template_data, $metadata_fields);
|
||||
PVE::Notify::error($template_name, $template_data, $metadata_fields);
|
||||
};
|
||||
|
||||
$self->log("warning", "could not notify: $@") if $@;
|
||||
|
@ -188,23 +188,6 @@ sub update {
|
||||
}
|
||||
}
|
||||
|
||||
my $body_template = <<EOT;
|
||||
{{#verbatim}}
|
||||
The node '{{node}}' failed and needs manual intervention.
|
||||
|
||||
The PVE HA manager tries to fence it and recover the configured HA resources to
|
||||
a healthy node if possible.
|
||||
|
||||
Current fence status: {{subject-prefix}}
|
||||
{{subject}}
|
||||
{{/verbatim}}
|
||||
|
||||
{{heading-2 "Overall Cluster status:"}}
|
||||
{{object status-data}}
|
||||
EOT
|
||||
|
||||
my $subject_template = "{{subject-prefix}}: {{subject}}";
|
||||
|
||||
# assembles a commont text for fence emails
|
||||
my $send_fence_state_email = sub {
|
||||
my ($self, $subject_prefix, $subject, $node) = @_;
|
||||
@ -228,8 +211,7 @@ my $send_fence_state_email = sub {
|
||||
};
|
||||
|
||||
$haenv->send_notification(
|
||||
$subject_template,
|
||||
$body_template,
|
||||
"fencing",
|
||||
$template_data,
|
||||
$metadata_fields,
|
||||
);
|
||||
|
@ -289,11 +289,12 @@ sub log {
|
||||
}
|
||||
|
||||
sub send_notification {
|
||||
my ($self, $subject, $text, $properties) = @_;
|
||||
my ($self, $template_name, $properties) = @_;
|
||||
|
||||
# The template for the subject is "{{subject-prefix}}: {{subject}}"
|
||||
# We have to perform poor-man's template rendering to pass the test cases.
|
||||
|
||||
my $subject = "{{subject-prefix}}: {{subject}}";
|
||||
$subject = $subject =~ s/\{\{subject-prefix}}/$properties->{"subject-prefix"}/r;
|
||||
$subject = $subject =~ s/\{\{subject}}/$properties->{"subject"}/r;
|
||||
|
||||
|
10
src/templates/Makefile
Normal file
10
src/templates/Makefile
Normal file
@ -0,0 +1,10 @@
|
||||
NOTIFICATION_TEMPLATES= \
|
||||
default/fencing-subject.txt.hbs \
|
||||
default/fencing-body.txt.hbs \
|
||||
default/fencing-body.html.hbs \
|
||||
|
||||
.PHONY: install
|
||||
install:
|
||||
install -dm 0755 $(DESTDIR)/usr/share/pve-manager/templates/default
|
||||
$(foreach i,$(NOTIFICATION_TEMPLATES), \
|
||||
install -m644 $(i) $(DESTDIR)/usr/share/pve-manager/templates/$(i) ;)
|
14
src/templates/default/fencing-body.html.hbs
Normal file
14
src/templates/default/fencing-body.html.hbs
Normal file
@ -0,0 +1,14 @@
|
||||
<html>
|
||||
<body>
|
||||
The node '{{node}}' failed and needs manual intervention.<br/><br/>
|
||||
|
||||
The PVE HA manager tries to fence it and recover the configured HA resources to
|
||||
a healthy node if possible.<br/><br/>
|
||||
|
||||
Current fence status: {{subject-prefix}}<br/>
|
||||
{{subject}}<br/>
|
||||
|
||||
<h2 style="font-size: 1em">Overall Cluster status:</h2>
|
||||
{{object status-data}}
|
||||
</body>
|
||||
</html>
|
11
src/templates/default/fencing-body.txt.hbs
Normal file
11
src/templates/default/fencing-body.txt.hbs
Normal file
@ -0,0 +1,11 @@
|
||||
The node '{{node}}' failed and needs manual intervention.
|
||||
|
||||
The PVE HA manager tries to fence it and recover the configured HA resources to
|
||||
a healthy node if possible.
|
||||
|
||||
Current fence status: {{subject-prefix}}
|
||||
{{subject}}
|
||||
|
||||
Overall Cluster status:
|
||||
-----------------------
|
||||
{{object status-data}}
|
1
src/templates/default/fencing-subject.txt.hbs
Normal file
1
src/templates/default/fencing-subject.txt.hbs
Normal file
@ -0,0 +1 @@
|
||||
{{subject-prefix}}: {{subject}}
|
Loading…
x
Reference in New Issue
Block a user