restrict the nodes also for mapped devices, and return them in their own property
Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- PVE/API2/Qemu.pm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index f22c601..f570fc2 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -4159,6 +4159,10 @@ __PACKAGE__->register_method({ $res->{running} = PVE::QemuServer::check_running($vmid) ? 1:0; + my ($local_resources, $mapped_resources, $not_allowed_nodes) = + PVE::QemuServer::check_local_resources($vmconf, 1); + delete $not_allowed_nodes->{$localnode}; + # if vm is not running, return target nodes where local storage is available # for offline migration if (!$res->{running}) { @@ -4167,7 +4171,12 @@ __PACKAGE__->register_method({ delete $checked_nodes->{$localnode}; foreach my $node (keys %$checked_nodes) { - if (!defined $checked_nodes->{$node}->{unavailable_storages}) { + if (scalar(@{$not_allowed_nodes->{$node}})) { + $checked_nodes->{$node}->{unavailable_resources} = $not_allowed_nodes->{$node}; + next; + } + + if (!defined($checked_nodes->{$node}->{unavailable_storages})) { push @{$res->{allowed_nodes}}, $node; } @@ -4175,13 +4184,11 @@ __PACKAGE__->register_method({ $res->{not_allowed_nodes} = $checked_nodes; } - my $local_disks = &$check_vm_disks_local($storecfg, $vmconf, $vmid); $res->{local_disks} = [ values %$local_disks ];; - my $local_resources = PVE::QemuServer::check_local_resources($vmconf, 1); - $res->{local_resources} = $local_resources; + $res->{mapped_resources} = $mapped_resources; return $res; -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel