we wrongly mapped some efidisks into the vm, and fixed it in pve6 this potentially needs manual intervention, so warn the user about which vms might be affected
Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- PVE/CLI/pve5to6.pm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/PVE/CLI/pve5to6.pm b/PVE/CLI/pve5to6.pm index 01a3a819..8ccca076 100644 --- a/PVE/CLI/pve5to6.pm +++ b/PVE/CLI/pve5to6.pm @@ -18,6 +18,7 @@ use PVE::RPCEnvironment; use PVE::Storage; use PVE::Tools qw(run_command $IPV4RE $IPV6RE); use PVE::QemuServer; +use PVE::QemuConfig; use AptPkg::Cache; use Socket qw(AF_INET AF_INET6 inet_ntop); @@ -335,6 +336,38 @@ sub check_kvm_nested { } } +sub check_vms_with_uefi { + log_info("Checking VMs with OVMF enabled, which may need manual intervention..."); + + my $vmlist = PVE::QemuServer::vzlist(); + + my $vms = []; + + foreach my $vmid ( sort { $a <=> $b } keys %$vmlist ) { + my $conf = PVE::QemuConfig->load_config($vmid); + if ($conf->{bios} && $conf->{bios} eq 'ovmf' && $conf->{efidisk0}) { + my $disk = PVE::QemuServer::parse_drive('efidisk0', $conf->{efidisk0}); + if (!defined($disk->{size}) || $disk->{size} > 128*1024) { + # all efidisks bigger than the default 128k and those + # without size in the config + push @$vms, $vmid; + } elsif ($disk->{file} !~ /\.(raw|qcow2|vmdk)$/) { + # all efidisks not on file storage + push @$vms, $vmid; + } + } + } + + if (scalar(@$vms) > 0) { + my $warnmsg = "VMs with OVMF configured and potentially broken EFI disks: \n"; + $warnmsg .= " " . join(',', @$vms); + $warnmsg .= "\nThere may be manual intervention required. See Known upgrade issues for details\n"; + log_warn($warnmsg); + } else { + log_pass("No VMs with OVMF and potentially broken EFI disk found."); + } +} + sub check_storage_health { print_header("CHECKING CONFIGURED STORAGES"); my $cfg = PVE::Storage::config(); @@ -741,6 +774,8 @@ sub check_misc { } check_kvm_nested(); + + check_vms_with_uefi(); } __PACKAGE__->register_method ({ -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel