]> git.proxmox.com Git - pve-ha-manager.git/commitdiff
fake get_ha_manager_lock fro Env::PVE2
authorDietmar Maurer <dietmar@proxmox.com>
Fri, 12 Dec 2014 11:59:27 +0000 (12:59 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 12 Dec 2014 11:59:27 +0000 (12:59 +0100)
PVE/HA/Env/PVE2.pm
pve-ha-crm

index ab4faecbad0bbe8d55ae4c42f1285ecbd7bb4eab..7bcfaa6659d8a917aa36670446b3e2f531672b88 100644 (file)
@@ -5,6 +5,7 @@ use warnings;
 
 use PVE::SafeSyslog;
 use PVE::Tools;
+use PVE::Cluster;
 
 use PVE::HA::Tools;
 use PVE::HA::Env;
@@ -78,7 +79,23 @@ sub log {
 sub get_ha_manager_lock {
     my ($self) = @_;
 
-    die "implement me";
+    my $lockid = "ha_manager";
+
+    my $lockdir = "/etc/pve/priv/lock";
+    my $filename = "$lockdir/$lockid";
+
+    my $res = 0;
+
+    eval {
+
+       mkdir $lockdir;
+
+       return if ! -d $lockdir; # pve cluster filesystem not online
+
+       # fixme: ?
+    };
+
+    return $res;
 }
 
 sub get_ha_agent_lock {
@@ -96,7 +113,12 @@ sub test_ha_agent_lock {
 sub quorate {
     my ($self) = @_;
 
-    die "implement me";
+    my $quorate = 0;
+    eval { 
+       $quorate = PVE::Cluster::check_cfs_quorum(); 
+    };
+   
+    return $quorate;
 }
 
 sub get_time {
@@ -126,6 +148,8 @@ sub sleep_until {
 sub loop_start_hook {
     my ($self) = @_;
 
+    PVE::Cluster::cfs_update();
+    
     $self->{loop_start} = $self->get_time();
 }
 
index bb6f44f8d4d31d2bda52842c80ee6181b79ffcb0..6a680ad8f5d34000f28de28b55cc7b563c3f494e 100755 (executable)
@@ -132,10 +132,7 @@ sub run_server {
        for (;;) {
            $haenv->loop_start_hook();
 
-           if (!$crm->do_one_iteration()) {
-               syslog("info", "daemon stopped");
-               last;
-           }
+           last if !$crm->do_one_iteration();
 
            $haenv->loop_end_hook();
        }