From: Stefan Hanreich <s.hanreich@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH pve-network 1/1] debian: migrate legacy mac/ipam db
Date: Tue, 19 Nov 2024 14:30:56 +0100 [thread overview]
Message-ID: <20241119133056.167727-1-s.hanreich@proxmox.com> (raw)
We opted for a simple copy of the legacy file to the new location,
since any other migration path would be too strenuous. The worst-case
scenario of failures with this approach is losing IPAM / MAC entries
that are created during the update window in the legacy files by nodes
that are not yet updated to the new version. Those can be fixed by
a simple start / stop of the affected VMs, triggering a rewrite of the
IPAM database.
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
---
I took the liberty of already including a version guard, since we will
apply it directly before bumping. If that's a wrong assumption or if
the version number is wrong, please adapt it respectively.
debian/libpve-network-perl.postinst | 32 +++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
create mode 100644 debian/libpve-network-perl.postinst
diff --git a/debian/libpve-network-perl.postinst b/debian/libpve-network-perl.postinst
new file mode 100644
index 0000000..733961b
--- /dev/null
+++ b/debian/libpve-network-perl.postinst
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+set -e
+
+migrate_ipam_db() {
+ LEGACY_IPAM_DB_FILE="/etc/pve/priv/ipam.db"
+ IPAM_DB_FILE="/etc/pve/sdn/pve-ipam-state.json"
+
+ if test -f "$LEGACY_IPAM_DB_FILE" && test ! -f "$IPAM_DB_FILE"; then
+ cp $LEGACY_IPAM_DB_FILE $IPAM_DB_FILE
+ fi
+}
+
+migrate_mac_cache() {
+ LEGACY_MAC_DB_FILE="/etc/pve/priv/macs.db"
+ MAC_DB_FILE="/etc/pve/sdn/mac-cache.json"
+
+ if test -f "$LEGACY_MAC_DB_FILE" && test ! -f "$MAC_DB_FILE"; then
+ cp $LEGACY_MAC_DB_FILE $MAC_DB_FILE
+ fi
+}
+
+case "$1" in
+ configure)
+ if dpkg --compare-versions "$2" 'lt' '0.9.9'; then
+ migrate_ipam_db
+ migrate_mac_cache
+ fi
+ ;;
+esac
+
+exit 0
--
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:[~2024-11-19 13:30 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-19 13:30 Stefan Hanreich [this message]
2024-11-19 15:59 ` [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=20241119133056.167727-1-s.hanreich@proxmox.com \
--to=s.hanreich@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.