]> git.proxmox.com Git - pve-ha-manager.git/commitdiff
manager: select service node: add $sid to parameters
authorFiona Ebner <f.ebner@proxmox.com>
Thu, 17 Nov 2022 14:00:05 +0000 (15:00 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 18 Nov 2022 12:25:21 +0000 (13:25 +0100)
In preparation for scheduling based on static information, where the
scoring of nodes depends on information from the service's
VM/CT configuration file (and the $sid is required to query that).

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
src/PVE/HA/Manager.pm
src/test/test_failover1.pl

index 518f64ff8d1c3ef43ae8a4a6986d59babc1dc7e0..63c94af9e81a37b44865281e3105fec31a03de71 100644 (file)
@@ -119,7 +119,7 @@ sub get_node_priority_groups {
 }
 
 sub select_service_node {
-    my ($groups, $online_node_usage, $service_conf, $current_node, $try_next, $tried_nodes, $maintenance_fallback) = @_;
+    my ($groups, $online_node_usage, $sid, $service_conf, $current_node, $try_next, $tried_nodes, $maintenance_fallback) = @_;
 
     my $group = get_service_group($groups, $online_node_usage, $service_conf);
 
@@ -766,6 +766,7 @@ sub next_state_started {
            my $node = select_service_node(
                $self->{groups},
                $self->{online_node_usage},
+               $sid,
                $cd,
                $sd->{node},
                $try_next,
@@ -847,6 +848,7 @@ sub next_state_recovery {
     my $recovery_node = select_service_node(
        $self->{groups},
        $self->{online_node_usage},
+       $sid,
        $cd,
        $sd->{node},
     );
index 67573a2f036e8a3ca8a968071750332818cefb64..f11d1a6def063e6e9f1e1695840dce882ea8308d 100755 (executable)
@@ -30,7 +30,7 @@ sub test {
     my ($expected_node, $try_next) = @_;
     
     my $node = PVE::HA::Manager::select_service_node
-       ($groups, $online_node_usage, $service_conf, $current_node, $try_next);
+       ($groups, $online_node_usage, "vm:111", $service_conf, $current_node, $try_next);
 
     my (undef, undef, $line) = caller();
     die "unexpected result: $node != ${expected_node} at line $line\n"