verify: improve code reuse, fix filter function

Try to reuse verify_all_backups(), because this function has better
logging and well defined snaphot order.
This commit is contained in:
Dietmar Maurer
2020-10-28 12:58:15 +01:00
parent d642802d8c
commit a4915dfc2b
4 changed files with 70 additions and 65 deletions

View File

@ -57,7 +57,11 @@ const VERIFY_ERR_TEMPLATE: &str = r###"
Job ID: {{job.id}}
Datastore: {{job.store}}
Verification failed: {{error}}
Verification failed on these snapshots:
{{#each errors}}
{{this}}
{{/each}}
"###;
@ -150,27 +154,31 @@ pub fn send_gc_status(
pub fn send_verify_status(
email: &str,
job: VerificationJobConfig,
result: &Result<(), Error>,
result: &Result<Vec<String>, Error>,
) -> Result<(), Error> {
let text = match result {
Ok(()) => {
Ok(errors) if errors.is_empty() => {
let data = json!({ "job": job });
HANDLEBARS.render("verify_ok_template", &data)?
}
Err(err) => {
let data = json!({ "job": job, "error": err.to_string() });
Ok(errors) => {
let data = json!({ "job": job, "errors": errors });
HANDLEBARS.render("verify_err_template", &data)?
}
Err(_) => {
// aboreted job - do not send any email
return Ok(());
}
};
let subject = match result {
Ok(()) => format!(
Ok(errors) if errors.is_empty() => format!(
"Verify Datastore '{}' successful",
job.store,
),
Err(_) => format!(
_ => format!(
"Verify Datastore '{}' failed",
job.store,
),