]> git.proxmox.com Git - pve-ha-manager.git/blobdiff - src/PVE/HA/Tools.pm
Tools/Config: refactor lrm status json reading
[pve-ha-manager.git] / src / PVE / HA / Tools.pm
index 565c2753d532a0a003c8126c8f1bec6e7271883b..2bdd6eaff65e05dabaef2561b052b1f880bb793e 100644 (file)
@@ -124,16 +124,7 @@ sub read_json_from_file {
     if (defined($default) && (! -f $filename)) {
        $data = $default;
     } else {
-       my $raw;
-       # workaround for bug #775
-       if ($filename =~ m|^/etc/pve/|) {
-           $filename =~ s|^/etc/pve/+||;
-           $raw = PVE::Cluster::get_config($filename);
-           die "unable to read file '/etc/pve/$filename'\n" 
-               if !defined($raw);
-       } else {
-           $raw = PVE::Tools::file_get_contents($filename);
-       }
+       my $raw = PVE::Tools::file_get_contents($filename);
        $data = decode_json($raw);
     }
 
@@ -148,21 +139,6 @@ sub write_json_to_file {
     PVE::Tools::file_set_contents($filename, $raw);
 }
 
-sub has_services {
-    my ($haenv, $node) = @_;
-
-    my $conf = $haenv->read_service_config();
-
-    # if no node defined any service count is fine
-    return scalar(%{$conf}) if !defined($node);
-
-    foreach my $d (values %$conf) {
-       return 1 if $d->{node} eq $node;
-    }
-
-    return undef;
-}
-
 sub count_fenced_services {
     my ($ss, $node) = @_;
 
@@ -186,13 +162,13 @@ sub count_fenced_services {
 sub get_verbose_service_state {
     my ($service_state, $service_conf) = @_;
 
+    my $req = $service_conf->{state} // 'ignored';
+    return 'ignored' if $req eq 'ignored';
+
     # service not yet processed by manager
     return 'queued' if !defined($service_state);
     my $cur = $service_state->{state};
 
-    return 'ignore' if !defined($service_conf) || !defined($service_conf->{state});
-    my $req = $service_conf->{state};
-
     # give fast feedback to the user
     my $state = $cur;
     if (!defined($cur)) {