From: Daniel Kral <d.kral@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup v4 2/2] fix #5600: pbs2to3: allow arbitrary newer '-pve' kernels after upgrade
Date: Wed, 18 Sep 2024 15:01:00 +0200 [thread overview]
Message-ID: <20240918130100.193090-2-d.kral@proxmox.com> (raw)
In-Reply-To: <20240918130100.193090-1-d.kral@proxmox.com>
Fixes a bug where `pbs2to3` shows an incorrect warning about an
unexpected running kernel version, where newer kernel versions than 6.5
were marked as unexpected (e.g. "8.6.12-1-pve").
This commit allows arbitrary newer kernel versions that are suffixed
with '-pve' from kernel version 6.2 onward. This is the same behavior as
in other upgrade helpers like `pve7to8` [1] and `pmg7to8` [2].
[1] https://git.proxmox.com/?p=pve-manager.git;a=commit;h=fb59038a8b110b0b0b438ec035fd41dd9d591232
[2] https://git.proxmox.com/?p=pmg-api.git;a=commit;h=9d67a9af218b73027822c9c4665b88e6662e7ef7
Signed-off-by: Daniel Kral <d.kral@proxmox.com>
---
I've used a single regex pattern instead of the two sequential regex
pattern matches in the linked commits from pve-manager and pmg-api,
because I thought it would be a little more readable when only compiling
the regex patterns at one location here.
Changes to v1/v2/v3:
- Split up kernel version regex to make it a little more readable
- Include arbitrary newer versions from 6.2 onward ending with '-pve'
src/bin/pbs2to3.rs | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/bin/pbs2to3.rs b/src/bin/pbs2to3.rs
index d90e62ce..0d6a4b10 100644
--- a/src/bin/pbs2to3.rs
+++ b/src/bin/pbs2to3.rs
@@ -2,6 +2,7 @@ use std::io::Write;
use std::path::Path;
use anyhow::{format_err, Error};
+use const_format::concatcp;
use regex::Regex;
use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor};
@@ -124,8 +125,11 @@ impl Checker {
}
fn is_kernel_version_compatible(&self, running_version: &str) -> bool {
+ const MINIMUM_RE: &str = r"6\.(?:2\.(?:[2-9]\d+|1[6-8]|1\d\d+)|5)[^~]*";
+ const ARBITRARY_RE: &str = r"(?:[6-9]|\d{2,})\.(?:[2-9]|\d{2,})[^~]*-pve";
+
let re = if self.upgraded {
- r"^6\.(?:2\.(?:[2-9]\d+|1[6-8]|1\d\d+)|5)[^~]*$"
+ concatcp!(r"^(?:", MINIMUM_RE, r"|", ARBITRARY_RE, r")$")
} else {
r"^(?:5\.(?:13|15)|6\.2)"
};
@@ -662,7 +666,7 @@ mod tests {
#[test]
fn test_is_proxmox_kernel_version_compatible() {
- let expected_versions = &["6.2.16-20-pve", "6.5.13-6-pve"];
+ let expected_versions = &["6.2.16-20-pve", "6.5.13-6-pve", "6.8.12-1-pve"];
let unexpected_versions = &["5.13.19-6-pve", "6.1.15-1-pve"];
test_is_kernel_version_compatible(expected_versions, unexpected_versions, true);
--
2.39.5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
prev parent reply other threads:[~2024-09-18 13:01 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-18 13:00 [pbs-devel] [PATCH proxmox-backup v4 1/2] pbs2to3: add test for kernel version compatibility Daniel Kral
2024-09-18 13:01 ` Daniel Kral [this message]
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=20240918130100.193090-2-d.kral@proxmox.com \
--to=d.kral@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