From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH-SERIES v4] fix #2649: introduce prune-backups property for storages supporting backups
Date: Thu, 9 Jul 2020 14:45:40 +0200 [thread overview]
Message-ID: <20200709124547.2913-1-f.ebner@proxmox.com> (raw)
A new 'prune-backups' option is introduced for storages as well as for vzdump
Patches #1-#3 introduces prune-backups in the backend
Patch #4 introduces the new vzdump parameter
Patch #6 is the 'real' change needed for vzdump.
Patch #7 gets rid of 'maxfiles' internally, re-using 'prune-backups' instead.
Changes from v3:
* Error handling for the prune_backup functions, to allow
pruning other groups if one fails
* Allow passing a logfunc in prune_backups (useful for vzdump)
* Use new property string validation
* Make prune-backups also a vzdump option
* Introduce a wrapper for pvesm prune-backups and redirect call
to API according to --dry-run
* Also allow filtering by type
* prune_mark: merge loops
* Add more tests
Non-standard backups are ignored when pruning. I chose 'protected'
to mark those, 'ignore' could also be used. Backups are grouped
by type+ID.
The backup type from PBS is translated: ct->lxc, vm->qemu, so that the
possible values for the API result don't depend on the backend.
Dependency bumps 'manager -> storage' and 'manager -> guest-common -> storage' are needed
storage:
Fabian Ebner (3):
Introduce prune-backups property for directory-based storages
Add prune_backups to storage API
Add API and pvesm call for prune_backups
PVE/API2/Storage/Makefile | 2 +-
PVE/API2/Storage/PruneBackups.pm | 164 +++++++++++++++
PVE/API2/Storage/Status.pm | 7 +
PVE/CLI/pvesm.pm | 126 ++++++++++++
PVE/Storage.pm | 91 +++++++-
PVE/Storage/CIFSPlugin.pm | 1 +
PVE/Storage/CephFSPlugin.pm | 1 +
PVE/Storage/DirPlugin.pm | 5 +-
PVE/Storage/GlusterfsPlugin.pm | 5 +-
PVE/Storage/NFSPlugin.pm | 5 +-
PVE/Storage/PBSPlugin.pm | 69 +++++++
PVE/Storage/Plugin.pm | 124 ++++++++++-
test/prune_backups_test.pm | 342 +++++++++++++++++++++++++++++++
test/run_plugin_tests.pl | 1 +
14 files changed, 933 insertions(+), 10 deletions(-)
create mode 100644 PVE/API2/Storage/PruneBackups.pm
create mode 100644 test/prune_backups_test.pm
guest-common:
Fabian Ebner (1):
Add prune-backups option to vzdump parameters
PVE/VZDump/Common.pm | 4 ++++
1 file changed, 4 insertions(+)
manager:
Fabian Ebner (3):
make use of archive_info and archive_remove
Allow prune-backups as an alternative to maxfiles
Always use prune-backups instead of maxfiles internally
PVE/API2/VZDump.pm | 4 +-
PVE/VZDump.pm | 93 ++++++++++++++++++++++++++++++----------------
2 files changed, 63 insertions(+), 34 deletions(-)
--
2.20.1
next reply other threads:[~2020-07-09 12:46 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-09 12:45 Fabian Ebner [this message]
2020-07-09 12:45 ` [pve-devel] [PATCH v4 storage 1/7] Introduce prune-backups property for directory-based storages Fabian Ebner
2020-07-24 17:07 ` [pve-devel] applied: " Thomas Lamprecht
2020-07-09 12:45 ` [pve-devel] [PATCH v4 storage 2/7] Add prune_backups to storage API Fabian Ebner
2020-07-24 17:07 ` [pve-devel] applied: " Thomas Lamprecht
2020-07-09 12:45 ` [pve-devel] [PATCH v4 storage 3/7] Add API and pvesm call for prune_backups Fabian Ebner
2020-07-13 7:04 ` Fabian Ebner
2020-07-24 17:08 ` Thomas Lamprecht
2020-07-09 12:45 ` [pve-devel] [PATCH v4 guest-common 4/7] Add prune-backups option to vzdump parameters Fabian Ebner
2020-08-20 15:39 ` [pve-devel] applied: " Thomas Lamprecht
2020-07-09 12:45 ` [pve-devel] [PATCH v4 manager 5/7] make use of archive_info and archive_remove Fabian Ebner
2020-08-21 11:31 ` [pve-devel] applied: " Thomas Lamprecht
2020-07-09 12:45 ` [pve-devel] [PATCH v4 manager 6/7] Allow prune-backups as an alternative to maxfiles Fabian Ebner
2020-07-09 12:45 ` [pve-devel] [PATCH v4 manager 7/7] Always use prune-backups instead of maxfiles internally Fabian Ebner
2020-08-21 11:33 ` Thomas Lamprecht
2020-08-24 7:25 ` Fabian Ebner
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=20200709124547.2913-1-f.ebner@proxmox.com \
--to=f.ebner@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