[pve-devel] [PATCH 2/4] Use new exitcodes instead of integers
Thomas Lamprecht
t.lamprecht at proxmox.com
Fri Oct 23 14:04:24 CEST 2015
Use the new exitcodes introduced in the previous commit to gain
some readability.
Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
src/PVE/HA/Env/PVE2.pm | 22 +++++++++++-----------
src/PVE/HA/LRM.pm | 11 ++++++-----
src/PVE/HA/Manager.pm | 9 +++++----
3 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/src/PVE/HA/Env/PVE2.pm b/src/PVE/HA/Env/PVE2.pm
index d053dcc..7db8dac 100644
--- a/src/PVE/HA/Env/PVE2.pm
+++ b/src/PVE/HA/Env/PVE2.pm
@@ -12,7 +12,7 @@ use PVE::Cluster qw(cfs_register_file cfs_read_file cfs_write_file cfs_lock_file
use PVE::INotify;
use PVE::RPCEnvironment;
-use PVE::HA::Tools;
+use PVE::HA::Tools ':exit_codes';
use PVE::HA::Env;
use PVE::HA::Config;
@@ -394,7 +394,7 @@ sub exec_resource_agent {
if ($cmd eq 'started') {
- return 0 if $running;
+ return SUCCESS if $running;
$self->log("info", "starting service $sid");
@@ -409,15 +409,15 @@ sub exec_resource_agent {
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");
@@ -436,9 +436,9 @@ sub exec_resource_agent {
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') {
@@ -448,7 +448,7 @@ sub exec_resource_agent {
if ($service_config->{node} eq $target) {
# already there
- return 0;
+ return SUCCESS;
}
# we always do (live) migration
@@ -466,10 +466,10 @@ sub exec_resource_agent {
# 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') {
@@ -478,7 +478,7 @@ sub exec_resource_agent {
} else {
$self->log("warning", "service $sid is not running and in an error state");
}
- return 0;
+ return SUCCESS; # error always succeeds
}
diff --git a/src/PVE/HA/LRM.pm b/src/PVE/HA/LRM.pm
index ed2885f..89177ee 100644
--- a/src/PVE/HA/LRM.pm
+++ b/src/PVE/HA/LRM.pm
@@ -9,7 +9,7 @@ use POSIX qw(:sys_wait_h);
use PVE::SafeSyslog;
use PVE::Tools;
-use PVE::HA::Tools;
+use PVE::HA::Tools ':exit_codes';
# Server can have several states:
@@ -489,13 +489,13 @@ sub handle_service_exitcode {
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});
@@ -504,10 +504,11 @@ sub handle_service_exitcode {
$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;
}
}
diff --git a/src/PVE/HA/Manager.pm b/src/PVE/HA/Manager.pm
index 3aaecd6..6a98cd3 100644
--- a/src/PVE/HA/Manager.pm
+++ b/src/PVE/HA/Manager.pm
@@ -6,6 +6,7 @@ use Digest::MD5 qw(md5_base64);
use Data::Dumper;
use PVE::Tools;
+use PVE::HA::Tools ':exit_codes';
use PVE::HA::NodeStatus;
my $fence_delay = 60;
@@ -405,7 +406,7 @@ sub next_state_request_stop {
# 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 {
@@ -429,7 +430,7 @@ sub next_state_migrate_relocate {
# 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 {
@@ -554,7 +555,7 @@ sub next_state_started {
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;
@@ -575,7 +576,7 @@ sub next_state_started {
return;
}
- } elsif ($lrm_res->{exit_code} == 0) {
+ } elsif ($lrm_res->{exit_code} == SUCCESS) {
$master_status->{relocate_trial}->{$sid} = 0;
}
}
--
2.1.4
More information about the pve-devel
mailing list