You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
3.9 KiB
102 lines
3.9 KiB
From 0501ed8086e054d9b076719c5bd131edbc95db5b Mon Sep 17 00:00:00 2001 |
|
From: David Vossel <dvossel@redhat.com> |
|
Date: Fri, 1 Aug 2014 16:06:22 -0400 |
|
Subject: [PATCH] High: VirtualDomain: exit reason support |
|
|
|
--- |
|
heartbeat/VirtualDomain | 19 ++++++++++--------- |
|
1 file changed, 10 insertions(+), 9 deletions(-) |
|
|
|
diff --git a/heartbeat/VirtualDomain b/heartbeat/VirtualDomain |
|
index 3a6b6a9..c44c090 100755 |
|
--- a/heartbeat/VirtualDomain |
|
+++ b/heartbeat/VirtualDomain |
|
@@ -356,7 +356,7 @@ VirtualDomain_Start() { |
|
rm -f $snapshotimage |
|
return $OCF_SUCCESS |
|
fi |
|
- ocf_log error "Failed to restore ${DOMAIN_NAME} from state file in ${OCF_RESKEY_snapshot} directory." |
|
+ ocf_exit_reason "Failed to restore ${DOMAIN_NAME} from state file in ${OCF_RESKEY_snapshot} directory." |
|
return $OCF_ERR_GENERIC |
|
fi |
|
|
|
@@ -371,7 +371,7 @@ VirtualDomain_Start() { |
|
virsh $VIRSH_OPTIONS create ${OCF_RESKEY_config} |
|
rc=$? |
|
if [ $rc -ne 0 ]; then |
|
- ocf_log error "Failed to start virtual domain ${DOMAIN_NAME}." |
|
+ ocf_exit_reason "Failed to start virtual domain ${DOMAIN_NAME}." |
|
return $OCF_ERR_GENERIC |
|
fi |
|
|
|
@@ -395,6 +395,7 @@ force_stop() |
|
*"error:"*"domain is not running"*|*"error:"*"domain not found"*) |
|
: ;; # unexpected path to the intended outcome, all is well |
|
[!0]*) |
|
+ ocf_exit_reason "forced stop failed" |
|
return $OCF_ERR_GENERIC ;; |
|
0*) |
|
while [ $status != $OCF_NOT_RUNNING ]; do |
|
@@ -525,14 +526,14 @@ VirtualDomain_Migrate_To() { |
|
virsh ${VIRSH_OPTIONS} migrate --live $DOMAIN_NAME ${remoteuri} ${migrateuri} |
|
rc=$? |
|
if [ $rc -ne 0 ]; then |
|
- ocf_log err "$DOMAIN_NAME: live migration to ${remoteuri} ${migrateuri} failed: $rc" |
|
+ ocf_exit_reason "$DOMAIN_NAME: live migration to ${remoteuri} ${migrateuri} failed: $rc" |
|
return $OCF_ERR_GENERIC |
|
else |
|
ocf_log info "$DOMAIN_NAME: live migration to ${target_node} succeeded." |
|
return $OCF_SUCCESS |
|
fi |
|
else |
|
- ocf_log err "$DOMAIN_NAME: migrate_to: Not active locally!" |
|
+ ocf_exit_reason "$DOMAIN_NAME: migrate_to: Not active locally!" |
|
return $OCF_ERR_GENERIC |
|
fi |
|
} |
|
@@ -560,7 +561,7 @@ VirtualDomain_Monitor() { |
|
# A monitor script returned a non-success exit |
|
# code. Stop iterating over the list of scripts, log a |
|
# warning message, and propagate $OCF_ERR_GENERIC. |
|
- ocf_log warn "Monitor command \"${script}\" for domain ${DOMAIN_NAME} returned ${script_rc} with output: ${script_output}" |
|
+ ocf_exit_reason "Monitor command \"${script}\" for domain ${DOMAIN_NAME} returned ${script_rc} with output: ${script_output}" |
|
rc=$OCF_ERR_GENERIC |
|
break |
|
else |
|
@@ -582,13 +583,13 @@ VirtualDomain_Validate_All() { |
|
done |
|
|
|
if [ -z $OCF_RESKEY_config ]; then |
|
- ocf_log error "Missing configuration parameter \"config\"." |
|
+ ocf_exit_reason "Missing configuration parameter \"config\"." |
|
return $OCF_ERR_CONFIGURED |
|
fi |
|
|
|
if ocf_is_true $OCF_RESKEY_force_stop; then |
|
if [ -n "$OCF_RESKEY_snapshot" ]; then |
|
- ocf_log error "The 'force_stop' and 'snapshot' options can not be used together." |
|
+ ocf_exit_reason "The 'force_stop' and 'snapshot' options can not be used together." |
|
return $OCF_ERR_CONFIGURED |
|
fi |
|
fi |
|
@@ -601,7 +602,7 @@ VirtualDomain_Validate_All() { |
|
elif [ "$__OCF_ACTION" = "stop" ]; then |
|
ocf_log info "Configuration file $OCF_RESKEY_config not readable, resource considered stopped." |
|
else |
|
- ocf_log error "Configuration file $OCF_RESKEY_config does not exist or is not readable." |
|
+ ocf_exit_reason "Configuration file $OCF_RESKEY_config does not exist or is not readable." |
|
return $OCF_ERR_INSTALLED |
|
fi |
|
fi |
|
@@ -644,7 +645,7 @@ fi |
|
# Retrieve the domain name from the xml file. |
|
DOMAIN_NAME=`egrep '[[:space:]]*<name>.*</name>[[:space:]]*$' ${OCF_RESKEY_config} | sed -e 's/[[:space:]]*<name>\(.*\)<\/name>[[:space:]]*$/\1/' 2>/dev/null` |
|
if [ -z $DOMAIN_NAME ]; then |
|
- ocf_log err "This is unexpected. Cannot determine domain name." |
|
+ ocf_exit_reason "Unable to determine domain name." |
|
exit $OCF_ERR_GENERIC |
|
fi |
|
|
|
-- |
|
1.8.4.2 |
|
|
|
|