public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Stefan Reiter <s.reiter@proxmox.com>
To: "Dominic Jäger" <d.jaeger@proxmox.com>,
	"Proxmox VE development discussion" <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH 00/10] Single-file-restore GUI for PBS snapshots
Date: Thu, 22 Apr 2021 14:12:19 +0200	[thread overview]
Message-ID: <41e51324-d56d-9360-9120-d54beaa206df@proxmox.com> (raw)
In-Reply-To: <20210422103345.GA63060@mala>

On 22/04/2021 12:33, Dominic Jäger wrote:
> On Wed, Apr 21, 2021 at 01:15:29PM +0200, Stefan Reiter wrote:
>> Implements the necessary API for allowing single file restore via the PVE web
>> GUI.
> 
> Restoring a couple of small text files and folders with textfiles from
> containers worked really well for me.  For VMs I could also restore some text
> files & folders, but I didn't work as smooth.
> I tried both with a single .fidx/root.pxar so far.
> 
> * This
>> proxmox-file-restore failed: Error: mounting 'drive-scsi0.img.fidx/part/1' failed: all mounts failed or no supported file system (500)
> is correct but it would be nice if we could try to say something like "We found LVM stuff
> which is currently unsupported".  Currently it looks more like bug than
> "expected error" to me.

I mean, the real fix here is to support those types of storage ;)
I think "no supported file system" explains the situation reasonably 
well, but open to suggestions of course.

> 
> Maybe we could improve this (at some point in the future) so that the error
> does not block the whole panel and we can continue to select another part/number.
> Because when two out of three parts block the whole thing, then remembering the
> bad one(s), clicking X, clicking File restore->fidx->part->some number is not
> ideal IMO.
> 

argh, I already have a fix for that, but apparently I forgot to include 
my widget-toolkit patches in the series - thanks for noticing!

> 
> * Sometimes the Download button remains enabled when errors (like the previous)
>    happen and then you get a couple of 0 byte files
> 

yup, should probably disable that as well on error

> 
> * On the respective PBS sometimes this
>> 2021-04-22T11:31:01+02:00: starting new backup reader datastore 'test': "/test"
>> 2021-04-22T11:31:01+02:00: protocol upgrade done
>> 2021-04-22T11:31:01+02:00: GET /download
>> 2021-04-22T11:31:01+02:00: download "/test/vm/100/2021-04-22T09:29:17Z/index.json.blob"
>> 2021-04-22T11:31:01+02:00: GET /download
>> 2021-04-22T11:31:01+02:00: download "/test/vm/100/2021-04-22T09:29:17Z/drive-scsi0.img.fidx"
>> 2021-04-22T11:31:01+02:00: register chunks in 'drive-scsi0.img.fidx' as downloadable.
>> 2021-04-22T11:31:01+02:00: GET /chunk
>> 2021-04-22T11:31:01+02:00: download chunk "/test/.chunks/394a/394a4b4c316868a466fbece11881752a10b31a782d2740ab414c3f48b5fb4e58"
>> 2021-04-22T11:31:01+02:00: GET /chunk
>> 2021-04-22T11:31:01+02:00: download chunk "/test/.chunks/d628/d62885ad37c7a44a2fa9fdc558e85e89ecf4c9754617fab7e1f491fa3da65d38"
> appears and stays there forever and when I clicked Stop
>> 2021-04-22T11:47:00+02:00: TASK ERROR: task aborted
> it seemed to accept but the circle remained spinning forever again (OK, I only
> checked for a couple of minutes).
> 

When you clicked "stop" where? On PBS side? That would be an error in 
the server code somewhere then.

But yes, the task stays active - that is due to the nature of the beast, 
the VM used to restore keeps the channel open for disk access as long as 
it runs, once it times out the task should disappear too.

> 
> * Sometimes the PBS also logged
>> 2021-04-22T11:42:40+02:00: starting new backup reader datastore 'test': "/test"
>> 2021-04-22T11:42:40+02:00: protocol upgrade done
>> 2021-04-22T11:42:40+02:00: GET /download
>> 2021-04-22T11:42:40+02:00: download "/test/ct/102/2021-04-22T09:39:23Z/index.json.blob"
>> 2021-04-22T11:42:40+02:00: GET /download
>> 2021-04-22T11:42:40+02:00: download "/test/ct/102/2021-04-22T09:39:23Z/root.pxar.didx"
>> 2021-04-22T11:42:40+02:00: register chunks in 'root.pxar.didx' as downloadable.
>> 2021-04-22T11:42:40+02:00: GET /chunk
>> 2021-04-22T11:42:40+02:00: download chunk "/test/.chunks/ff63/ff63c49eae6b77e2933ea08af0dcf3786e74fc454ac2462ba780f0726c070023"
>> 2021-04-22T11:42:40+02:00: GET /chunk
>> 2021-04-22T11:42:40+02:00: download chunk "/test/.chunks/261e/261ec247951ab57a51df87c593ae2aaf4f76c671bb94e13245f53ebdf25cfd45"
>> 2021-04-22T11:42:40+02:00: GET /chunk
>> 2021-04-22T11:42:40+02:00: download chunk "/test/.chunks/3a60/3a60c4eb21123c01a63e981d8f550ba0f99b5e90b97340d384da9f079fa767ed"
>> 2021-04-22T11:42:40+02:00: TASK ERROR: connection error: Transport endpoint is not connected (os error 107)
> but it looked to me like it didn't really matter? I could still download my
> text files.  Note that when it started to log such messages, there were
> actually quite a lot of those entries.
> 

That is an interesting one... does it happen in the middle of the task 
log? It almost looks like the VM stopped and ended the connection. Maybe 
some intermittant network stuff?

> 
> * A few times I got in the PVE GUI when I clicked on ...img.fidx
>> malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "VM 'qemu_root\\x40pa...") at /usr/share/perl5/PVE/PBSClient.pm line 220. (500)
> and I couldn't find out yet why and later it just didn't appear again.
> 

Fixed with 6ea6324bd6cc in proxmox-backup.

> 
> * This is helpful
>> executable not found '/usr/bin/proxmox-file-restore'! Proxmox backup client or file restore not installed? (500)
> but the precise package name would make it even more helpful for me.
>> proxmox-backup-file-restore

True. Do we have that as a dependency actually, or is it like with 
ifupdown2 where the user has to install it manually?

> 
> 
> Today I also tried around with existing options of restoring data with the backup client (CLI).
> And even with the previous concerns, I think that in comparison to those CLI possibilities this
> new feature makes exploring & restoring really, really convenient.
> 
> Tested-by: Dominic Jäger <d.jaeger@proxmox.com>
> 

Thanks for testing and the feedback!




      reply	other threads:[~2021-04-22 12:12 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-21 11:15 Stefan Reiter
2021-04-21 11:15 ` [pve-devel] [PATCH RESEND common 01/10] JSONSchema: don't cycle-check 'download' responses Stefan Reiter
2021-04-21 15:37   ` [pve-devel] applied: " Thomas Lamprecht
2021-04-21 11:15 ` [pve-devel] [PATCH common 02/10] PBSClient: allow running other binaries Stefan Reiter
2021-04-21 14:29   ` Thomas Lamprecht
2021-04-21 14:38     ` Stefan Reiter
2021-04-21 14:50       ` Thomas Lamprecht
2021-04-21 15:37   ` [pve-devel] applied: " Thomas Lamprecht
2021-04-21 11:15 ` [pve-devel] [PATCH common 03/10] PBSClient: add file_restore_list command Stefan Reiter
     [not found]   ` <<20210421111539.29261-4-s.reiter@proxmox.com>
2021-04-21 13:19     ` Fabian Grünbichler
2021-04-21 11:15 ` [pve-devel] [PATCH common 04/10] PBSClient: allow different command execution callback Stefan Reiter
     [not found]   ` <<20210421111539.29261-5-s.reiter@proxmox.com>
2021-04-21 13:19     ` Fabian Grünbichler
2021-04-21 13:39       ` Stefan Reiter
2021-04-21 11:15 ` [pve-devel] [PATCH common 05/10] PBSClient: add file_restore_extract function Stefan Reiter
2021-04-21 11:15 ` [pve-devel] [PATCH RESEND http-server 06/10] allow 'download' to be passed from API handler Stefan Reiter
2021-04-21 15:43   ` [pve-devel] applied: " Thomas Lamprecht
2021-04-21 11:15 ` [pve-devel] [PATCH http-server 07/10] support streaming data form fh to client Stefan Reiter
     [not found]   ` <<20210421111539.29261-8-s.reiter@proxmox.com>
2021-04-21 13:25     ` Fabian Grünbichler
2021-04-21 11:15 ` [pve-devel] [PATCH http-server 08/10] allow stream download from path and over pvedaemon-proxy Stefan Reiter
2021-04-21 11:15 ` [pve-devel] [PATCH storage 09/10] add FileRestore API for PBS Stefan Reiter
     [not found]   ` <<20210421111539.29261-10-s.reiter@proxmox.com>
2021-04-21 13:26     ` Fabian Grünbichler
2021-04-21 13:38       ` Stefan Reiter
2021-04-22  6:19         ` Fabian Grünbichler
2021-04-21 11:15 ` [pve-devel] [PATCH manager 10/10] backupview: add file restore button Stefan Reiter
2021-04-22 10:33 ` [pve-devel] [PATCH 00/10] Single-file-restore GUI for PBS snapshots Dominic Jäger
2021-04-22 12:12   ` Stefan Reiter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41e51324-d56d-9360-9120-d54beaa206df@proxmox.com \
    --to=s.reiter@proxmox.com \
    --cc=d.jaeger@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal