From 42cffd77dd116b1517f200ba4ded6033a402774a Mon Sep 17 00:00:00 2001 From: Daniele Riccucci Date: Fri, 13 Nov 2020 21:05:09 +0100 Subject: [PATCH] Separate mail recipients and directives --- defaults/main.yml | 7 ++++--- templates/smartd.conf.j2 | 15 +++++++++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 754ad39..c4fa760 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -15,9 +15,10 @@ smartd_default_report_error_types: smartd_default_non_smart_settings: - lookahead,on smartd_default_test_schedule: (L/../../6/01|S/../.././02) -smartd_default_mail_frequency: diminishing -smartd_default_mail_script: -smartd_default_mail_recipients: [] +smartd_default_mail_directives: + - diminishing +smartd_default_mail_recipients: + - root smartd_default_report_ata_failure: True smartd_default_report_ata_prefail: True smartd_default_report_ata_usage: False diff --git a/templates/smartd.conf.j2 b/templates/smartd.conf.j2 index 2feaebb..19aee2c 100644 --- a/templates/smartd.conf.j2 +++ b/templates/smartd.conf.j2 @@ -31,13 +31,16 @@ {%- if config.test_schedule | d(smartd_default_test_schedule) %} {{- " -s " }}{{ config.test_schedule | d(smartd_default_test_schedule) -}}{{' \\\n'}} {%- endif %} - {%- if 'mail_recipients' in config or smartd_default_mail_recipients %} - {{- " -m " }}{{ config.mail_recipients | d(smartd_default_mail_recipients) | join(",") -}}{{' \\\n'}} - {{- " -M " }}{{ config.mail_frequency | d(smartd_default_mail_frequency) -}}{{' \\\n'}} - {%- if config.mail_script | d(smartd_default_mail_script) %} - {{- " -M exec " }}{{ config.mail_script | d(smartd_default_mail_script) -}}{{' \\\n'}} - {%- endif %} + {%- if "mail_recipients" in config %} + {{- " -m " ~ config.mail_recipients | d(smartd_default_mail_recipients) | join(",") ~ " \\\n"}} {%- endif %} + {%- for directive in config.mail_directives | d(smartd_default_mail_directives) %} + {%- if directive in ["once", "daily", "diminishing"] and "mail_recipients" not in config -%} + {{ none }} + {%- else -%} + {{- " -M " ~ directive ~ " \\\n"}} + {%- endif -%} + {%- endfor %} {%- if config.report_ata_failure | d(smartd_default_report_ata_failure) %} {{- " -f" -}} {%- endif %}