diff mbox series

Fix mdmonitor-oneshot.service fail to be executed

Message ID 20230607065734.2722921-1-miaoguanqin@huawei.com (mailing list archive)
State Changes Requested
Headers show
Series Fix mdmonitor-oneshot.service fail to be executed | expand

Commit Message

Guanqin Miao June 7, 2023, 6:57 a.m. UTC
When we start mdmonitor-oneshot.service, we found an fail 
for mdmonitor-oneshot.service:

mdadm: No mail address or alert command - not monitoring

According to the error information, We modified the Environment 
field and added the syslog parameter.The service can be 
executed successfully.
---
 systemd/mdmonitor-oneshot.service | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Paul Menzel June 7, 2023, 7:58 a.m. UTC | #1
Dear Guanqin,


Thank you very much for your patch.

Am 07.06.23 um 08:57 schrieb Guanqin Miao:

For the commit message summary/title I’d suggest:

mdmonitor-oneshot.service: Pass `--syslog` to fix start failure

> When we start mdmonitor-oneshot.service, we found an fail

a fail

> for mdmonitor-oneshot.service:

Maybe even:

mdmonitor-oneshot.service fails with the error below:

> mdadm: No mail address or alert command - not monitoring
> 
> According to the error information, We modified the Environment

s/We/we/

> field and added the syslog parameter.The service can be

s/added/add/
Please add a space after the dot/period.

> executed successfully.

Maybe:

Pass the switch `--syslog`, so alerts are reported to syslog and not by 
email or an alert program.

> ---
>   systemd/mdmonitor-oneshot.service | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/systemd/mdmonitor-oneshot.service b/systemd/mdmonitor-oneshot.service
> index ba86b44e..032b8aad 100644
> --- a/systemd/mdmonitor-oneshot.service
> +++ b/systemd/mdmonitor-oneshot.service
> @@ -10,7 +10,7 @@ Description=Reminder for degraded MD arrays
>   Documentation=man:mdadm(8)
>   
>   [Service]
> -Environment=MDADM_MONITOR_ARGS=--scan
> +Environment=MDADM_MONITOR_ARGS="--scan --syslog"

Isn’t it more idiomatic for systemd to capture standard out and standard 
error directly? Adding `--syslog` here would add an unwanted redirection?

>   EnvironmentFile=-/run/sysconfig/mdadm
>   ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
>   ExecStart=BINDIR/mdadm --monitor --oneshot $MDADM_MONITOR_ARGS

Could mdadm be fixed to allow to be started without email or alert program?


Kind regards,

Paul
Mariusz Tkaczyk June 7, 2023, 11:05 a.m. UTC | #2
On Wed, 7 Jun 2023 14:57:34 +0800
Guanqin Miao <miaoguanqin@huawei.com> wrote:

> When we start mdmonitor-oneshot.service, we found an fail 
> for mdmonitor-oneshot.service:
> 
> mdadm: No mail address or alert command - not monitoring
> 
> According to the error information, We modified the Environment 
> field and added the syslog parameter.The service can be 
> executed successfully.
> ---
Hi Guanqin,

I'm against this approach because systemd service should contains
parameters specifies systemd wide mode only, like "--scan".

It globally enables syslog logging for --oneshoot. I know that
it is not configurable right now and nobody is asking but I believe that user
will prefer to have possibility to enable/disable it, not to have it always
enabled.

If you want add the syslog logging then it should be configurable via config
like MAILADDR is e.g.

SYSLOG = yes

Please also consider that we have two services: mdmonitor and mdmonitor-oneshoot
and logging for them should be configured separately, so I think it is better to
give two options: SYSLOG, SYSYLOG_ONESHOT.

But the question is, if you want the syslog logging or just to make the service
working by default.

If service is not working by default it means that your package provider does
not provide default configuration to run that. It depends on them. We are
providing a solution which may need to be additionally configured.
There is not requirement saying "service must work by default" so I do not
consider it as a bug. Please correct me if you think that I'm wrong here.

Thanks,
Mariusz

>  systemd/mdmonitor-oneshot.service | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/systemd/mdmonitor-oneshot.service
> b/systemd/mdmonitor-oneshot.service index ba86b44e..032b8aad 100644
> --- a/systemd/mdmonitor-oneshot.service
> +++ b/systemd/mdmonitor-oneshot.service
> @@ -10,7 +10,7 @@ Description=Reminder for degraded MD arrays
>  Documentation=man:mdadm(8)
>  
>  [Service]
> -Environment=MDADM_MONITOR_ARGS=--scan
> +Environment=MDADM_MONITOR_ARGS="--scan --syslog"
>  EnvironmentFile=-/run/sysconfig/mdadm
>  ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
>  ExecStart=BINDIR/mdadm --monitor --oneshot $MDADM_MONITOR_ARGS
diff mbox series

Patch

diff --git a/systemd/mdmonitor-oneshot.service b/systemd/mdmonitor-oneshot.service
index ba86b44e..032b8aad 100644
--- a/systemd/mdmonitor-oneshot.service
+++ b/systemd/mdmonitor-oneshot.service
@@ -10,7 +10,7 @@  Description=Reminder for degraded MD arrays
 Documentation=man:mdadm(8)
 
 [Service]
-Environment=MDADM_MONITOR_ARGS=--scan
+Environment=MDADM_MONITOR_ARGS="--scan --syslog"
 EnvironmentFile=-/run/sysconfig/mdadm
 ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
 ExecStart=BINDIR/mdadm --monitor --oneshot $MDADM_MONITOR_ARGS