From ecfe25058bb02eaa362ce65ca258f4e3bd7f5ae8 Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Thu, 30 Sep 2021 13:42:09 +0200 Subject: [PATCH] prune: mark renamed and protected backups differently While it makes no difference for pruning itself, protected backups are additionally protected against removal. Avoid the potential to confuse the two. Also update the description for the API return value and add an enum constraint. Signed-off-by: Fabian Ebner --- PVE/API2/Storage/PruneBackups.pm | 5 +++-- PVE/Storage/Plugin.pm | 2 +- test/prune_backups_test.pm | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/PVE/API2/Storage/PruneBackups.pm b/PVE/API2/Storage/PruneBackups.pm index 2509a46..e6ab276 100644 --- a/PVE/API2/Storage/PruneBackups.pm +++ b/PVE/API2/Storage/PruneBackups.pm @@ -61,9 +61,10 @@ __PACKAGE__->register_method ({ type => 'integer', }, 'mark' => { - description => "Whether the backup would be kept or removed. For backups that don't " . - "use the standard naming scheme, it's 'protected'.", + description => "Whether the backup would be kept or removed. Backups that are" . + " protected or don't use the standard naming scheme are not removed.", type => 'string', + enum => ['keep', 'remove', 'protected', 'renamed'], }, type => { description => "One of 'qemu', 'lxc', 'openvz' or 'unknown'.", diff --git a/PVE/Storage/Plugin.pm b/PVE/Storage/Plugin.pm index 409a05c..7d2487f 100644 --- a/PVE/Storage/Plugin.pm +++ b/PVE/Storage/Plugin.pm @@ -1372,7 +1372,7 @@ sub prune_backups { push @{$backup_groups->{$group}}, $prune_entry; } else { # ignore backups that don't use the standard naming scheme - $prune_entry->{mark} = 'protected'; + $prune_entry->{mark} = 'renamed'; } $prune_entry->{mark} = 'protected' if $backup->{protected}; diff --git a/test/prune_backups_test.pm b/test/prune_backups_test.pm index 8ad6144..b57d280 100644 --- a/test/prune_backups_test.pm +++ b/test/prune_backups_test.pm @@ -189,7 +189,7 @@ sub generate_expected { 'volid' => "$storeid:backup/vzdump-$vmid-renamed.tar.zst", 'type' => 'unknown', 'ctime' => 1234, - 'mark' => 'protected', + 'mark' => 'renamed', 'vmid' => $vmid, }, ) if !defined($type); @@ -375,7 +375,7 @@ my $tests = [ { 'volid' => "$storeid:backup/vzdump-lxc-novmid.tar.gz", 'ctime' => 1234, - 'mark' => 'protected', + 'mark' => 'renamed', 'type' => 'lxc', }, ],