[pve-devel] [PATCH manager] pve5to6: add check for nested kvm

Dominik Csapak d.csapak at proxmox.com
Wed Jun 26 12:34:55 CEST 2019


this warns the user that he cannot live migrate VMs with svm/vmx to PVE6 when
the nested parameter of the kvm module is on

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
also for stable-5
 PVE/CLI/pve5to6.pm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/PVE/CLI/pve5to6.pm b/PVE/CLI/pve5to6.pm
index e5732681..43623652 100644
--- a/PVE/CLI/pve5to6.pm
+++ b/PVE/CLI/pve5to6.pm
@@ -111,6 +111,30 @@ sub check_pve_packages {
     }
 }
 
+sub check_kvm_nested {
+    print "\nCHECKING KVM NESTED PARAMETER\n\n";
+    my $module_sysdir = "/sys/module";
+    if (-e "$module_sysdir/kvm_amd") {
+	$module_sysdir .= "/kvm_amd/parameters";
+    } elsif (-e "$module_sysdir/kvm_intel") {
+	$module_sysdir .= "/kvm_intel/parameters";
+    } else {
+	log_skip("no kvm module found");
+	return;
+    }
+
+    if (-f "$module_sysdir/nested") {
+	my $val = eval { PVE::Tools::file_read_firstline("$module_sysdir/nested") };
+	if ($val && $val =~ m/Y|1/) {
+	    log_warn("KVM nested parameter set. VMs with vmx/svm flag will not be able to live migrate to PVE 6.");
+	} else {
+	    log_pass("KVM nested parameter not set.")
+	}
+    } else {
+	log_skip("KVM nested parameter not found.");
+    }
+}
+
 sub check_storage_health {
     print "\nCHECKING CONFIGURED STORAGES\n\n";
     my $cfg = PVE::Storage::config();
@@ -347,6 +371,7 @@ __PACKAGE__->register_method ({
 	my ($param) = @_;
 
 	check_pve_packages();
+	check_kvm_nested();
 	check_cluster_corosync();
 	check_ceph();
 	check_storage_health();
-- 
2.20.1





More information about the pve-devel mailing list