From 50f74e31d0a64aaf70172697fe7ea2fc1fa8d567 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Mon, 2 Jul 2018 16:29:40 +0200 Subject: [PATCH] pvecm updatecerts: time out after 30 seconds We call this in pve-cluster.service as ExecStartPost. We prefix it with '-' to tell systemd that it should ignore non-zero exit codes, but if the command hangs (e.g., on IO) systemd kills it after a timeout (90 seconds default) which then doesn't get ignored and the unit will also be put in failure state and stopped. We specifically do not want this to happen, so wrap the updatecerts call in run_with_timeout and give it a maximum of 30 seconds to finish. Reviewed-by: Stoiko Ivanov Signed-off-by: Thomas Lamprecht --- data/PVE/CLI/pvecm.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/PVE/CLI/pvecm.pm b/data/PVE/CLI/pvecm.pm index 3f0ac12..4a6e373 100755 --- a/data/PVE/CLI/pvecm.pm +++ b/data/PVE/CLI/pvecm.pm @@ -290,7 +290,9 @@ __PACKAGE__->register_method ({ code => sub { my ($param) = @_; - PVE::Cluster::updatecerts_and_ssh($param->@{qw(force silent)}); + PVE::Tools::run_with_timeout(30, sub { + PVE::Cluster::updatecerts_and_ssh($param->@{qw(force silent)}); + }); return undef; }}); -- 2.39.2