[pve-devel] [PATCH ha-manager 1/1] api: relocate/migrate resource: improve initialization of variables to avoid Perl warning
Daniel Kral
d.kral at proxmox.com
Thu Oct 2 14:18:26 CEST 2025
On Wed Oct 1, 2025 at 4:02 PM CEST, Fiona Ebner wrote:
> diff --git a/src/PVE/HA/Config.pm b/src/PVE/HA/Config.pm
> index 301c62f..b52465f 100644
> --- a/src/PVE/HA/Config.pm
> +++ b/src/PVE/HA/Config.pm
> @@ -397,6 +397,7 @@ sub get_resource_motion_info {
> push @$dependent_resources, $_ for sort keys %$together;
>
> for my $node (keys %$ns) {
> + $blocking_resources_by_node->{$node} = [];
Unfortunately this breaks some callers of get_resource_motion_info(...),
which assume that a set $blocking_resources_by_node->{$node} means that
there was some blocking HA resource on that node, e.g.
$ ha-manager crm-command migrate vm:10000 node2
cannot migrate resource 'vm:10000' to node 'node2':
even though vm:10000 isn't in any HA rule. It might also break the
migrate precondition API in pve-container and qemu-server as it will not
add the node to 'allowed-nodes' there, which AFAICT we don't use in our
web interface but maybe some API users?
To be fair, these users should also check whether there are any
elements in the array to be safe, but it might be less churn to make it
a ref + array ref check for both API endpoints here?
> next if $ns->{$node} ne 'online';
>
> for my $csid (sort keys %$separate) {
More information about the pve-devel
mailing list