[pve-devel] [PATCH v2 stable-7 manager] pve7to8: Add check for dkms modules

Christian Ebner c.ebner at proxmox.com
Tue Aug 1 10:42:09 CEST 2023


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

Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
---

changes since v1:
* do not use which to check for dkms, use exit code directly

 PVE/CLI/pve7to8.pm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/PVE/CLI/pve7to8.pm b/PVE/CLI/pve7to8.pm
index 5ba73837..b4b62255 100644
--- a/PVE/CLI/pve7to8.pm
+++ b/PVE/CLI/pve7to8.pm
@@ -1322,6 +1322,27 @@ sub check_bootloader {
     }
 }
 
+sub check_dkms_modules {
+    log_info("Check for dkms modules...");
+
+    my $count;
+    my $set_count = sub {
+	$count = scalar @_;
+    };
+
+    my $exit_code = eval {
+	run_command(['dkms', 'status', '-k', '`uname -r`'], outfunc => $set_count, noerr => 1)
+    };
+
+    if ($exit_code != 0) {
+	log_skip("could not get dkms status");
+    } elsif (!$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') };
@@ -1423,6 +1444,7 @@ sub check_misc {
     check_apt_repos();
     check_nvidia_vgpu_service();
     check_bootloader();
+    check_dkms_modules();
 }
 
 my sub colored_if {
-- 
2.39.2






More information about the pve-devel mailing list