... and warn if at least one is present.

Signed-off-by: Christian Ebner <c.eb...@proxmox.com>
---
 PVE/CLI/pve7to8.pm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/PVE/CLI/pve7to8.pm b/PVE/CLI/pve7to8.pm
index da1e15bc..ecfb4011 100644
--- a/PVE/CLI/pve7to8.pm
+++ b/PVE/CLI/pve7to8.pm
@@ -1287,6 +1287,40 @@ sub check_bootloader {
     }
 }
 
+sub check_dkms_modules {
+    log_info("Check if dkms is installed...");
+
+    my $path;
+    my $filter_path = sub {
+       $path = shift;
+       chomp $path;
+    };
+
+    run_command(['which', 'dkms'], outfunc => $filter_path, noerr => 1);
+
+    if (!$path) {
+       log_skip("dkms not installed, no need to check for installed modules");
+       return;
+    }
+
+    log_info("Check for installed dkms modules...");
+
+    my $count;
+    my $set_count = sub {
+       $count = scalar @_;
+    };
+
+    eval {
+       run_command(['dkms', 'status', '-k', '`uname -r`'], outfunc => 
$set_count, noerr => 1);
+    };
+
+    if (!$count) {
+       log_pass("no dkms modules found");
+    } else {
+       log_warn("dkms modules found, this might cause issues during upgrade.");
+    }
+}
+
 sub check_misc {
     print_header("MISCELLANEOUS CHECKS");
     my $ssh_config = eval { PVE::Tools::file_get_contents('/root/.ssh/config') 
};
@@ -1388,6 +1422,7 @@ sub check_misc {
     check_apt_repos();
     check_nvidia_vgpu_service();
     check_bootloader();
+    check_dkms_modules();
 }
 
 my sub colored_if {
-- 
2.39.2



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

Reply via email to