public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Shannon Sterz" <s.sterz@proxmox.com>
To: "Proxmox Backup Server development discussion"
	<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH vma-to-pbs v5 2/4] add option to skip vmids whose backups failed to upload
Date: Wed, 13 Nov 2024 12:41:15 +0100	[thread overview]
Message-ID: <D5L0UAL9W6UO.1K9R74UKK74H5@proxmox.com> (raw)
In-Reply-To: <20241111130822.124584-3-f.schauer@proxmox.com>

comments in-line:

On Mon Nov 11, 2024 at 2:08 PM CET, Filip Schauer wrote:
> Signed-off-by: Filip Schauer <f.schauer@proxmox.com>
> ---
>  src/main.rs    |  6 ++++++
>  src/vma2pbs.rs | 13 ++++++++++---
>  2 files changed, 16 insertions(+), 3 deletions(-)
>
> diff --git a/src/main.rs b/src/main.rs
> index a394078..d4b36fa 100644
> --- a/src/main.rs
> +++ b/src/main.rs
> @@ -50,6 +50,9 @@ Options:
>            File containing a comment/notes
>        [--log-file <LOG_FILE>]
>            Log file
> +      --skip-failed
> +          Skip VMIDs that failed to be uploaded and continue onto the next VMID if a dump directory
> +          is specified.
>    -y, --yes
>            Automatic yes to prompts
>    -h, --help
> @@ -70,6 +73,7 @@ fn parse_args() -> Result<BackupVmaToPbsArgs, Error> {
>          "--compress",
>          "-e",
>          "--encrypt",
> +        "--skip-failed",
>          "-y",
>          "--yes",
>      ];
> @@ -119,6 +123,7 @@ fn parse_args() -> Result<BackupVmaToPbsArgs, Error> {
>      let key_password_file: Option<OsString> = args.opt_value_from_str("--key-password-file")?;
>      let notes_file: Option<OsString> = args.opt_value_from_str("--notes-file")?;
>      let log_file_path: Option<OsString> = args.opt_value_from_str("--log-file")?;
> +    let skip_failed = args.contains("--skip-failed");
>      let yes = args.contains(["-y", "--yes"]);
>
>      match (encrypt, keyfile.is_some()) {
> @@ -347,6 +352,7 @@ fn parse_args() -> Result<BackupVmaToPbsArgs, Error> {
>      let options = BackupVmaToPbsArgs {
>          pbs_args,
>          grouped_vmas,
> +        skip_failed,
>      };
>
>      Ok(options)
> diff --git a/src/vma2pbs.rs b/src/vma2pbs.rs
> index 95ede9b..a5b4027 100644
> --- a/src/vma2pbs.rs
> +++ b/src/vma2pbs.rs
> @@ -32,6 +32,7 @@ const VMA_CLUSTER_SIZE: usize = 65536;
>  pub struct BackupVmaToPbsArgs {
>      pub pbs_args: PbsArgs,
>      pub grouped_vmas: HashMap<String, Vec<VmaBackupArgs>>,
> +    pub skip_failed: bool,
>  }
>
>  pub struct PbsArgs {
> @@ -478,13 +479,19 @@ pub fn vma2pbs(args: BackupVmaToPbsArgs) -> Result<(), Error> {
>      for (_, vma_group) in args.grouped_vmas {
>          for backup_args in vma_group {
>              if let Err(e) = upload_vma_file(pbs_args, &backup_args) {
> -                eprintln!(
> +                let err_msg = format!(
>                      "Failed to upload vma file at {:?} - {}",
>                      backup_args.vma_file_path.unwrap_or("(stdin)".into()),
>                      e

nit: i'd move `e` into the format string, since you are basically
already touching these lines :)

>                  );
> -                println!("Skipping VMID {}", backup_args.backup_id);
> -                break;
> +
> +                if args.skip_failed {
> +                    eprintln!("{}", err_msg);
> +                    println!("Skipping VMID {}", backup_args.backup_id);
> +                    break;
> +                } else {
> +                    bail!(err_msg);
> +                }
>              }
>          }
>      }



_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


  reply	other threads:[~2024-11-13 11:41 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-11 13:08 [pbs-devel] [PATCH vma-to-pbs v5 0/4] add support for bulk import of a dump directory Filip Schauer
2024-11-11 13:08 ` [pbs-devel] [PATCH vma-to-pbs v5 1/4] " Filip Schauer
2024-11-13 11:41   ` Shannon Sterz
2024-11-13 16:02     ` Filip Schauer
2024-11-11 13:08 ` [pbs-devel] [PATCH vma-to-pbs v5 2/4] add option to skip vmids whose backups failed to upload Filip Schauer
2024-11-13 11:41   ` Shannon Sterz [this message]
2024-11-11 13:08 ` [pbs-devel] [PATCH vma-to-pbs v5 3/4] use level-based logging instead of println Filip Schauer
2024-11-13 11:41   ` Shannon Sterz
2024-11-13 16:02     ` Filip Schauer
2024-11-11 13:08 ` [pbs-devel] [PATCH vma-to-pbs v5 4/4] log device upload progress as a percentage Filip Schauer
2024-11-13 11:41   ` Shannon Sterz
2024-11-13 16:07     ` Filip Schauer

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=D5L0UAL9W6UO.1K9R74UKK74H5@proxmox.com \
    --to=s.sterz@proxmox.com \
    --cc=pbs-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