]> git.proxmox.com Git - pve-ha-manager.git/blobdiff - PVE/HA/Env.pm
add basic LRM functionality
[pve-ha-manager.git] / PVE / HA / Env.pm
index 144b6558a7e28615bb4b076962d601da8430dde8..d3642522e3cd093ffda08ba250f1a9382b0f281d 100644 (file)
@@ -26,29 +26,32 @@ sub nodename {
     return $self->{plug}->nodename();
 }
 
-sub read_local_status {
+# manager status is stored on cluster, protected by ha_manager_lock
+sub read_manager_status {
     my ($self) = @_;
 
-    return $self->{plug}->read_local_status();
+    return $self->{plug}->read_manager_status();
 }
 
-sub write_local_status {
-    my ($self, $status) = @_;
+sub write_manager_status {
+    my ($self, $status_obj) = @_;
 
-    return $self->{plug}->write_local_status();
+    return $self->{plug}->write_manager_status($status_obj);
 }
 
-# manager status is stored on cluster, protected by ha_manager_lock
-sub read_manager_status {
-    my ($self) = @_;
+# lrm status is written by LRM, protected by ha_agent_lock,
+# but can be read by any node (CRM)
 
-    return $self->{plug}->read_manager_status();
+sub read_lrm_status {
+    my ($self, $node) = @_;
+
+    return $self->{plug}->read_lrm_status($node);
 }
 
-sub write_manager_status {
+sub write_lrm_status {
     my ($self, $status_obj) = @_;
 
-    return $self->{plug}->write_manager_status($status_obj);
+    return $self->{plug}->write_lrm_status($status_obj);
 }
 
 # we use this to enable/disbale ha
@@ -140,6 +143,9 @@ sub loop_end_hook {
 sub watchdog_open {
     my ($self) = @_;
 
+    # Note: when using /dev/watchdog, make sure perl does not close
+    # the handle automatically at exit!!
+
     return $self->{plug}->watchdog_open();
 }
 
@@ -155,4 +161,10 @@ sub watchdog_close {
     return $self->{plug}->watchdog_close($wfh);
 }
 
+sub exec_resource_agent {
+    my ($self, $sid, $cmd, @params) = @_;
+
+    return $self->{plug}->exec_resource_agent($sid, $cmd, @params)
+}
+
 1;