From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH-SERIES qemu-server v5 00/16] more robust handling of fleecing images
Date: Mon, 27 Jan 2025 12:29:07 +0100 [thread overview]
Message-ID: <20250127112923.31703-1-f.ebner@proxmox.com> (raw)
Changes in v5:
* everything new in v5 except the last 3 patches
* new approach, use special config section instead of config key
* add tests and some fixes for configuration handling
* make special section handling more generic
* also check for and cancel left-over running backup job before
detaching the fleecing images to prevent a deadlock in some
scenarios
Record the created fleecing images in the VM configuration to be able
to remove left-overs after hard failures.
Adds a new special configuration section 'fleecing', making special
section handling more generic as preparation, as well as fixing some
corner cases in configuration parsing and adding tests.
Fiona Ebner (16):
migration: remove unused variable
test: avoid duplicate mock module in restore config test
test: add parse config tests
parse config: be precise about section type checks
test: add test case exposing issue with unknown sections
parse config: skip unknown sections and warn about their presence
vzdump: anchor matches for pending and special sections
vzdump: skip all special sections
config: make special section handling generic
test: parse config: test config with duplicate sections
parse config: warn about duplicate sections
check type: require schema as an argument
config: add fleecing section
fix #5440: vzdump: better cleanup fleecing images after hard errors
migration: attempt to clean up potential left-over fleecing images
destroy vm: clean up potential left-over fleecing images
PVE/API2/Qemu.pm | 22 +-
PVE/QemuConfig.pm | 84 +++++++-
PVE/QemuMigrate.pm | 8 +-
PVE/QemuServer.pm | 97 ++++++---
PVE/QemuServer/Cloudinit.pm | 8 +-
PVE/VZDump/QemuServer.pm | 50 ++++-
test/Makefile | 7 +-
.../cloudinit-snapshot.conf | 40 ++++
.../cloudinit-snapshot.conf.strict.error | 1 +
.../duplicate-sections.conf | 43 ++++
.../duplicate-sections.conf.strict.error | 1 +
.../unknown-sections.conf | 44 ++++
.../unknown-sections.conf.strict.error | 1 +
.../verify-snapshot.conf | 36 ++++
.../verify-snapshot.conf.strict.error | 1 +
.../cloudinit-snapshot.conf | 41 ++++
.../duplicate-sections.conf | 68 +++++++
test/parse-config-input/fleecing-section.conf | 20 ++
test/parse-config-input/locked.conf | 16 ++
test/parse-config-input/plain.conf | 15 ++
test/parse-config-input/regular-vm-efi.conf | 16 ++
test/parse-config-input/sections.conf | 44 ++++
test/parse-config-input/snapshots.conf | 189 ++++++++++++++++++
test/parse-config-input/unknown-sections.conf | 57 ++++++
test/parse-config-input/verify-snapshot.conf | 37 ++++
test/run_parse_config_tests.pl | 92 +++++++++
test/run_qemu_restore_config_tests.pl | 12 +-
27 files changed, 992 insertions(+), 58 deletions(-)
create mode 100644 test/parse-config-expected/cloudinit-snapshot.conf
create mode 100644 test/parse-config-expected/cloudinit-snapshot.conf.strict.error
create mode 100644 test/parse-config-expected/duplicate-sections.conf
create mode 100644 test/parse-config-expected/duplicate-sections.conf.strict.error
create mode 100644 test/parse-config-expected/unknown-sections.conf
create mode 100644 test/parse-config-expected/unknown-sections.conf.strict.error
create mode 100644 test/parse-config-expected/verify-snapshot.conf
create mode 100644 test/parse-config-expected/verify-snapshot.conf.strict.error
create mode 100644 test/parse-config-input/cloudinit-snapshot.conf
create mode 100644 test/parse-config-input/duplicate-sections.conf
create mode 100644 test/parse-config-input/fleecing-section.conf
create mode 100644 test/parse-config-input/locked.conf
create mode 100644 test/parse-config-input/plain.conf
create mode 100644 test/parse-config-input/regular-vm-efi.conf
create mode 100644 test/parse-config-input/sections.conf
create mode 100644 test/parse-config-input/snapshots.conf
create mode 100644 test/parse-config-input/unknown-sections.conf
create mode 100644 test/parse-config-input/verify-snapshot.conf
create mode 100755 test/run_parse_config_tests.pl
--
2.39.5
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next reply other threads:[~2025-01-27 11:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-27 11:29 Fiona Ebner [this message]
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 01/16] migration: remove unused variable Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 02/16] test: avoid duplicate mock module in restore config test Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 03/16] test: add parse config tests Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 04/16] parse config: be precise about section type checks Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 05/16] test: add test case exposing issue with unknown sections Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 06/16] parse config: skip unknown sections and warn about their presence Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 07/16] vzdump: anchor matches for pending and special sections Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 08/16] vzdump: skip all " Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 09/16] config: make special section handling generic Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 10/16] test: parse config: test config with duplicate sections Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 11/16] parse config: warn about " Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 12/16] check type: require schema as an argument Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 13/16] config: add fleecing section Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 14/16] fix #5440: vzdump: better cleanup fleecing images after hard errors Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 15/16] migration: attempt to clean up potential left-over fleecing images Fiona Ebner
2025-01-27 11:29 ` [pve-devel] [PATCH qemu-server v5 16/16] destroy vm: " Fiona Ebner
2025-03-07 10:45 ` [pve-devel] [PATCH-SERIES qemu-server v5 00/16] more robust handling of " Fiona Ebner
2025-04-07 13:11 ` [pve-devel] applied: " Thomas Lamprecht
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=20250127112923.31703-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