[pve-devel] [PATCH manager] ui: file-restore: start the file-restore on the selected node

Dominik Csapak d.csapak at proxmox.com
Thu Jun 10 13:28:27 CEST 2021

On 6/10/21 11:29, Stefan Reiter wrote:
> On 6/10/21 10:40 AM, Dominik Csapak wrote:
>> On 6/10/21 10:23, Stefan Reiter wrote:
>>> On 6/10/21 9:37 AM, Dominik Csapak wrote:
>>>> and not the node where the browser connects.
>>>> there are at least two good reasons for this:
>>>> * it is confusing, since the user would expect it to start where
>>>>    the ui is pointint to
>>>> * the storage may not be available on the node the browser connects
>>>>    to, but it must be available on the node selected in the ui
>>>> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
>>>> ---
>>> Does this work with the proxying code for downloading files? I 
>>> believe my original reasoning behind this was because my 
>>> implementation for quickly forwarding data between the unprivileged 
>>> and privileged daemons uses a local Unix socket. Thus forwarding 
>>> between nodes (as I understand this will do?) would be subject to 
>>> caching the data at the node being contacted, before sending it to 
>>> the browser.
>> well it does work, since i sucessfully downloaded some files from a 
>> backup
>> what exactly do you mean with
>>  > would be subject to caching the data at the node being
>>  > contacted, before sending it to the browser.
> Try downloading a larger file (multiple GB) - is it streamed directly to 
> the browser or first transferred to node1 (from your example below), 
> cached in memory there, and only once it's fully in RAM transferred to 
> the client? I believe with this patch, the second variant will happen.
> This whole idea was the reason for these shenanigans:
> https://git.proxmox.com/?p=pve-http-server.git;a=commitdiff;h=51841e98fa5d4ad4d5b5250523c45f88769c577f 

from a short test it seem you're right
(have a pveproxy worker that sits at 2GiB RES atm)

but the solution here is probably to drop the 'proxyto'
in the api call, and do the same as we do for
vnc proxying? ssh tunnel and starting the file
restore on the target node

>> yes the download api call goes afaiu
>> proxy at node1(the one the browser connects to) ->
>> proxy at node2 (node selected from tree) ->
>> daemon at node2 ->
>> vm at node2

More information about the pve-devel mailing list