[pbs-devel] [PATCH proxmox-backup v2 1/2] tape/send_load_media_email: move to server/email_notifications
Dominik Csapak
d.csapak at proxmox.com
Thu Mar 11 09:24:52 CET 2021
and reuse 'send_job_status_mail' there so that we get consistent
formatted mails from pbs (e.g. html part and author)
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
changes from v1:
* better commit subject/message
* move code to email related module
* do not make send_job_status_mail pub
src/server/email_notifications.rs | 24 +++++++++++++++++++++
src/tape/changer/email.rs | 36 -------------------------------
src/tape/changer/mod.rs | 3 ---
src/tape/drive/mod.rs | 6 ++++--
4 files changed, 28 insertions(+), 41 deletions(-)
delete mode 100644 src/tape/changer/email.rs
diff --git a/src/server/email_notifications.rs b/src/server/email_notifications.rs
index 306e84d0..229443f6 100644
--- a/src/server/email_notifications.rs
+++ b/src/server/email_notifications.rs
@@ -448,6 +448,30 @@ pub fn send_tape_backup_status(
Ok(())
}
+/// Send email to a person to request a manual media change
+pub fn send_load_media_email(
+ drive: &str,
+ label_text: &str,
+ to: &str,
+ reason: Option<String>,
+) -> Result<(), Error> {
+
+ let subject = format!("Load Media '{}' request for drive '{}'", label_text, drive);
+
+ let mut text = String::new();
+
+ if let Some(reason) = reason {
+ text.push_str(&format!("The drive has the wrong or no tape inserted. Error:\n{}\n\n", reason));
+ }
+
+ text.push_str("Please insert the requested media into the backup drive.\n\n");
+
+ text.push_str(&format!("Drive: {}\n", drive));
+ text.push_str(&format!("Media: {}\n", label_text));
+
+ send_job_status_mail(to, &subject, &text)
+}
+
fn get_server_url() -> (String, usize) {
// user will surely request that they can change this
diff --git a/src/tape/changer/email.rs b/src/tape/changer/email.rs
deleted file mode 100644
index abd7ead8..00000000
--- a/src/tape/changer/email.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-use anyhow::Error;
-
-use proxmox::tools::email::sendmail;
-
-/// Send email to a person to request a manual media change
-pub fn send_load_media_email(
- drive: &str,
- label_text: &str,
- to: &str,
- reason: Option<String>,
-) -> Result<(), Error> {
-
- let subject = format!("Load Media '{}' request for drive '{}'", label_text, drive);
-
- let mut text = String::new();
-
- if let Some(reason) = reason {
- text.push_str(&format!("The drive has the wrong or no tape inserted. Error:\n{}\n\n", reason));
- }
-
- text.push_str("Please insert the requested media into the backup drive.\n\n");
-
- text.push_str(&format!("Drive: {}\n", drive));
- text.push_str(&format!("Media: {}\n", label_text));
-
- sendmail(
- &[to],
- &subject,
- Some(&text),
- None,
- None,
- None,
- )?;
-
- Ok(())
-}
diff --git a/src/tape/changer/mod.rs b/src/tape/changer/mod.rs
index 1e58a437..a25df49b 100644
--- a/src/tape/changer/mod.rs
+++ b/src/tape/changer/mod.rs
@@ -1,8 +1,5 @@
//! Media changer implementation (SCSI media changer)
-mod email;
-pub use email::*;
-
pub mod sg_pt_changer;
pub mod mtx;
diff --git a/src/tape/drive/mod.rs b/src/tape/drive/mod.rs
index a386abf8..1267a481 100644
--- a/src/tape/drive/mod.rs
+++ b/src/tape/drive/mod.rs
@@ -51,7 +51,10 @@ use crate::{
VirtualTapeDrive,
LinuxTapeDrive,
},
- server::WorkerTask,
+ server::{
+ send_load_media_email,
+ WorkerTask,
+ },
tape::{
TapeWrite,
TapeRead,
@@ -66,7 +69,6 @@ use crate::{
changer::{
MediaChange,
MtxMediaChanger,
- send_load_media_email,
},
},
};
--
2.20.1
More information about the pbs-devel
mailing list