OSDN Git Service

Add test scripts
author6638678 <6638678@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Mon, 6 Sep 2010 07:29:23 +0000 (07:29 +0000)
committer6638678 <6638678@1ed66053-1c2d-0410-8867-f7571e6e31d3>
Mon, 6 Sep 2010 07:29:23 +0000 (07:29 +0000)
git-svn-id: http://10.144.169.20/repos/um/branches/l7vsd-3.x-ramiel-epoll-cond@10274 1ed66053-1c2d-0410-8867-f7571e6e31d3

14 files changed:
test/script/l7directord/l7directord-112.sh
test/script/l7directord/l7directord-113.sh [new file with mode: 0755]
test/script/l7directord/l7directord-114.sh [new file with mode: 0755]
test/script/l7directord/l7directord-153.sh [new file with mode: 0755]
test/script/l7directord/l7directord-154.sh [new file with mode: 0755]
test/script/l7directord/l7directord-155.sh [new file with mode: 0755]
test/script/l7directord/materials/l7directord-112-a-l7directord.cf [new file with mode: 0644]
test/script/l7directord/materials/l7directord-112-b-l7directord.cf [new file with mode: 0644]
test/script/l7directord/materials/l7directord-113-a-l7directord.cf [new file with mode: 0644]
test/script/l7directord/materials/l7directord-113-b-l7directord.cf [new file with mode: 0644]
test/script/l7directord/materials/l7directord-114-l7directord.cf [new file with mode: 0644]
test/script/l7directord/materials/l7directord-153-l7directord.cf [new file with mode: 0644]
test/script/l7directord/materials/l7directord-154-l7directord.cf [new file with mode: 0644]
test/script/l7directord/materials/l7directord-155-l7directord.cf [new file with mode: 0644]

index 9828b0b..8077cc6 100755 (executable)
@@ -1,11 +1,31 @@
 #!/bin/bash
 . ${SET_DEFAULT_CONF}
-\cp ./materials/l7directord-71-1-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
+\cp ./materials/l7directord-112-a-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
 
 #Run http server
+FallbackServer1=FallbackServer1
+FallbackServer1_ADDR=127.0.0.1
+FallbackServer1_PORT=50001
+start_lighttpd -s $FallbackServer1 -a $FallbackServer1_ADDR -p $FallbackServer1_PORT
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd FallbackServer1"
+        exit 1
+fi
+
+FallbackServer2=FallbackServer2
+FallbackServer2_ADDR=127.0.0.1
+FallbackServer2_PORT=50005
+start_lighttpd -s $FallbackServer2 -a $FallbackServer2_ADDR -p $FallbackServer2_PORT
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd FallbackServer1"
+        exit 1
+fi
+
 RealServer1=RealServer1
 RealServer1_ADDR=127.0.0.1
-RealServer1_PORT=50001
+RealServer1_PORT=50002
 start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT
 if [ $? -ne 0 ]
 then
@@ -13,6 +33,26 @@ then
         exit 1
 fi
 
+RealServer2=RealServer2
+RealServer2_ADDR=[::1]
+RealServer2_PORT=50003
+start_lighttpd -s $RealServer2 -a $RealServer2_ADDR -p $RealServer2_PORT -i 
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd RealServer2"
+        exit 1
+fi
+
+RealServer3=RealServer3
+RealServer3_ADDR=[::1]
+RealServer3_PORT=50004
+start_lighttpd -s $RealServer3 -a $RealServer3_ADDR -p $RealServer3_PORT -i
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd RealServer3"
+        exit 1
+fi
+
 # Start l7vsd
 $L7VSD
 if [ $? -ne 0 ]
@@ -35,8 +75,11 @@ RET=`$L7VSADM -l -n`
 EXPECT="Layer-7 Virtual Server version 3.0.0-1
 Prot LocalAddress:Port ProtoMod Scheduler
   -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
-TCP 127.0.0.1:50000 sessionless rr
-  -> 127.0.0.1:50001              Masq    1      0          0         "
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50002              Masq    1      0          0         
+TCP [::1]:40002 sessionless rr
+  -> [::1]:50003                  Masq    1      0          0         
+  -> [::1]:50004                  Masq    1      0          0         "
 if [ "${RET}" != "${EXPECT}" ]
 then
         echo "Test failed: $L7VSADM -l -n"
@@ -44,39 +87,251 @@ then
 fi
 
 stop_lighttpd $RealServer1
+if [ $? -ne 0 ]
+then
+        echo "Test failed: stop_lighttpd RealServer1"
+        exit 1
+fi
 
 sleep 60
 
+
 RET=`$L7VSADM -l -n`
 EXPECT="Layer-7 Virtual Server version 3.0.0-1
 Prot LocalAddress:Port ProtoMod Scheduler
   -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
-TCP 127.0.0.1:50000 sessionless rr"
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50001              Masq    1      0          0         
+TCP [::1]:40002 sessionless rr
+  -> [::1]:50003                  Masq    1      0          0         
+  -> [::1]:50004                  Masq    1      0          0         "
 if [ "${RET}" != "${EXPECT}" ]
 then
         echo "Test failed: $L7VSADM -l -n"
         exit 1
 fi
 
-start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT
+
+start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT -l ${L7VS_LOG_DIR}/l7directord-112-real1a-access.log
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd RealServer1"
+        exit 1
+fi
+
+sleep 20
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50002              Masq    1      0          0         
+TCP [::1]:40002 sessionless rr
+  -> [::1]:50003                  Masq    1      0          0         
+  -> [::1]:50004                  Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+$INIT_L7DIRECTORD stop
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD stop"
+        exit 1
+fi
+
+
+RET=`cat ${L7VS_LOG_DIR}/l7directord.log | egrep "\[WRN1102\] Service check NG. HTTP response is not ok. Response status line is .500 Can't connect to 127.0.0.1:50002" | wc -l`
+# checkcount 3
+if [ $RET -ne 3 ]
+then
+        echo "Test failed: cat ${L7VS_LOG_DIR}/l7directord.log"
+        exit 1
+fi
+
+TIME1=""
+TIME2=""
+for TMP in `cat ${L7VS_LOG_DIR}/l7directord.log | egrep "\[WRN1102\] Service check NG. HTTP response is not ok. Response status line is .500 Can't connect to 127.0.0.1:50002" | awk '{ print $4 }'`
+do
+        TIME2=`date -d "$TMP" +'%s'`
+        if [ -n "$TIME1" ]
+        then
+                # retryinterval 1
+                if [ $((TIME1+1)) -ne $((TIME2)) ]
+                then
+                        echo "Test failed: cat ${L7VS_LOG_DIR}/l7directord.log"
+                        exit 1
+                fi
+        fi
+        TIME1="$TIME2"
+done
+
+
+RET=`cat ${L7VS_LOG_DIR}/l7directord-112-real1a-access.log`
+if [ -z "$RET" ]
+then
+        echo "Test failed: ${L7VS_LOG_DIR}/l7directord-112-real1a-access.log"
+        exit 1
+fi
+
+
+TIME1=""
+TIME2=""
+for TMP in `cat ${L7VS_LOG_DIR}/l7directord-112-real1a-access.log | awk '{ print $4 }' | sed 's/:/ /' | awk '{ print $2}'`
+do
+        TIME2=`date -d "$TMP" +'%s'`
+        if [ -n "$TIME1" ]
+        then
+               # checkinterval 5
+                if [ $((TIME1+5)) -ne $((TIME2)) ]
+                then
+                        echo "Test failed: cat ${L7VS_LOG_DIR}/l7directord-112-real1a-access.log"
+                        exit 1
+                fi
+        fi
+        TIME1="$TIME2"
+done
+
+
+\cp ./materials/l7directord-112-b-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
+mv  ${L7VS_LOG_DIR}/l7directord.log  ${L7VS_LOG_DIR}/l7directord_a.log
+
+# Start l7directord
+$INIT_L7DIRECTORD start 
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD start"
+        exit 1
+fi
+sleep 3
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50002              Masq    1      0          0         
+TCP [::1]:40002 sessionless rr
+  -> [::1]:50003                  Masq    1      0          0         
+  -> [::1]:50004                  Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+stop_lighttpd $RealServer1
+if [ $? -ne 0 ]
+then
+        echo "Test failed: stop_lighttpd RealServer1"
+        exit 1
+fi
+
+sleep 60
+
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50002              Masq    0      0          0         
+  -> 127.0.0.1:50005              Masq    1      0          0         
+TCP [::1]:40002 sessionless rr
+  -> [::1]:50003                  Masq    1      0          0         
+  -> [::1]:50004                  Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+
+start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT -l ${L7VS_LOG_DIR}/l7directord-112-real1b-access.log
 if [ $? -ne 0 ]
 then
         echo "Test failed: start_lighttpd RealServer1"
         exit 1
 fi
-sleep 10
+
+sleep 20
 
 RET=`$L7VSADM -l -n`
 EXPECT="Layer-7 Virtual Server version 3.0.0-1
 Prot LocalAddress:Port ProtoMod Scheduler
   -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
-TCP 127.0.0.1:50000 sessionless rr
-  -> 127.0.0.1:50001              Masq    1      0          0         "
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50002              Masq    1      0          0         
+TCP [::1]:40002 sessionless rr
+  -> [::1]:50003                  Masq    1      0          0         
+  -> [::1]:50004                  Masq    1      0          0         "
 if [ "${RET}" != "${EXPECT}" ]
 then
         echo "Test failed: $L7VSADM -l -n"
         exit 1
 fi
 
+$INIT_L7DIRECTORD stop
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD stop"
+        exit 1
+fi
+
+
+RET=`cat ${L7VS_LOG_DIR}/l7directord.log | egrep "\[WRN1102\] Service check NG. HTTP response is not ok. Response status line is .500 Can't connect to 127.0.0.1:50002" | wc -l`
+# checkcount 2
+if [ $RET -ne 2 ]
+then
+        echo "Test failed: cat ${L7VS_LOG_DIR}/l7directord.log"
+        exit 1
+fi
+
+TIME1=""
+TIME2=""
+for TMP in `cat ${L7VS_LOG_DIR}/l7directord.log | egrep "\[WRN1102\] Service check NG. HTTP response is not ok. Response status line is .500 Can't connect to 127.0.0.1:50002" | awk '{ print $4 }'`
+do
+        TIME2=`date -d "$TMP" +'%s'`
+        if [ -n "$TIME1" ]
+        then
+                # retryinterval 3
+                if [ $((TIME1+3)) -ne $((TIME2)) ]
+                then
+                        echo "Test failed: cat ${L7VS_LOG_DIR}/l7directord.log"
+                        exit 1
+                fi
+        fi
+        TIME1="$TIME2"
+done
+
+
+RET=`cat ${L7VS_LOG_DIR}/l7directord-112-real1b-access.log`
+if [ -z "$RET" ]
+then
+        echo "Test failed: ${L7VS_LOG_DIR}/l7directord-112-real1b-access.log"
+        exit 1
+fi
+
+
+TIME1=""
+TIME2=""
+for TMP in `cat ${L7VS_LOG_DIR}/l7directord-112-real1b-access.log | awk '{ print $4 }' | sed 's/:/ /' | awk '{ print $2}'`
+do
+        TIME2=`date -d "$TMP" +'%s'`
+        if [ -n "$TIME1" ]
+        then
+               # checkinterval 1
+                if [ $((TIME1+1)) -ne $((TIME2)) ]
+                then
+                        echo "Test failed: cat ${L7VS_LOG_DIR}/l7directord-112-real1b-access.log"
+                        exit 1
+                fi
+        fi
+        TIME1="$TIME2"
+done
+
 exit 0
 
diff --git a/test/script/l7directord/l7directord-113.sh b/test/script/l7directord/l7directord-113.sh
new file mode 100755 (executable)
index 0000000..79e7ea4
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/bash
+. ${SET_DEFAULT_CONF}
+\cp ./materials/l7directord-113-a-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
+
+#Run http server
+RealServer1=RealServer1
+RealServer1_ADDR=127.0.0.1
+RealServer1_PORT=50001
+start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT -l ${L7VS_LOG_DIR}/l7directord-113-a-access.log
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd RealServer1"
+        exit 1
+fi
+
+# Start l7vsd
+$L7VSD
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $L7VSD"
+        exit 1
+fi
+usleep 100000
+
+# Start l7directord
+$INIT_L7DIRECTORD start 
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD start"
+        exit 1
+fi
+sleep 3
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:50000 sessionless rr
+  -> 127.0.0.1:50001              Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+RET=`cat ${L7VS_LOG_DIR}/l7directord-113-a-access.log | grep "GET /index.html HTTP/1.1"`
+if [ -z "$RET" ]
+then
+        echo "Test failed: ${L7VS_LOG_DIR}/l7directord-113-a-access.log | grep GET /index.html HTTP/1.1"
+        exit 1
+fi
+
+$INIT_L7DIRECTORD stop
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD stop"
+        exit 1
+fi
+
+\cp ./materials/l7directord-113-b-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
+
+stop_lighttpd $RealServer1
+start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT -l ${L7VS_LOG_DIR}/l7directord-113-b-access.log
+
+# Start l7directord
+$INIT_L7DIRECTORD start 
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD start"
+        exit 1
+fi
+sleep 3
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:50000 sessionless rr
+  -> 127.0.0.1:50001              Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+RET=`cat ${L7VS_LOG_DIR}/l7directord-113-b-access.log | grep "GET /index.html HTTP/1.1"`
+if [ -z "$RET" ]
+then
+        echo "Test failed: ${L7VS_LOG_DIR}/l7directord-113-b-access.log | grep GET /index.html HTTP/1.1"
+        exit 1
+fi
+
+exit 0
+
diff --git a/test/script/l7directord/l7directord-114.sh b/test/script/l7directord/l7directord-114.sh
new file mode 100755 (executable)
index 0000000..3608595
--- /dev/null
@@ -0,0 +1,100 @@
+#!/bin/bash
+. ${SET_DEFAULT_CONF}
+\cp ./materials/l7directord-114-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
+touch ${L7DIRECTORD_CONF_DIR}/1.cf
+touch ${L7DIRECTORD_CONF_DIR}/2.cf
+touch ${L7DIRECTORD_CONF_DIR}/3.cf
+
+#Run http server
+RealServer1=RealServer1
+RealServer1_ADDR=127.0.0.1
+RealServer1_PORT=50001
+start_lighttpd -s $RealServer1 -a $RealServer1_ADDR -p $RealServer1_PORT
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd RealServer1"
+        exit 1
+fi
+
+RealServer2=RealServer2
+RealServer2_ADDR=127.0.0.1
+RealServer2_PORT=50002
+start_lighttpd -s $RealServer2 -a $RealServer2_ADDR -p $RealServer2_PORT
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd RealServer2"
+        exit 1
+fi
+
+RealServer3=RealServer3
+RealServer3_ADDR=[::1]
+RealServer3_PORT=50003
+start_lighttpd -s $RealServer3 -a $RealServer3_ADDR -p $RealServer3_PORT -i
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd RealServer3"
+        exit 1
+fi
+
+RealServer4=RealServer4
+RealServer4_ADDR=[::1]
+RealServer4_PORT=50004
+start_lighttpd -s $RealServer4 -a $RealServer4_ADDR -p $RealServer4_PORT -i
+if [ $? -ne 0 ]
+then
+        echo "Test failed: start_lighttpd RealServer4"
+        exit 1
+fi
+
+# Start l7vsd
+$L7VSD
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $L7VSD"
+        exit 1
+fi
+usleep 100000
+
+# Start l7directord
+$INIT_L7DIRECTORD start 
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD start"
+        exit 1
+fi
+sleep 15
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40001 sessionless rr
+TCP 127.0.0.1:40002 sessionless rr
+  -> 127.0.0.1:50001              Masq    1      0          0         
+  -> 127.0.0.1:50002              Masq    1      0          0         
+TCP 127.0.0.1:40003 sessionless rr
+  -> [::1]:50003                  Masq    1      0          0         
+  -> [::1]:50004                  Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+RET=`ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print $8,$9}'`
+EXPECT="/usr/sbin/l7directord start
+/usr/sbin/l7directord /etc/ha.d/conf/2.cf
+/usr/sbin/l7directord /etc/ha.d/conf/3.cf
+/usr/sbin/l7directord /etc/ha.d/conf/1.cf
+l7directord: none:127.0.0.1:50001:UP
+l7directord: none:127.0.0.1:50002:UP
+l7directord: none:[::1]:50003:UP
+l7directord: none:[::1]:50004:UP"
+if [ "$RET" != "$EXPECT" ]
+then
+        echo "Test failed: ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print \$8,\$9}'"
+        exit 1
+fi
+
+exit 0
+
diff --git a/test/script/l7directord/l7directord-153.sh b/test/script/l7directord/l7directord-153.sh
new file mode 100755 (executable)
index 0000000..ec09035
--- /dev/null
@@ -0,0 +1,83 @@
+#!/bin/bash
+. ${SET_DEFAULT_CONF}
+\cp ./materials/l7directord-153-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
+
+# Start l7vsd
+$L7VSD
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $L7VSD"
+        exit 1
+fi
+usleep 100000
+
+# Start l7directord
+$INIT_L7DIRECTORD start 
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD start"
+        exit 1
+fi
+sleep 10
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50001              Masq    1      0          0         
+  -> 127.0.0.1:50002              Masq    1      0          0         
+  -> 127.0.0.1:50003              Masq    1      0          0         
+  -> 127.0.0.1:50004              Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+RET=`ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print $8,$9}'`
+EXPECT="/usr/sbin/l7directord start
+l7directord: ping:127.0.0.1:50001:UP
+l7directord: ping:127.0.0.1:50002:UP
+l7directord: ping:127.0.0.1:50003:UP
+l7directord: ping:127.0.0.1:50004:UP"
+if [ "$RET" != "$EXPECT" ]
+then
+        echo "Test failed: ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print \$8,\$9}'"
+        exit 1
+fi
+
+PID=`ps -ef | grep "l7directord: ping:127.0.0.1:50002:UP" | awk '{print $2}'`
+kill -KILL $PID
+
+sleep 5
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50001              Masq    1      0          0         
+  -> 127.0.0.1:50002              Masq    1      0          0         
+  -> 127.0.0.1:50003              Masq    1      0          0         
+  -> 127.0.0.1:50004              Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+RET=`ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print $8,$9}'`
+EXPECT="/usr/sbin/l7directord start
+l7directord: ping:127.0.0.1:50001:UP
+l7directord: ping:127.0.0.1:50003:UP
+l7directord: ping:127.0.0.1:50004:UP
+l7directord: ping:127.0.0.1:50002:UP"
+if [ "$RET" != "$EXPECT" ]
+then
+        echo "Test failed: ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print \$8,\$9}'"
+        exit 1
+fi
+
+exit 0
+
diff --git a/test/script/l7directord/l7directord-154.sh b/test/script/l7directord/l7directord-154.sh
new file mode 100755 (executable)
index 0000000..e8b69f6
--- /dev/null
@@ -0,0 +1,99 @@
+#!/bin/bash
+. ${SET_DEFAULT_CONF}
+\cp ./materials/l7directord-154-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
+echo "virtual=127.0.0.1:40002
+    real=127.0.0.1:50005" > ${L7DIRECTORD_CONF_DIR}/a.cf
+
+echo "virtual=127.0.0.1:40003
+    real=127.0.0.1:50006" > ${L7DIRECTORD_CONF_DIR}/b.cf
+
+# Start l7vsd
+$L7VSD
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $L7VSD"
+        exit 1
+fi
+usleep 100000
+
+# Start l7directord
+$INIT_L7DIRECTORD start 
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD start"
+        exit 1
+fi
+sleep 15
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40002 sessionless rr
+  -> 127.0.0.1:50005              Masq    1      0          0         
+TCP 127.0.0.1:40003 sessionless rr
+  -> 127.0.0.1:50006              Masq    1      0          0         
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50001              Masq    1      0          0         
+  -> 127.0.0.1:50002              Masq    1      0          0         
+  -> 127.0.0.1:50003              Masq    1      0          0         
+  -> 127.0.0.1:50004              Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+RET=`ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print $8,$9}'`
+EXPECT="/usr/sbin/l7directord start
+/usr/sbin/l7directord /etc/ha.d/conf/a.cf
+l7directord: none:127.0.0.1:50005:UP
+/usr/sbin/l7directord /etc/ha.d/conf/b.cf
+l7directord: none:127.0.0.1:50006:UP
+l7directord: ping:127.0.0.1:50001:UP
+l7directord: ping:127.0.0.1:50002:UP
+l7directord: ping:127.0.0.1:50003:UP
+l7directord: ping:127.0.0.1:50004:UP"
+if [ "$RET" != "$EXPECT" ]
+then
+        echo "Test failed: ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print \$8,\$9}'"
+        exit 1
+fi
+
+PID=`ps -ef | grep "/usr/sbin/l7directord start" | awk '{print $2}'`
+kill -KILL $PID
+
+sleep 15
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40002 sessionless rr
+  -> 127.0.0.1:50005              Masq    1      0          0         
+TCP 127.0.0.1:40003 sessionless rr
+  -> 127.0.0.1:50006              Masq    1      0          0         
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50001              Masq    1      0          0         
+  -> 127.0.0.1:50002              Masq    1      0          0         
+  -> 127.0.0.1:50003              Masq    1      0          0         
+  -> 127.0.0.1:50004              Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+RET=`ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print $8,$9}'`
+EXPECT="/usr/sbin/l7directord /etc/ha.d/conf/a.cf
+l7directord: none:127.0.0.1:50005:UP
+/usr/sbin/l7directord /etc/ha.d/conf/b.cf
+l7directord: none:127.0.0.1:50006:UP"
+if [ "$RET" != "$EXPECT" ]
+then
+        echo "Test failed: ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh | awk '{print \$8,\$9}'"
+        exit 1
+fi
+
+exit 0
+
diff --git a/test/script/l7directord/l7directord-155.sh b/test/script/l7directord/l7directord-155.sh
new file mode 100755 (executable)
index 0000000..c852ee8
--- /dev/null
@@ -0,0 +1,108 @@
+#!/bin/bash
+. ${SET_DEFAULT_CONF}
+\cp ./materials/l7directord-155-l7directord.cf ${L7DIRECTORD_CONF_DIR}/l7directord.cf
+echo "virtual=127.0.0.1:40001
+    real=127.0.0.1:50001
+    checktype=ping" > ${L7DIRECTORD_CONF_DIR}/a.cf
+
+echo "virtual=127.0.0.1:40002
+    real=127.0.0.1:50002
+    checktype=ping" > ${L7DIRECTORD_CONF_DIR}/b.cf
+
+# Start l7vsd
+$L7VSD
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $L7VSD"
+        exit 1
+fi
+usleep 100000
+
+# Start l7directord
+$INIT_L7DIRECTORD start 
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD start"
+        exit 1
+fi
+sleep 15
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50001              Masq    1      0          0         
+TCP 127.0.0.1:40002 sessionless rr
+  -> 127.0.0.1:50002              Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+echo "virtual=127.0.0.1:40003
+    real=[::1]:50003
+    real=[::1]:50004" >> ${L7DIRECTORD_CONF_DIR}/l7directord.cf
+
+echo "virtual=127.0.0.1:40001
+    real=127.0.0.1:50001 10
+    checktype=ping" > ${L7DIRECTORD_CONF_DIR}/a.cf
+
+echo "virtual=127.0.0.1:40002
+    real=127.0.0.1:50002 20
+    checktype=ping" > ${L7DIRECTORD_CONF_DIR}/b.cf
+
+# Restart l7directord
+$INIT_L7DIRECTORD restart 
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD restart"
+        exit 1
+fi
+sleep 15
+
+RET=`$L7VSADM -l -n`
+EXPECT="Layer-7 Virtual Server version 3.0.0-1
+Prot LocalAddress:Port ProtoMod Scheduler
+  -> RemoteAddress:Port           Forward Weight ActiveConn InactConn
+TCP 127.0.0.1:40001 sessionless rr
+  -> 127.0.0.1:50001              Masq    10     0          0         
+TCP 127.0.0.1:40002 sessionless rr
+  -> 127.0.0.1:50002              Masq    20     0          0         
+TCP 127.0.0.1:40003 sessionless rr
+  -> [::1]:50003                  Masq    1      0          0         
+  -> [::1]:50004                  Masq    1      0          0         "
+if [ "${RET}" != "${EXPECT}" ]
+then
+        echo "Test failed: $L7VSADM -l -n"
+        exit 1
+fi
+
+RET=`$INIT_L7DIRECTORD status 2>&1 | egrep "l7directord for ./etc/ha.d/conf/l7directord.cf' is running with pid: .*
+l7directord for ./etc/ha.d/conf/a.cf' is running with pid: .*
+l7directord for ./etc/ha.d/conf/b.cf' is running with pid: .*"`
+if [ -z "${RET}" ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD status"
+        exit 1
+fi
+
+# Stop l7directord
+$INIT_L7DIRECTORD stop
+if [ $? -ne 0 ]
+then
+        echo "Test failed: $INIT_L7DIRECTORD stop"
+        exit 1
+fi
+sleep 3
+
+RET=`ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh`
+if [ -n "$RET"  ]
+then
+        echo "Test failed: ps -ef | grep l7directord | grep -v grep | grep -v umtest.sh"
+        exit 1
+fi
+
+exit 0
+
diff --git a/test/script/l7directord/materials/l7directord-112-a-l7directord.cf b/test/script/l7directord/materials/l7directord-112-a-l7directord.cf
new file mode 100644 (file)
index 0000000..17bf209
--- /dev/null
@@ -0,0 +1,13 @@
+checkcount=3
+checkinterval=5
+retryinterval=1
+checktimeout=10
+negotiatetimeout=8
+quiescent=no
+fallback=127.0.0.1:50001
+virtual=127.0.0.1:40001
+    real=127.0.0.1:50002
+    service=http
+virtual=[::1]:40002
+    real=[::1]:50003
+    real=[::1]:50004
diff --git a/test/script/l7directord/materials/l7directord-112-b-l7directord.cf b/test/script/l7directord/materials/l7directord-112-b-l7directord.cf
new file mode 100644 (file)
index 0000000..32835d6
--- /dev/null
@@ -0,0 +1,28 @@
+checkcount=3
+checkinterval=5
+retryinterval=1
+checktimeout=10
+negotiatetimeout=8
+quiescent=no
+fallback=127.0.0.1:50001
+virtual=127.0.0.1:40001
+    real=127.0.0.1:50002
+    service=http
+    checkcount=2
+    checkinterval=1
+    retryinterval=3
+    checktimeout=5
+    negotiatetimeout=7
+    quiescent=yes
+    fallback=127.0.0.1:50005
+virtual=[::1]:40002
+    real=[::1]:50003
+    real=[::1]:50004
+    service=http
+    checkcount=2
+    checkinterval=1
+    retryinterval=3
+    checktimeout=5
+    negotiatetimeout=7
+    quiescent=yes
+    fallback=127.0.0.1:50005
diff --git a/test/script/l7directord/materials/l7directord-113-a-l7directord.cf b/test/script/l7directord/materials/l7directord-113-a-l7directord.cf
new file mode 100644 (file)
index 0000000..4608e8a
--- /dev/null
@@ -0,0 +1,6 @@
+virtual=127.0.0.1:50000
+    real=127.0.0.1:50001
+    service=http
+    request=index.html
+    receive="RealServer1"
+
diff --git a/test/script/l7directord/materials/l7directord-113-b-l7directord.cf b/test/script/l7directord/materials/l7directord-113-b-l7directord.cf
new file mode 100644 (file)
index 0000000..f7bac04
--- /dev/null
@@ -0,0 +1,6 @@
+virtual=127.0.0.1:50000
+    real=127.0.0.1:50001 index.html RealServer1
+    service=http
+    request=test.html
+    receive="test"
+
diff --git a/test/script/l7directord/materials/l7directord-114-l7directord.cf b/test/script/l7directord/materials/l7directord-114-l7directord.cf
new file mode 100644 (file)
index 0000000..73bdba6
--- /dev/null
@@ -0,0 +1,10 @@
+virtual=127.0.0.1:40001
+virtual=127.0.0.1:40002
+    real=127.0.0.1:50001
+    real=127.0.0.1:50002
+virtual=127.0.0.1:40003
+    real=[::1]:50003
+    real=[::1]:50004
+execute=/etc/ha.d/conf/1.cf
+execute=/etc/ha.d/conf/2.cf
+execute=/etc/ha.d/conf/3.cf
diff --git a/test/script/l7directord/materials/l7directord-153-l7directord.cf b/test/script/l7directord/materials/l7directord-153-l7directord.cf
new file mode 100644 (file)
index 0000000..5899314
--- /dev/null
@@ -0,0 +1,6 @@
+virtual=127.0.0.1:40001
+       real=127.0.0.1:50001
+       real=127.0.0.1:50002
+       real=127.0.0.1:50003
+       real=127.0.0.1:50004
+       checktype=ping
diff --git a/test/script/l7directord/materials/l7directord-154-l7directord.cf b/test/script/l7directord/materials/l7directord-154-l7directord.cf
new file mode 100644 (file)
index 0000000..e35bb48
--- /dev/null
@@ -0,0 +1,8 @@
+execute=/etc/ha.d/conf/a.cf
+execute=/etc/ha.d/conf/b.cf
+virtual=127.0.0.1:40001
+       real=127.0.0.1:50001
+       real=127.0.0.1:50002
+       real=127.0.0.1:50003
+       real=127.0.0.1:50004
+       checktype=ping
diff --git a/test/script/l7directord/materials/l7directord-155-l7directord.cf b/test/script/l7directord/materials/l7directord-155-l7directord.cf
new file mode 100644 (file)
index 0000000..958ec1d
--- /dev/null
@@ -0,0 +1,2 @@
+execute=/etc/ha.d/conf/a.cf
+execute=/etc/ha.d/conf/b.cf