Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=65a... Commit: 65a0eef71377d2de4ad94e8f20065c4467a441e9 Parent: b1695c02cb48f34f1d937585429ef4fdbbb570c7 Author: Fabio M. Di Nitto fdinitto@redhat.com AuthorDate: Fri Mar 30 09:58:36 2012 +0200 Committer: Fabio M. Di Nitto fdinitto@redhat.com CommitterDate: Fri Mar 30 09:58:36 2012 +0200
cman init: fix start sequence error handling
Any daemon that fails to start would leave no traces.
the problem with cman init is that we need to handle multiple daemons and tools. If one in the chain fails, we never reverted to the original state of the system. This can indeed cause other issues.
Fix the init script to "stop" cman if any error happens during "start.
Resolves: rhbz#806002
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com --- cman/init.d/cman.in | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/cman/init.d/cman.in b/cman/init.d/cman.in index d0c6f70..a39f19f 100644 --- a/cman/init.d/cman.in +++ b/cman/init.d/cman.in @@ -19,6 +19,9 @@ # set secure PATH PATH="/bin:/usr/bin:/sbin:/usr/sbin:@SBINDIR@"
+# save invokation for rollback ops +thisinvokation="$0" + chkconfig2() { case "$1" in @@ -199,6 +202,9 @@ nok() { echo -e "$errmsg" failure echo + if [ "$currentaction" = "start" ]; then + $thisinvokation stop + fi exit 1 }
@@ -744,6 +750,7 @@ leave_fence_domain()
start() { + currentaction="start" breakpoint="$1"
sshd_enabled && cd @INITDDIR@ && ./sshd start
cluster-commits@lists.fedorahosted.org