[Ultramonkey-l7-develop 549] Re: l7vsadm の無駄なタイムアウト待ち

Back to archive index

TATEISHI Katsuyuki kt****@wheel*****
2009年 10月 16日 (金) 23:11:03 JST


立石です。
情報ありがとうございます。

From: 森下徹 <moris****@nttco*****>

> l7vsadmのリトライ処理の経緯ですが、
> 
> これは、たしか起動時にl7vsdが自動起動される場合、
> l7vsdが上がりきる前に、l7directordがl7vsadmコマンドを
> 発行してしまい、エラーとなる事象が判明し、
> そのために入れている機能です。

なるほど。

だとすると、/etc/init.d/l7vsd が start 時に、l7vsadm -l -n が
正常終了するまで終わらないようになれば不要な機能だと思ってい
いですか?

例えば以下のように:
============================================================
diff --git a/init.d/l7vsd b/init.d/l7vsd
index ff78711..61cdfb6 100755
--- a/init.d/l7vsd
+++ b/init.d/l7vsd
@@ -42,6 +42,17 @@ start() {
 	echo "done."
 	pidof $PROG > $PIDFILE
 	touch $LOCKFILE
+	con_count=10
+	con_interval=1
+	while [ $con_count -gt 0 ]
+	do
+		l7vsadm -l -n > /dev/null 2>&1
+		if [ $? -eq 0 ]; then
+			break
+		fi
+		con_count=`expr $con_count - 1`
+		sleep $con_interval
+	done
     fi
 
     return $RETVAL
============================================================
heartbeat 用 RA の L7vsd 内からも /etc/init.d/l7vsd を呼んで
いるので、これで良いかなと思いますが、他に問題の発生しそうな
ところがあれば、教えていただければと思います。

--
TATEISHI Katsuyuki <kt****@wheel*****>




Ultramonkey-l7-develop メーリングリストの案内
Back to archive index