This commit adds support for a custom timeout value in the 'vncproxy'
method of the Proxmox PVE REST API. The timeout can now be specified 
using the 'timeout' parameter and defaults to 10 seconds if not set.

This will help users to better tailor the timeout based on factors
such as network latency.

The code change was implemented in the 'vncproxy' method of the
'PVE::API2::Qemu' package. The 'timeout' parameter was added to the
'parameters' section of the method and was used to set the timeout
duration in the 'realcmd' sub.

Signed-off-by: Matthieu Malvache <[email protected]>
---
 PVE/API2/Qemu.pm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 587bb22..bb20273 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -2164,6 +2164,13 @@ __PACKAGE__->register_method({
                default => 0,
                description => "Generates a random password to be used as 
ticket instead of the API ticket.",
            },
+           timeout => {
+               optional => 1,
+               type => 'integer',
+               minimum => 5,
+               default => 10,
+               description => "Timeout in seconds for the vnc proxy 
connection.",
+           },
        },
     },
     returns => {
@@ -2192,6 +2199,7 @@ __PACKAGE__->register_method({
        my $vmid = $param->{vmid};
        my $node = $param->{node};
        my $websocket = $param->{websocket};
+       my $timeout = $param->{timeout} // 10;
 
        my $conf = PVE::QemuConfig->load_config($vmid, $node); # check if VM 
exists
 
@@ -2226,8 +2234,6 @@ __PACKAGE__->register_method({
 
        my $port = PVE::Tools::next_vnc_port($family);
 
-       my $timeout = 10;
-
        my $realcmd = sub {
            my $upid = shift;
 
-- 
2.30.2


_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to