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);
}
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) = @_;
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)) {