This patch makes it possible to now set the starting timeout value for a VM via the config parameter 'startoptions'. Now, if the timeout parameter is set, it will override the heuristic calculation of the VM start timeout.
The maximum value for the timeout parameter is 86400 seconds, which is one day. The minimum value is 0, which disables the timeout. Signed-off-by: Daniel Tschlatscher <d.tschlatsc...@proxmox.com> --- No changes from v3 PVE/API2/Qemu.pm | 2 ++ PVE/QemuServer.pm | 1 + PVE/QemuServer/Helpers.pm | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index e2a420f..9a6b431 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -541,6 +541,7 @@ my $generaloptions = { 'reboot' => 1, 'startdate' => 1, 'startup' => 1, + 'startoptions' => 1, 'tdf' => 1, 'template' => 1, }; @@ -2647,6 +2648,7 @@ __PACKAGE__->register_method({ description => "Wait maximal timeout seconds.", type => 'integer', minimum => 0, + maximum => 86400, default => 'max(30, vm memory in GiB)', optional => 1, }, diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 39fc6b0..2a4bc75 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -716,6 +716,7 @@ EODESCR description => "List of host cores used to execute guest processes, for example: 0,5,8-11", optional => 1, }, + startoptions => get_standard_option('start-options'), }; my $cicustom_fmt = { diff --git a/PVE/QemuServer/Helpers.pm b/PVE/QemuServer/Helpers.pm index e91f906..1fa9011 100644 --- a/PVE/QemuServer/Helpers.pm +++ b/PVE/QemuServer/Helpers.pm @@ -144,6 +144,10 @@ sub version_cmp { sub config_aware_timeout { my ($config, $is_suspended) = @_; + + my $startup = PVE::JSONSchema::pve_parse_startup_options($config->{startoptions}); + return $startup->{timeout} if defined($startup->{timeout}); + my $memory = $config->{memory}; my $timeout = 30; -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel