public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH v2 manager] pve7to8: allow arbitrary newer running '-pve' kernels after upgrade
@ 2024-05-28 10:59 Fiona Ebner
  2024-07-04  8:44 ` [pve-devel] applied: " Fabian Grünbichler
  0 siblings, 1 reply; 2+ messages in thread
From: Fiona Ebner @ 2024-05-28 10:59 UTC (permalink / raw)
  To: pve-devel

As recently reported in the community forum [0], 6.8 pve kernels would
not be detected correctly by the script. Allow arbitrary newer
versions if already upgraded for future-proofing.

[0]: https://forum.proxmox.com/threads/145723/post-664612

Suggested-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---

Changes in v2:
    * Allow arbitrary newer '-pve' kernels like Dominik suggested.

 PVE/CLI/pve7to8.pm | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/PVE/CLI/pve7to8.pm b/PVE/CLI/pve7to8.pm
index b34c8362..5c308907 100644
--- a/PVE/CLI/pve7to8.pm
+++ b/PVE/CLI/pve7to8.pm
@@ -204,17 +204,30 @@ sub check_pve_packages {
 	}
 
 	# FIXME: better differentiate between 6.2 from bullseye or bookworm
-	my ($krunning, $kinstalled) = (qr/6\.(?:2\.(?:[2-9]\d+|1[6-8]|1\d\d+)|5)[^~]*$/, 'proxmox-kernel-6.2');
+	my $kinstalled = 'proxmox-kernel-6.2';
 	if (!$upgraded) {
 	    # we got a few that avoided 5.15 in cluster with mixed CPUs, so allow older too
-	    ($krunning, $kinstalled) = (qr/(?:5\.(?:13|15)|6\.2)/, 'pve-kernel-5.15');
+	    $kinstalled = 'pve-kernel-5.15';
 	}
 
+	my $kernel_version_is_expected = sub {
+	    my ($version) = @_;
+
+	    return $version =~ m/^(?:5\.(?:13|15)|6\.2)/ if !$upgraded;
+
+	    if ($version =~ m/^6\.(?:2\.(?:[2-9]\d+|1[6-8]|1\d\d+)|5)[^~]*$/) {
+		return 1;
+	    } elsif ($version =~ m/^(\d+).(\d+)[^~]*-pve$/) {
+		return $1 >= 6 && $2 >= 2;
+	    }
+	    return;
+	};
+
 	print "\nChecking running kernel version..\n";
 	my $kernel_ver = $proxmox_ve->{RunningKernel};
 	if (!defined($kernel_ver)) {
 	    log_fail("unable to determine running kernel version.");
-	} elsif ($kernel_ver =~ /^$krunning/) {
+	} elsif ($kernel_version_is_expected->($kernel_ver)) {
 	    if ($upgraded) {
 		log_pass("running new kernel '$kernel_ver' after upgrade.");
 	    } else {
@@ -227,7 +240,7 @@ sub check_pve_packages {
 	    log_warn("unexpected running and installed kernel '$kernel_ver'.");
 	}
 
-	if ($upgraded && $kernel_ver =~ /^$krunning/) {
+	if ($upgraded && $kernel_version_is_expected->($kernel_ver)) {
 	    my $outdated_kernel_meta_pkgs = [];
 	    for my $kernel_meta_version ('5.4', '5.11', '5.13', '5.15') {
 		my $pkg = "pve-kernel-${kernel_meta_version}";
-- 
2.39.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pve-devel] applied: [PATCH v2 manager] pve7to8: allow arbitrary newer running '-pve' kernels after upgrade
  2024-05-28 10:59 [pve-devel] [PATCH v2 manager] pve7to8: allow arbitrary newer running '-pve' kernels after upgrade Fiona Ebner
@ 2024-07-04  8:44 ` Fabian Grünbichler
  0 siblings, 0 replies; 2+ messages in thread
From: Fabian Grünbichler @ 2024-07-04  8:44 UTC (permalink / raw)
  To: Proxmox VE development discussion

with the last return adapted to explicitly return 0.

Quoting Fiona Ebner (2024-05-28 12:59:23)
> As recently reported in the community forum [0], 6.8 pve kernels would
> not be detected correctly by the script. Allow arbitrary newer
> versions if already upgraded for future-proofing.
> 
> [0]: https://forum.proxmox.com/threads/145723/post-664612
> 
> Suggested-by: Dominik Csapak <d.csapak@proxmox.com>
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
> 
> Changes in v2:
>     * Allow arbitrary newer '-pve' kernels like Dominik suggested.
> 
>  PVE/CLI/pve7to8.pm | 21 +++++++++++++++++----
>  1 file changed, 17 insertions(+), 4 deletions(-)
> 
> diff --git a/PVE/CLI/pve7to8.pm b/PVE/CLI/pve7to8.pm
> index b34c8362..5c308907 100644
> --- a/PVE/CLI/pve7to8.pm
> +++ b/PVE/CLI/pve7to8.pm
> @@ -204,17 +204,30 @@ sub check_pve_packages {
>         }
>  
>         # FIXME: better differentiate between 6.2 from bullseye or bookworm
> -       my ($krunning, $kinstalled) = (qr/6\.(?:2\.(?:[2-9]\d+|1[6-8]|1\d\d+)|5)[^~]*$/, 'proxmox-kernel-6.2');
> +       my $kinstalled = 'proxmox-kernel-6.2';
>         if (!$upgraded) {
>             # we got a few that avoided 5.15 in cluster with mixed CPUs, so allow older too
> -           ($krunning, $kinstalled) = (qr/(?:5\.(?:13|15)|6\.2)/, 'pve-kernel-5.15');
> +           $kinstalled = 'pve-kernel-5.15';
>         }
>  
> +       my $kernel_version_is_expected = sub {
> +           my ($version) = @_;
> +
> +           return $version =~ m/^(?:5\.(?:13|15)|6\.2)/ if !$upgraded;
> +
> +           if ($version =~ m/^6\.(?:2\.(?:[2-9]\d+|1[6-8]|1\d\d+)|5)[^~]*$/) {
> +               return 1;
> +           } elsif ($version =~ m/^(\d+).(\d+)[^~]*-pve$/) {
> +               return $1 >= 6 && $2 >= 2;
> +           }
> +           return;
> +       };
> +
>         print "\nChecking running kernel version..\n";
>         my $kernel_ver = $proxmox_ve->{RunningKernel};
>         if (!defined($kernel_ver)) {
>             log_fail("unable to determine running kernel version.");
> -       } elsif ($kernel_ver =~ /^$krunning/) {
> +       } elsif ($kernel_version_is_expected->($kernel_ver)) {
>             if ($upgraded) {
>                 log_pass("running new kernel '$kernel_ver' after upgrade.");
>             } else {
> @@ -227,7 +240,7 @@ sub check_pve_packages {
>             log_warn("unexpected running and installed kernel '$kernel_ver'.");
>         }
>  
> -       if ($upgraded && $kernel_ver =~ /^$krunning/) {
> +       if ($upgraded && $kernel_version_is_expected->($kernel_ver)) {
>             my $outdated_kernel_meta_pkgs = [];
>             for my $kernel_meta_version ('5.4', '5.11', '5.13', '5.15') {
>                 my $pkg = "pve-kernel-${kernel_meta_version}";
> -- 
> 2.39.2
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
>


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-07-04  8:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-28 10:59 [pve-devel] [PATCH v2 manager] pve7to8: allow arbitrary newer running '-pve' kernels after upgrade Fiona Ebner
2024-07-04  8:44 ` [pve-devel] applied: " Fabian Grünbichler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal