use PVE::INotify;
use PVE::RPCEnvironment;
-use PVE::HA::Tools;
+use PVE::HA::Tools ':exit_codes';
use PVE::HA::Env;
use PVE::HA::Config;
if ($cmd eq 'started') {
- return 0 if $running;
+ return SUCCESS if $running;
$self->log("info", "starting service $sid");
if ($running) {
$self->log("info", "service status $sid started");
- return 0;
+ return SUCCESS;
} else {
$self->log("warning", "unable to start service $sid");
- return 1;
+ return ERROR;
}
} elsif ($cmd eq 'request_stop' || $cmd eq 'stopped') {
- return 0 if !$running;
+ return SUCCESS if !$running;
$self->log("info", "stopping service $sid");
if (!$running) {
$self->log("info", "service status $sid stopped");
- return 0;
+ return SUCCESS;
} else {
- return 1;
+ return ERROR;
}
} elsif ($cmd eq 'migrate' || $cmd eq 'relocate') {
if ($service_config->{node} eq $target) {
# already there
- return 0;
+ return SUCCESS;
}
# we always do (live) migration
# something went wrong if old config file is still there
if (-f $oldconfig) {
$self->log("err", "service $sid not moved (migration error)");
- return 1;
+ return ERROR;
}
- return 0;
+ return SUCCESS;
} elsif ($cmd eq 'error') {
} else {
$self->log("warning", "service $sid is not running and in an error state");
}
- return 0;
+ return SUCCESS; # error always succeeds
}
use PVE::SafeSyslog;
use PVE::Tools;
-use PVE::HA::Tools;
+use PVE::HA::Tools ':exit_codes';
# Server can have several states:
if ($cmd eq 'started') {
- if ($exit_code == 0) {
+ if ($exit_code == SUCCESS) {
$tries->{$sid} = 0;
return $exit_code;
- } elsif ($exit_code == 1) {
+ } elsif ($exit_code == ERROR) {
$tries->{$sid} = 0 if !defined($tries->{$sid});
$haenv->log('err', "unable to start service $sid on local node".
" after $tries->{$sid} retries");
$tries->{$sid} = 0;
- return 1;
+ return ERROR;
}
- return 2;
+ # tell CRM that we retry the start
+ return ETRY_AGAIN;
}
}
use Data::Dumper;
use PVE::Tools;
+use PVE::HA::Tools ':exit_codes';
use PVE::HA::NodeStatus;
my $fence_delay = 60;
# check result from LRM daemon
if ($lrm_res) {
my $exit_code = $lrm_res->{exit_code};
- if ($exit_code == 0) {
+ if ($exit_code == SUCCESS) {
&$change_service_state($self, $sid, 'stopped');
return;
} else {
# check result from LRM daemon
if ($lrm_res) {
my $exit_code = $lrm_res->{exit_code};
- if ($exit_code == 0) {
+ if ($exit_code == SUCCESS) {
&$change_service_state($self, $sid, 'started', node => $sd->{target});
return;
} else {
my $try_next = 0;
if ($lrm_res) {
- if ($lrm_res->{exit_code} == 1) {
+ if ($lrm_res->{exit_code} == ERROR) {
my $try = $master_status->{relocate_trial}->{$sid} || 0;
return;
}
- } elsif ($lrm_res->{exit_code} == 0) {
+ } elsif ($lrm_res->{exit_code} == SUCCESS) {
$master_status->{relocate_trial}->{$sid} = 0;
}
}