]> git.proxmox.com Git - pve-ha-manager.git/commitdiff
manager: factor out setting crs scheduling mode
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Sat, 19 Nov 2022 12:36:28 +0000 (13:36 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Sat, 19 Nov 2022 12:36:28 +0000 (13:36 +0100)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/PVE/HA/Manager.pm

index f6f0756f79dda919f8191452cee59956132e2998..eedf984c6804a6f58d80f340155e8409942bec8f 100644 (file)
@@ -53,14 +53,29 @@ sub new {
 
     $self->{ms} = { master_node => $haenv->nodename() };
 
-    my $dc_cfg = $haenv->get_datacenter_settings();
-    $self->{'scheduler-mode'} = $dc_cfg->{crs}->{ha} ? $dc_cfg->{crs}->{ha} : 'basic';
-    $haenv->log('info', "using scheduler mode '$self->{'scheduler-mode'}'")
-       if $self->{'scheduler-mode'} ne 'basic';
+    $self->update_crs_scheduler_mode(); # initial se
 
     return $self;
 }
 
+sub update_crs_scheduler_mode {
+    my ($self) = @_;
+
+    my $haenv = $self->{haenv};
+    my $dc_cfg = $haenv->get_datacenter_settings();
+
+    my $old_mode = $self->{'scheduler-mode'};
+    my $new_mode = $dc_cfg->{crs}->{ha} || 'basic';
+
+    if (!defined($old_mode)) {
+       $haenv->log('info', "using scheduler mode '$new_mode'") if $new_mode ne 'basic';
+    }
+
+    $self->{'scheduler-mode'} = $new_mode;
+
+    return;
+}
+
 sub cleanup {
     my ($self) = @_;