[pve-devel] applied: [PATCH cluster] pvecm updatecerts: time out after 30 seconds

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Jul 3 13:54:32 CEST 2018


On 7/2/18 4:34 PM, Thomas Lamprecht wrote:
> 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.
> 
> Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
> ---
>  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;
>      }});
> 

applied




More information about the pve-devel mailing list