[pve-devel] [PATCH ha-manager 3/9] manager: remove redundant add_service_usage_to_node from next_state_recovery
    Fiona Ebner 
    f.ebner at proxmox.com
       
    Thu Oct 16 13:33:20 CEST 2025
    
    
  
Am 30.09.25 um 4:20 PM schrieb Daniel Kral:
> Since 5c2eef4b ("account service to source and target during move") a
> moving HA resource's load is accounted for on the source and target
> nodes.
> 
> A HA resource is in the 'recovery' state after a successfully fenced
> node and its primary goal becomes to find a recovery node. As soon as a
> recovery node is found, the HA resource is moved there. As the previous
> node was fenced, there is only load on the recovery node.
> 
> The add_service_usage_to_node(...) is redundant at this point as the
> subsequent call to change_service_state(...) to either the 'started' or
> 'request_stop' state will call recompute_online_node_usage(...) and make
> the changes to $online_node_usage be discarded immediately.
This was done with the plan to make it more granular in mind, explicitly
not relying on a particular recompute_online_node_usage() call. I guess
the necessary calculation will still be covered by
change_service_state() at the end of the series? If yes, please mention
that in the commit message here and take a
> Signed-off-by: Daniel Kral <d.kral at proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner at proxmox.com>
> ---
>  src/PVE/HA/Manager.pm | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/src/PVE/HA/Manager.pm b/src/PVE/HA/Manager.pm
> index f69a7fe9..6afc9250 100644
> --- a/src/PVE/HA/Manager.pm
> +++ b/src/PVE/HA/Manager.pm
> @@ -1321,8 +1321,6 @@ sub next_state_recovery {
>          $fence_recovery_cleanup->($self, $sid, $fenced_node);
>  
>          $haenv->steal_service($sid, $sd->{node}, $recovery_node);
> -        $self->{online_node_usage}->add_service_usage_to_node($recovery_node, $sid, $recovery_node);
> -        $self->{online_node_usage}->add_service_node($sid, $recovery_node);
>  
>          # NOTE: $sd *is normally read-only*, fencing is the exception
>          $cd->{node} = $sd->{node} = $recovery_node;
    
    
More information about the pve-devel
mailing list