No subject


Thu Oct 27 00:53:32 UTC 2011


option=0A=0A---=0A tools/ocft/ChangeLog       |    9 +-=0A tools/ocft/Files=
ystem      |   41 +++---=0A tools/ocft/IPaddr2         |   18 ++--=0A =
tools/ocft/IPsrcaddr       |    6 +-=0A tools/ocft/LVM             |   37 =
++---=0A tools/ocft/MailTo          |    4 +-=0A tools/ocft/README.in      =
 |   31 +++-=0A tools/ocft/README.zh_CN.in |   42 ++++--=0A tools/ocft/Send=
Arp         |   12 +-=0A tools/ocft/apache          |    8 +-=0A tools/ocft=
/caselib.in      |  106 ++++++--------=0A tools/ocft/db2             |   =
18 ++--=0A tools/ocft/iscsi           |   31 ++---=0A tools/ocft/mysql     =
      |    8 +-=0A tools/ocft/named           |    6 +-=0A tools/ocft/nfsse=
rver       |   16 +-=0A tools/ocft/ocft.in         |  338 +++++++++++++++++=
++++++++++++---------------=0A tools/ocft/pgsql           |    8 +-=0A =
tools/ocft/portblock       |   12 +-=0A tools/ocft/postfix         |   18 =
++--=0A 20 files changed, 444 insertions(+), 325 deletions(-)=0A=0Adiff =
--git a/tools/ocft/ChangeLog b/tools/ocft/ChangeLog=0Aindex 3ae2c1b..975598=
2 100644=0A--- a/tools/ocft/ChangeLog=0A+++ b/tools/ocft/ChangeLog=0A@@ =
-1,3 +1,9 @@=0A+0.43:=0A+	- Add top level option 'VARIABLE'.=0A+	- =
Add top level option 'CLEANUP-AGENT'.=0A+	- Rename Var & Unvar to =
Env & Unenv.=0A+	- Fix a bug about agent installation.=0A+	- =
Modified configs of agent according the new syntax.=0A 0.42:=0A 	- =
Fix a bug about agent installation.=0A 	- The tests stop early if the =
basic functionality it not there.=0A@@ -28,8 +34,7 @@=0A 	- Use =
127.0.0.x(and lo for interface) for agents IP*=0A 0.4:=0A 	- Add a =
'CASE-BLOCK' top option, it can be included by 'CASE'=0A-	- Add a =
'SETUP-AGENT' top option, you can initialize agents before testing.=0A-	- =
Add a 'Include' sub-option.=0A+	- Add a 'SETUP-AGENT' top option, you can =
initialize agents before testing.  - Add a 'Include' sub-option.=0A 	- =
Add a 'Unvar' sub-option.=0A 	- Rename 'GLOBAL' to 'CONFIG'.=0A 	- =
Modify a part of syntax.=0Adiff --git a/tools/ocft/Filesystem b/tools/ocft/=
Filesystem=0Aindex bbf21d3..65cab58 100644=0A--- a/tools/ocft/Filesystem=0A=
+++ b/tools/ocft/Filesystem=0A@@ -6,21 +6,12 @@ CONFIG=0A 	#AgentRoot =
/usr/lib/ocf/resource.d/heartbeat=0A 	HangTimeout 20=0A =0A-CASE-BLOCK =
tempvars=0A-	Var OCFT_fs=3D/var/run/resource-agents/ocft-Filesystem-fs=
=0A-	Var OCFT_loop=3D/dev/loop0=0A-	Var OCFT_dir=3D/var/run/resource-ag=
ents/ocft-Filesystem-mnt=0A-=0A-CASE-BLOCK required_args=0A-	Include =
tempvars=0A-	Var OCF_RESKEY_device=3D$OCFT_loop=0A-	Var OCF_RESKEY_fsty=
pe=3Dext2=0A-	Var OCF_RESKEY_directory=3D$OCFT_dir=0A-=0A-SETUP-AGENT=0A+=
VARIABLE=0A 	OCFT_fs=3D/var/run/resource-agents/ocft-Filesystem-fs=0A 	=
OCFT_loop=3D/dev/loop0=0A 	OCFT_dir=3D/var/run/resource-agents/ocft-Fi=
lesystem-mnt=0A+=0A+SETUP-AGENT=0A 	losetup $OCFT_loop 2>/dev/null && =
exit 1=0A 	rmdir $OCFT_dir 2>/dev/null || true=0A 	mkdir $OCFT_dir=0A@=
@ -28,6 +19,16 @@ SETUP-AGENT=0A 	mke2fs -Fq $OCFT_fs=0A 	losetup =
$OCFT_loop $OCFT_fs=0A =0A+CLEANUP-AGENT=0A+	rmdir $OCFT_dir=0A+	rm =
$OCFT_fs=0A+	losetup -d $OCFT_loop=0A+=0A+CASE-BLOCK required_args=0A+	=
Env OCF_RESKEY_device=3D$OCFT_loop=0A+	Env OCF_RESKEY_fstype=3Dext2=0A+	=
Env OCF_RESKEY_directory=3D$OCFT_dir=0A+=0A CASE-BLOCK default_status=0A 	=
AgentRun stop=0A =0A@@ -41,12 +42,12 @@ CASE "check base env"=0A =0A CASE =
"check base env: invalid 'OCF_RESKEY_device'"=0A 	Include prepare=0A-=
	Var OCF_RESKEY_device=3D/dev/no_such_device=0A+	Env OCF_RESKEY_devi=
ce=3D/dev/no_such_device=0A 	AgentRun start OCF_ERR_INSTALLED=0A =0A =
CASE "check base env: unset 'OCF_RESKEY_device'"=0A 	Include prepare=0A-=
	Unvar OCF_RESKEY_device=0A+	Unenv OCF_RESKEY_device=0A 	=
AgentRun start OCF_ERR_CONFIGURED=0A =0A CASE "normal start"=0A@@ -79,13 =
+80,13 @@ CASE "monitor when not running"=0A CASE "monitor depth 10 when =
running"=0A 	Include prepare=0A 	AgentRun start=0A-	Var =
OCF_CHECK_LEVEL=3D10=0A+	Env OCF_CHECK_LEVEL=3D10=0A 	AgentRun =
monitor OCF_SUCCESS=0A =0A CASE "monitor depth 20 with running"=0A 	=
Include prepare=0A 	AgentRun start=0A-	Var OCF_CHECK_LEVEL=3D20=0A=
+	Env OCF_CHECK_LEVEL=3D20=0A 	AgentRun monitor OCF_SUCCESS=0A =
=0A CASE "start insert failure (remove device)"=0A@@ -99,16 +100,10 @@ =
CASE "monitor depth 20 insert failure (r/o fs)"=0A 	AgentRun start=0A 	=
Bash mount -o remount,ro $OCFT_dir=0A 	BashAtExit mount -o remount,rw =
$OCFT_dir=0A-	Var OCF_CHECK_LEVEL=3D20=0A+	Env OCF_CHECK_LEVEL=3D20=0A=
 	AgentRun monitor OCF_ERR_GENERIC=0A =0A CASE "unimplemented =
command"=0A 	Include prepare=0A 	AgentRun no_cmd OCF_ERR_UNIMPLEMENT=
ED=0A =0A-CASE "meta-data and cleanup"=0A-	Include prepare=0A-	=
Bash rmdir $OCFT_dir=0A-	Bash rm $OCFT_fs=0A-	Bash losetup -d =
$OCFT_loop=0A-	AgentRun meta-data OCF_SUCCESS=0Adiff --git a/tools/ocft/IP=
addr2 b/tools/ocft/IPaddr2=0Aindex e4ff697..3a0c3ea 100644=0A--- a/tools/oc=
ft/IPaddr2=0A+++ b/tools/ocft/IPaddr2=0A@@ -6,7 +6,7 @@ CONFIG=0A 	=
HangTimeout 20=0A =0A CASE-BLOCK required_args=0A-	Var OCF_RESKEY_ip=
=3D127.0.0.3=0A+	Env OCF_RESKEY_ip=3D127.0.0.3=0A =0A CASE-BLOCK =
default_status=0A 	AgentRun stop=0A@@ -21,42 +21,42 @@ CASE "check =
base env"=0A =0A CASE "check base env: unset 'OCF_RESKEY_ip'"=0A 	=
Include prepare=0A-	Unvar OCF_RESKEY_ip=0A+	Unenv OCF_RESKEY_ip=0A 	=
AgentRun start OCF_ERR_CONFIGURED=0A =0A CASE "check base env: set invalid =
'OCF_RESKEY_ip'"=0A 	Include prepare=0A-	Var OCF_RESKEY_ip=3Dnot_ip_=
address=0A+	Env OCF_RESKEY_ip=3Dnot_ip_address=0A 	AgentRun start =
OCF_ERR_CONFIGURED=0A =0A CASE "check base env: set 'OCF_RESKEY_cidr_netmas=
k'"=0A 	Include prepare=0A-	Var OCF_RESKEY_cidr_netmask=3D8=0A+	=
Env OCF_RESKEY_cidr_netmask=3D8=0A 	AgentRun start OCF_SUCCESS=0A =0A =
CASE "check base env: set invalid 'OCF_RESKEY_cidr_netmask'"=0A 	=
Include prepare=0A-	Var OCF_RESKEY_cidr_netmask=3Dnot_netmask=0A+	=
Env OCF_RESKEY_cidr_netmask=3Dnot_netmask=0A 	AgentRun start OCF_ERR_CONF=
IGURED=0A =0A CASE "check base env: set 'OCF_RESKEY_broadcast'"=0A 	=
Include prepare=0A-	Var OCF_RESKEY_broadcast=3D127.255.255.255=0A+	=
Env OCF_RESKEY_broadcast=3D127.255.255.255=0A 	AgentRun start OCF_SUCCESS=
=0A =0A CASE "check base env: set invalid 'OCF_RESKEY_broadcast'"=0A 	=
Include prepare=0A-	Var OCF_RESKEY_broadcast=3Dnot_broadcast=0A+	=
Env OCF_RESKEY_broadcast=3Dnot_broadcast=0A 	AgentRun start OCF_ERR_CONF=
IGURED=0A =0A CASE "check base env: set 'OCF_RESKEY_nic'"=0A 	Include =
prepare=0A-	Var OCF_RESKEY_nic=3Dlo=0A+	Env OCF_RESKEY_nic=3Dlo=0A =
	AgentRun start OCF_SUCCESS=0A =0A CASE "check base env: set =
invalid 'OCF_RESKEY_nic'"=0A 	Include prepare=0A-	Var OCF_RESKEY_nic=
=3Dnot_nic=0A+	Env OCF_RESKEY_nic=3Dnot_nic=0A 	AgentRun start =
OCF_ERR_CONFIGURED=0A =0A CASE "normal start"=0Adiff --git a/tools/ocft/IPs=
rcaddr b/tools/ocft/IPsrcaddr=0Aindex 51434a4..cf3145b 100644=0A--- =
a/tools/ocft/IPsrcaddr=0A+++ b/tools/ocft/IPsrcaddr=0A@@ -6,7 +6,7 @@ =
CONFIG=0A 	HangTimeout 20=0A =0A CASE-BLOCK required_args=0A-	=
Var OCF_RESKEY_ipaddress=3D127.0.0.3=0A+	Env OCF_RESKEY_ipaddress=3D=
127.0.0.3=0A =0A CASE-BLOCK default_status=0A 	AgentRun stop=0A@@ -21,12 =
+21,12 @@ CASE "check base env"=0A =0A CASE "check base env: unset =
'OCF_RESKEY_ipaddress'"=0A 	Include prepare=0A-	Unvar OCF_RESKEY_ip=
address=0A+	Unenv OCF_RESKEY_ipaddress=0A 	AgentRun start OCF_ERR_CONF=
IGURED=0A =0A CASE "check base env: set invalid 'OCF_RESKEY_ipaddress'"=0A =
	Include prepare=0A-	Var OCF_RESKEY_ipaddress=3Dnot_ip_address=
=0A+	Env OCF_RESKEY_ipaddress=3Dnot_ip_address=0A 	AgentRun start =
OCF_ERR_CONFIGURED=0A =0A CASE "normal start"=0Adiff --git a/tools/ocft/LVM=
 b/tools/ocft/LVM=0Aindex 9935485..e5a41a4 100644=0A--- a/tools/ocft/LVM=0A=
+++ b/tools/ocft/LVM=0A@@ -6,21 +6,13 @@ CONFIG=0A 	#AgentRoot =
/usr/lib/ocf/resource.d/heartbeat=0A 	HangTimeout 20=0A =0A-CASE-BLOCK =
tempvars=0A-	Var OCFT_pv=3D/var/run/resource-agents/ocft-LVM-pv=0A-	=
Var OCFT_vg=3Docft-vg=0A-	Var OCFT_lv=3Docft-lv=0A-	Var =
OCFT_loop=3D/dev/loop0=0A-=0A-CASE-BLOCK required_args=0A-	Include =
tempvars=0A-	Var OCF_RESKEY_volgrpname=3D$OCFT_vg=0A-=0A-SETUP-AGENT=0A+=
VARIABLE=0A 	OCFT_pv=3D/var/run/resource-agents/ocft-LVM-pv=0A 	=
OCFT_vg=3Docft-vg=0A 	OCFT_lv=3Docft-lv=0A 	OCFT_loop=3D/dev/loop0=0A+=
=0A+SETUP-AGENT=0A 	losetup -d $OCFT_loop 2>/dev/null || true=0A 	dd =
if=3D/dev/zero of=3D$OCFT_pv bs=3D1024k count=3D1 2>/dev/null=0A 	=
losetup $OCFT_loop $OCFT_pv=0A@@ -28,6 +20,16 @@ SETUP-AGENT=0A 	=
vgcreate -s 4K $OCFT_vg $OCFT_loop=0A 	lvcreate -n $OCFT_lv -L 600K =
$OCFT_vg=0A =0A+CLEANUP-AGENT=0A+	vgchange -an $OCFT_vg=0A+	=
lvremove -f /dev/$OCFT_vg/$OCFT_lv=0A+	vgremove -f $OCFT_vg=0A+	=
losetup -d $OCFT_loop=0A+	rm $OCFT_pv=0A+=0A+CASE-BLOCK required_args=
=0A+	Env OCF_RESKEY_volgrpname=3D$OCFT_vg=0A+=0A CASE-BLOCK default_stat=
us=0A 	AgentRun stop=0A =0A@@ -41,12 +43,12 @@ CASE "check base env"=0A =
=0A CASE "check base env: invalid 'OCF_RESKEY_volgrpname'"=0A 	Include =
prepare=0A-	Var OCF_RESKEY_volgrpname=3D/dev/no_such_device=0A+	=
Env OCF_RESKEY_volgrpname=3D/dev/no_such_device=0A 	AgentRun start =
OCF_ERR_GENERIC=0A =0A CASE "check base env: unset 'OCF_RESKEY_volgrpname'"=
=0A 	Include prepare=0A-	Unvar OCF_RESKEY_volgrpname=0A+	Unenv =
OCF_RESKEY_volgrpname=0A 	AgentRun start OCF_ERR_CONFIGURED=0A =0A =
CASE "normal start"=0A@@ -80,12 +82,3 @@ CASE "unimplemented command"=0A 	=
Include prepare=0A 	AgentRun no_cmd OCF_ERR_UNIMPLEMENTED=0A =0A-CASE =
"meta-data and cleanup"=0A-	Include prepare=0A-	Bash vgchange -an =
$OCFT_vg=0A-	Bash lvremove -f /dev/$OCFT_vg/$OCFT_lv=0A-	Bash =
vgremove -f $OCFT_vg=0A-	Bash losetup -d $OCFT_loop=0A-	Bash rm =
$OCFT_pv=0A-	Bash rm /tmp/.LVM_set=0A-	AgentRun meta-data =
OCF_SUCCESS=0Adiff --git a/tools/ocft/MailTo b/tools/ocft/MailTo=0Aindex =
9031c51..f9beae2 100644=0A--- a/tools/ocft/MailTo=0A+++ b/tools/ocft/MailTo=
=0A@@ -6,7 +6,7 @@ CONFIG=0A 	HangTimeout 20=0A =0A CASE-BLOCK required_a=
rgs=0A-	Var OCF_RESKEY_email=3Droot at localhost=0A+	Env OCF_RESKEY_emai=
l=3Droot at localhost=0A =0A CASE-BLOCK default_status=0A 	AgentRun stop=0A@@ =
-21,7 +21,7 @@ CASE "check base env"=0A =0A CASE "check base env: unset =
'OCF_RESKEY_email'"=0A 	Include prepare=0A-	Unvar OCF_RESKEY_email=0A+	=
Unenv OCF_RESKEY_email=0A 	AgentRun start OCF_ERR_CONFIGURED=0A =0A =
CASE "normal start"=0Adiff --git a/tools/ocft/README.in b/tools/ocft/README=
.in=0Aindex 8d69a5d..3f6e16a 100644=0A--- a/tools/ocft/README.in=0A+++ =
b/tools/ocft/README.in=0A@@ -43,7 +43,7 @@ INTRODUCTION & DESIGN=0A HOW TO =
WRITE CONFIGURATION FILE=0A ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=0A =0A-  - =
There are only 4 top level options that are all spelled by capital letters =
and "-". =0A+  - There are only 6 top level options that are all spelled =
by capital letters and "-". =0A     Every top level option contains =
sub-options that they are initials.=0A =0A * 'CONFIG' (top level option)=0A=
@@ -66,14 +66,29 @@ HOW TO WRITE CONFIGURATION FILE=0A         which will =
influence the running of the following test case.  Hence timeout setting =
is =0A         needed, if the resource agent stops timeout, the scripts =
will kill this resource agent.=0A =0A+* 'VARIABLE' (top level option)=0A+  =
- Garmmar: =0A+      VARIABLE=0A+          VAR1=3Dvalue1=0A+          =
VAR2=3Dvalue2=0A+          ...=0A+  - Define the global variable here, the =
variables can be visited everywhere, they can be referenced=0A+    using =
$VAR_NAME. Note, the variables in VARIABLE are different from 'Env =
VAR1=3Dvalue1', 'Env' can=0A+    affect the activity of agent, but the =
variables in VARIABLE just be shared with top level option.=0A+=0A * =
'SETUP-AGENT' (top level option)=0A   - Grammar: =0A       SETUP-AGENT=0A  =
         bash scripts...=0A 	  ...=0A-  - Some of Agents may need to be =
initialized before testing, you can do it here with bash=0A-    script. =
The initialization will only be executed once, if you want to reinitialize =
it,=0A-    you can manually delete the flag file at /tmp/.[AGENT_NAME]_set.=
=0A+  - Some of Agents may need to be initialized before testing, you can =
do it here with bash script. =0A+=0A+* 'CLEANUP-AGENT' (top level =
option)=0A+  - Garmmar:=0A+      CLEANUP-AGENT=0A+          bash scripts...=
=0A+          ...=0A+  - If SETUP-AGENT set, usually you might be use this =
option do some cleaning work after test.=0A =0A * 'CASE' & 'CASE-BLOCK' =
(top level option)=0A   - Grammar: CASE "description" & CASE-BLOCK =
macro_name=0A@@ -90,13 +105,13 @@ HOW TO WRITE CONFIGURATION FILE=0A     =
The "CASE-BLOCK" option is a macro definer, the statements in "CASE-BLOCK" =
will be inserted =0A     into "CASE" if you "Include" the "macro_name".=0A =
=0A-    ** 'Var' (sub-option)=0A-      - Grammar: Var VARIABLE=3Dvalue=0A+ =
   ** 'Env' (sub-option)=0A+      - Grammar: Env VARIABLE=3Dvalue=0A       =
- It is to set up an environment variable of the resource agent. They =
usually appear to =0A         be OCF_RESKEY_xxx. One point is to be noted =
is there is no blank by both sides of "=3D".=0A =0A-    ** 'Unvar' =
(sub-option)=0A-      - Grammer: Unvar VARIABLE [VARIABLE2 [...]]=0A+    =
** 'Unenv' (sub-option)=0A+      - Grammer: Unenv VARIABLE [VARIABLE2 =
[...]]=0A       - Remove the environment variable.=0A =0A     ** 'Include' =
(sub-option)=0Adiff --git a/tools/ocft/README.zh_CN.in b/tools/ocft/README.=
zh_CN.in=0Aindex 3d08937..65dac04 100644=0A--- a/tools/ocft/README.zh_CN.in=
=0A+++ b/tools/ocft/README.zh_CN.in=0A@@ -29,7 +29,7 @@ ocft =E9=80=9A=E8=
=BF=87=E4=B8=A4=E7=A7=8D=E6=89=8B=E6=AE=B5=E6=9D=A5=E8=AE=BE=E8=AE=A1resouc=
e agents=E7=9A=84=E8=BF=90=E8=A1=8C=E7=8E=AF=E5=A2=83=EF=BC=8C=E4=B8=80=E6=
=98=AF=E6=9B=B4=E6=94=B9reso=0A =E6=9E=9C=E5=92=8Cresource agent=E7=9A=84=
=E5=AE=9E=E9=99=85=E7=BB=93=E6=9E=9C=EF=BC=8C=E5=A6=82=E6=9E=9C=E4=B8=8D=E4=
=B8=80=E6=A0=B7=EF=BC=8C=E8=AF=B4=E6=98=8E=E4=BD=A0=E6=89=BE=E5=88=B0resour=
ce agent=E7=9A=84bug=E4=BA=86=E3=80=82=0A =0A 2 =E9=85=8D=E7=BD=AE=0A-=E5=
=8F=AA=E6=9C=89=E5=9B=9B=E4=B8=AAtop level option=EF=BC=8C=E5=AE=83=E4=BB=
=AC=E6=98=AF=E7=94=B1=E5=A4=A7=E5=86=99=E5=AD=97=E6=AF=8D=E5=92=8C'-'=E6=9E=
=84=E6=88=90=E7=9A=84=EF=BC=8C=E6=AF=8F=E4=B8=AAtop level option=E9=83=BD=
=E6=9C=89=E8=8B=A5=E5=B9=B2sub-option=EF=BC=8C=0A+=E5=8F=AA=E6=9C=896=E4=B8=
=AAtop level option=EF=BC=8C=E5=AE=83=E4=BB=AC=E6=98=AF=E7=94=B1=E5=A4=A7=
=E5=86=99=E5=AD=97=E6=AF=8D=E5=92=8C'-'=E6=9E=84=E6=88=90=E7=9A=84=EF=BC=8C=
=E6=AF=8F=E4=B8=AAtop level option=E9=83=BD=E6=9C=89=E8=8B=A5=E5=B9=B2sub-o=
ption=EF=BC=8C=0A =E5=AE=83=E4=BB=AC=E6=98=AF=E9=A6=96=E5=AD=97=E6=AF=8D=E5=
=A4=A7=E5=86=99=E3=80=82=0A =0A 2.1 'CONFIG' =E9=80=89=E9=A1=B9=0A@@ =
-52,15 +52,31 @@ package_name=E6=98=AF=E6=9F=90=E4=B8=AAresouce agent=E5=9C=
=A8=E6=93=8D=E4=BD=9C=E7=B3=BB=E7=BB=9F=E4=B8=AD=E5=BF=85=E9=A1=BB=E5=AE=89=
=E8=A3=85=E7=9A=84=E5=8C=85=E3=80=82=0A =E5=88=B0=E5=90=8E=E9=9D=A2test =
case=E7=9A=84=E8=BF=90=E8=A1=8C=EF=BC=8C=E6=89=80=E4=BB=A5=E4=BD=A0=E9=9C=
=80=E8=A6=81=E8=AE=BE=E5=AE=9A=E8=B6=85=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9C=
=E4=B8=80=E6=97=A6resouce agent=E5=81=9C=E5=9C=A8=E9=82=A3=E8=B6=85=E6=97=
=B6=E4=BA=86=EF=BC=8C=E8=84=9A=E6=9C=AC=E4=BC=9A=0A =E6=9D=80=E6=AD=BB=E8=
=BF=99=E4=B8=AAresouce agent=E3=80=82=0A =0A-2.2 'SETUP-AGENT' =E9=80=89=E9=
=A1=B9=0A+2.2 'VARIABLE' =E9=80=89=E9=A1=B9=0A+=E8=AF=AD=E6=B3=95=EF=BC=9A=
=0A+VARIABLE=0A+	VAR1=3Dvalue1=0A+	VAR2=3Dvalue2=0A+        =
...=0A+=E5=9C=A8=E6=AD=A4=E5=AE=9A=E4=B9=89=E5=85=A8=E5=B1=80=E5=8F=98=E9=
=87=8F=EF=BC=8C=E8=BF=99=E4=BA=9B=E5=8F=98=E9=87=8F=E5=8F=AF=E4=BB=A5=E7=94=
=A8=E4=BA=8E=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E4=B8=AD=E7=9A=84=E4=BB=BB=
=E4=BD=95=E5=9C=B0=E6=96=B9=EF=BC=8C=E5=BC=95=E7=94=A8=E6=97=B6=E5=9C=A8=E5=
=8F=98=E9=87=8F=E5=90=8D=E5=89=8D=E5=8A=A0=E4=B8=8A$=E3=80=82=E8=AF=B7=E6=
=B3=A8=E6=84=8F=EF=BC=8C=E8=BF=99=E4=BA=9B=0A+=E5=8F=98=E9=87=8F=E4=B8=8D=
=E5=90=8C=E4=BA=8EEnv=E5=AE=9A=E4=B9=89=E7=9A=84=E5=8F=98=E9=87=8F=EF=BC=8C=
Env=E6=98=AF=E5=AE=9A=E4=B9=89=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=EF=BC=8C=
=E5=8F=AF=E4=BB=A5=E6=94=B9=E5=8F=98agent=E7=9A=84=E8=A1=8C=E4=B8=BA=EF=BC=
=8C=E8=80=8C=E8=BF=99=E4=BA=9B=E5=8F=98=E9=87=8F=E5=8F=AA=E6=98=AF=E7=94=A8=
=E4=BA=8E=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E4=B8=AD=0A+=E5=85=B1=E4=BA=
=AB=E3=80=82=0A+=0A+2.3 'SETUP-AGENT' =E9=80=89=E9=A1=B9=0A =E8=AF=AD=E6=B3=
=95=EF=BC=9A=0A SETUP-AGENT=0A 	bash scripts...=0A 	...=0A-=E4=B8=80=E4=
=BA=9BAgent=E5=9C=A8=E6=B5=8B=E8=AF=95=E5=89=8D=E5=8F=AF=E8=83=BD=E9=9C=80=
=E8=A6=81=E5=88=9D=E5=A7=8B=E5=8C=96=EF=BC=8C=E4=BD=A0=E5=8F=AF=E4=BB=A5=E7=
=94=A8bash=E8=84=9A=E6=9C=AC=E5=9C=A8=E8=BF=99=E5=88=9D=E5=A7=8B=E5=8C=96=
=E3=80=82=E5=88=9D=E5=A7=8B=E5=8C=96=E5=8A=A8=E4=BD=9C=E5=8F=AA=E4=BC=9A=E8=
=A2=AB=E6=89=A7=E8=A1=8C=E4=B8=80=E6=AC=A1=EF=BC=8C=0A-=E5=A6=82=E6=9E=9C=
=E4=BD=A0=E6=83=B3=E8=A6=81=E5=86=8D=E6=AC=A1=E6=89=A7=E8=A1=8C=EF=BC=8C=E4=
=BD=A0=E5=8F=AF=E4=BB=A5=E6=89=8B=E5=8A=A8=E5=88=A0=E9=99=A4=E6=A0=87=E5=BF=
=97=E6=96=87=E4=BB=B6 /tmp/.[AGENT_NAME]_set=E3=80=82=0A+=E4=B8=80=E4=BA=9B=
Agent=E5=9C=A8=E6=B5=8B=E8=AF=95=E5=89=8D=E5=8F=AF=E8=83=BD=E9=9C=80=E8=A6=
=81=E5=88=9D=E5=A7=8B=E5=8C=96=EF=BC=8C=E4=BD=A0=E5=8F=AF=E4=BB=A5=E7=94=A8=
bash=E8=84=9A=E6=9C=AC=E5=9C=A8=E8=BF=99=E5=88=9D=E5=A7=8B=E5=8C=96=E3=80=
=82=0A+=0A+2.4 'CLEANUP-AGENT' =E9=80=89=E9=A1=B9=0A+=E8=AF=AD=E6=B3=95=EF=
=BC=9A=0A+CLEANUP-AGENT=0A+	bash scripts...=0A+	...=0A+=E5=A6=82=E6=
=9E=9C=E4=B9=8B=E5=89=8D=E5=AE=9A=E4=B9=89=E4=BA=86SETUP-AGENT, =
=E4=BD=A0=E5=8F=AF=E8=83=BD=E8=BF=98=E9=9C=80=E8=A6=81=E6=AD=A4=E9=80=89=E9=
=A1=B9=E5=9C=A8=E6=B5=8B=E8=AF=95=E5=AE=8C=E5=90=8E=E6=9D=A5=E4=BD=9C=E4=B8=
=80=E4=BA=9B=E6=B8=85=E9=99=A4=E3=80=82=0A =0A-2.3 'CASE' & 'CASE-BLOCK' =
=E9=80=89=E9=A1=B9=0A+2.5 'CASE' & 'CASE-BLOCK' =E9=80=89=E9=A1=B9=0A =
=E8=AF=AD=E6=B3=95=EF=BC=9ACASE "description" & CASE-BLOCK macro_name=0A =
=E9=80=9A=E5=B8=B8=E4=BD=A0=E8=AE=BE=E8=AE=A1=E7=9A=84=E7=8E=AF=E5=A2=83=E4=
=B8=8D=E6=AD=A2=E4=B8=80=E4=B8=AA=EF=BC=8C=E9=82=A3=E4=B9=88=E9=85=8D=E7=BD=
=AE=E6=96=87=E4=BB=B6=E4=B8=AD=E5=BA=94=E8=AF=A5=E4=BC=9A=E5=87=BA=E7=8E=B0=
=E8=AE=B8=E5=A4=9A 'CASE "..."'=EF=BC=8C=E5=80=BC=E5=BE=97=E6=B3=A8=E6=84=
=8F=E7=9A=84=E6=98=AF=EF=BC=8C=E4=BB=A5=E4=B8=8B=E5=AD=90=0A =E9=80=89=E9=
=A1=B9=E6=AF=8F=E4=B8=AA=E9=83=BD=E6=9C=89=E4=B8=A4=E7=A7=8D=E5=86=99=E6=B3=
=95=EF=BC=8C=E4=B8=80=E6=98=AF=E6=99=AE=E9=80=9A=E5=86=99=E6=B3=95=EF=BC=8C=
=E4=BA=A7=E7=94=9F=E7=9A=84shell=E4=BB=A3=E7=A0=81=E5=AF=B9=E6=9C=AC=E5=9C=
=B0=E4=BA=A7=E7=94=9F=E4=BD=9C=E7=94=A8=EF=BC=8C=E4=BA=8C=E6=98=AF=E7=89=B9=
=E6=AE=8A=E5=86=99=E6=B3=95=EF=BC=8C=E5=B0=B1=E6=98=AF=E5=9C=A8=E6=AF=8F=0A=
@@ -70,31 +86,31 @@ test case=E7=94=9F=E5=AD=98=E6=9C=9F=E5=86=85=EF=BC=8C=
=E5=90=8E=E5=8F=B0=E8=BF=90=E8=A1=8C=E4=B8=80=E4=B8=AA=E8=BF=9C=E7=A8=8Bshe=
ll=EF=BC=8C=E4=BB=96=E5=A7=8B=E7=BB=88=E5=9C=A8=E5=90=8E=E5=8F=B0=E8=BF=90=
=E8=A1=8C=0A =E5=8F=AF=E4=BB=A5=E4=BA=A4=E6=9B=BF=E6=89=A7=E8=A1=8C=E6=9C=
=AC=E5=9C=B0shell=E4=BB=A3=E7=A0=81=E6=AE=B5=E5=92=8C=E8=BF=9C=E7=A8=8Bshel=
l=E4=BB=A3=E7=A0=81=E6=AE=B5=E3=80=82=0A 'CASE-BLOCK'=E9=80=89=E9=A1=B9=E6=
=98=AF=E4=B8=80=E4=B8=AA=E5=AE=8F=E5=AE=9A=E4=B9=89=E5=99=A8=EF=BC=8C=E5=AE=
=83=E5=AE=9A=E4=B9=89=E7=9A=84=E5=86=85=E5=AE=B9=E5=B0=86=E4=BC=9A=E8=A2=AB=
=E6=8F=92=E5=85=A5=E5=88=B0"CASE"=E5=86=85=E5=AE=B9=E4=B8=AD=E3=80=82=0A =
=0A-2.3.1 'Var' =E9=80=89=E9=A1=B9=0A-=E8=AF=AD=E6=B3=95=EF=BC=9AVar =
VARIABLE=3Dvalue=0A+2.5.1 'Env' =E9=80=89=E9=A1=B9=0A+=E8=AF=AD=E6=B3=95=EF=
=BC=9AEnv VARIABLE=3Dvalue=0A =E8=BF=99=E6=98=AF=E8=AE=BE=E7=BD=AEresouce =
agent=E7=9A=84=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=EF=BC=8C=E4=BB=96=E4=BB=
=AC=E9=80=9A=E5=B8=B8=E6=98=AFOCF_RESKEY_xxx=EF=BC=8C=E6=B3=A8=E6=84=8F=3D=
=E5=8F=B7=E4=B8=A4=E8=BE=B9=E4=B8=8D=E8=A6=81=E6=9C=89=E7=A9=BA=E6=A0=BC=E3=
=80=82=0A =0A-2.3.2 'Unvar' =E9=80=89=E9=A1=B9=0A-=E8=AF=AD=E6=B3=95=EF=BC=
=9AUnvar VARIABLE=0A+2.5.2 'Unenv' =E9=80=89=E9=A1=B9=0A+=E8=AF=AD=E6=B3=95=
=EF=BC=9AUnenv VARIABLE=0A =E6=AD=A4=E9=80=89=E9=A1=B9=E7=94=A8=E4=BA=8E=E5=
=88=A0=E9=99=A4=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F=E3=80=82=0A =0A-2.3.3 =
'Include' =E9=80=89=E9=A1=B9=0A+2.5.3 'Include' =E9=80=89=E9=A1=B9=0A =
=E8=AF=AD=E6=B3=95=EF=BC=9AInclude macro_name=0A =E6=AD=A4=E9=80=89=E9=A1=
=B9=E5=B0=86=E4=BC=9A=E8=A2=AB=E5=AE=8F"macro_name"=E7=9A=84=E5=86=85=E5=AE=
=B9=E6=89=80=E6=9B=BF=E4=BB=A3=EF=BC=8C=E5=BD=93=E7=84=B6=EF=BC=8C=E4=BD=A0=
=E5=BE=97=E9=A2=84=E5=85=88=E7=94=A8"CASE-BLOCK"=E6=9D=A5=E5=AE=9A=E4=B9=89=
=E5=AE=8F"macro_name"=0A =E7=9A=84=E5=86=85=E5=AE=B9=E3=80=82=0A =0A-2.3.4 =
'Bash' =E9=80=89=E9=A1=B9=0A+2.5.4 'Bash' =E9=80=89=E9=A1=B9=0A =
=E8=AF=AD=E6=B3=95=EF=BC=9ABash bash_codes=0A =E6=AD=A4=E9=80=89=E9=A1=B9=
=E6=98=AF=E7=94=A8=E6=9D=A5=E8=AE=BE=E7=BD=AEos=E7=9A=84=E7=8E=AF=E5=A2=83=
=EF=BC=8C=E4=BD=A0=E5=8F=AF=E4=BB=A5=E5=B5=8C=E5=85=A5bash=E4=BB=A3=E7=A0=
=81=E6=9D=A5=E5=AF=B9=E7=B3=BB=E7=BB=9F=E4=BD=9C=E4=BB=BB=E6=84=8F=E8=AE=BE=
=E7=BD=AE=EF=BC=8C=E4=B8=8D=E8=BF=87=E8=A6=81=E6=B3=A8=E6=84=8F=E4=B8=8D=E8=
=A6=81=E5=AF=B9=E7=B3=BB=E7=BB=9F=E9=80=A0=E6=88=90=0A =E4=B8=8D=E5=8F=AF=
=E6=81=A2=E5=A4=8D=E7=9A=84=E5=90=8E=E6=9E=9C=E5=B0=B1=E8=A1=8C=E4=BA=86=E3=
=80=82=0A =0A-2.3.5 'BashAtExit' =E9=80=89=E9=A1=B9=0A+2.5.5 'BashAtExit' =
=E9=80=89=E9=A1=B9=0A =E8=AF=AD=E6=B3=95=EF=BC=9ABashAtExit bash_codes=0A =
=E6=AD=A4=E9=80=89=E9=A1=B9=E6=98=AF=E7=94=A8=E6=9D=A5=E6=81=A2=E5=A4=8Dos=
=E7=9A=84=E7=8E=AF=E5=A2=83=EF=BC=8C=E4=BB=A5=E4=BE=BF=E5=8F=A6=E4=B8=80=E4=
=B8=AAtest case=E8=83=BD=E6=AD=A3=E5=B8=B8=E8=BF=90=E8=A1=8C=EF=BC=8C=E5=BD=
=93=E7=84=B6=E4=BD=A0=E4=B9=9F=E5=8F=AF=E4=BB=A5=E7=9B=B4=E6=8E=A5=E7=94=A8=
'Bash'=E9=80=89=E9=A1=B9=E6=9D=A5=0A =E6=81=A2=E5=A4=8D=EF=BC=8C=E4=BD=86=
=E6=98=AF=E5=A6=82=E6=9E=9C=E8=84=9A=E6=9C=AC=E5=9C=A8=E6=89=A7=E8=A1=8C=E8=
=BF=87=E7=A8=8B=E4=B8=AD=E4=BA=A7=E7=94=9F=E6=9F=90=E4=BA=9B=E9=94=99=E8=AF=
=AF=EF=BC=8C=E9=82=A3=E4=B9=88=E8=84=9A=E6=9C=AC=E4=BC=9A=E7=9B=B4=E6=8E=A5=
=E9=80=80=E5=87=BA=EF=BC=8C=E8=80=8C=E4=B8=8D=E4=BC=9A=E5=8E=BB=E6=89=A7=E8=
=A1=8C=E4=BD=A0=E7=9A=84=E6=81=A2=E5=A4=8D=E4=BB=A3=E7=A0=81=EF=BC=8C=0A =
=E9=82=A3=E4=B9=88=E4=BD=A0=E5=B0=B1=E8=A6=81=E7=94=A8=E5=88=B0BashAtExit=
=EF=BC=8C=E4=BB=96=E8=83=BD=E5=9C=A8=E4=BD=A0=E9=80=80=E5=87=BA=E5=89=8D=E5=
=8E=BB=E6=81=A2=E5=A4=8D=E7=B3=BB=E7=BB=9F=E7=8E=AF=E5=A2=83=E3=80=82=0A =
=0A-2.3.6 'RunAgent' =E9=80=89=E9=A1=B9=0A+2.5.6 'RunAgent' =E9=80=89=E9=A1=
=B9=0A =E8=AF=AD=E6=B3=95=EF=BC=9ARunAgent cmd [ret_value]=0A =E6=AD=A4opti=
on=E4=BC=9A=E5=8E=BB=E8=BF=90=E8=A1=8Cresouce agent=EF=BC=8C'cmd' =
=E5=B0=B1=E6=98=AFresouce agent=E7=9A=84=E5=8F=82=E6=95=B0=EF=BC=8C=E5=A6=
=82 start=EF=BC=8Cstatus=EF=BC=8Cstop ...=0A =E7=AC=AC=E4=BA=8C=E4=B8=AA=E5=
=8F=82=E6=95=B0=E6=98=AF=E5=8F=AF=E9=80=89=E7=9A=84=EF=BC=8C=E5=AE=83=E6=98=
=AF=E4=BD=A0=E5=AF=B9=E7=B3=BB=E7=BB=9F=E7=8E=AF=E5=A2=83=E4=BD=9C=E5=87=BA=
=E7=89=B9=E6=AE=8A=E8=AE=BE=E5=AE=9A=E4=BB=A5=E5=90=8E=EF=BC=8C=E4=BD=A0=E9=
=A2=84=E8=AE=A1resouce agent=E4=BC=9A=E8=BF=94=E5=9B=9E=E7=9A=84=E5=80=BC=
=EF=BC=8C=0Adiff --git a/tools/ocft/SendArp b/tools/ocft/SendArp=0Aindex =
448d6d4..ee46e39 100644=0A--- a/tools/ocft/SendArp=0A+++ b/tools/ocft/SendA=
rp=0A@@ -6,8 +6,8 @@ CONFIG=0A 	HangTimeout 15=0A =0A CASE-BLOCK required_a=
rgs=0A-	Var OCF_RESKEY_ip=3D127.0.0.1=0A-	Var OCF_RESKEY_nic=3Dlo=0A+=
	Env OCF_RESKEY_ip=3D127.0.0.1=0A+	Env OCF_RESKEY_nic=3Dlo=0A =
=0A CASE-BLOCK default_status=0A 	AgentRun stop=0A@@ -22,22 +22,22 =
@@ CASE "check base env"=0A =0A CASE "check base env: unset 'OCF_RESKEY_ip'=
"=0A 	Include prepare=0A-	Unvar OCF_RESKEY_ip=0A+	Unenv OCF_RESKEY_ip=
=0A 	AgentRun start OCF_ERR_ARGS=0A =0A CASE "check base env: set worng =
'OCF_RESKEY_ip'"=0A 	Include prepare=0A-	Var OCF_RESKEY_ip=3Dnot_ip_=
address=0A+	Env OCF_RESKEY_ip=3Dnot_ip_address=0A 	AgentRun start =
OCF_ERR_ARGS=0A =0A CASE "check base env: unset 'OCF_RESKEY_nic'"=0A 	=
Include prepare=0A-	Unvar OCF_RESKEY_nic=0A+	Unenv OCF_RESKEY_ni=
c=0A 	AgentRun start OCF_ERR_ARGS=0A =0A CASE "check base env: set worng =
'OCF_RESKEY_nic'"=0A 	Include prepare=0A-	Var OCF_RESKEY_nic=3Dnot_ni=
c=0A+	Env OCF_RESKEY_nic=3Dnot_nic=0A 	AgentRun start OCF_ERR_ARGS=
=0A =0A CASE "normal start"=0Adiff --git a/tools/ocft/apache b/tools/ocft/a=
pache=0Aindex dc8ca26..f444d51 100644=0A--- a/tools/ocft/apache=0A+++ =
b/tools/ocft/apache=0A@@ -10,8 +10,8 @@ SETUP-AGENT=0A 	/etc/init.d/apache2=
 stop=0A =0A CASE-BLOCK required_args=0A-	Var OCF_RESKEY_statusurl=3D=
http://localhost/info2html.css=0A-	Var OCF_RESKEY_testregex=3D'This =
is'=0A+	Env OCF_RESKEY_statusurl=3Dhttp://localhost/info2html.css=0A+	=
Env OCF_RESKEY_testregex=3D'This is'=0A =0A CASE-BLOCK default_status=0A 	=
AgentRun stop=0A@@ -26,12 +26,12 @@ CASE "check base env"=0A =0A CASE =
"check base env: unset OCF_RESKEY_statusurl"=0A 	Include prepare=0A-=
	Unvar OCF_RESKEY_statusurl=0A+	Unenv OCF_RESKEY_statusurl=0A 	=
AgentRun start OCF_ERR_CONFIGURED=0A =0A CASE "check base env: unset =
OCF_RESKEY_testregex"=0A 	Include prepare=0A-	Unvar OCF_RESKEY_te=
stregex=0A+	Unenv OCF_RESKEY_testregex=0A 	AgentRun start OCF_ERR_CONF=
IGURED=0A =0A CASE "normal start"=0Adiff --git a/tools/ocft/caselib.in =
b/tools/ocft/caselib.in=0Aindex ab464f6..0617bfd 100644=0A--- a/tools/ocft/=
caselib.in=0A+++ b/tools/ocft/caselib.in=0A@@ -1,5 +1,5 @@=0A #=0A-# =
Copyright (c) 2010 Novell Inc, John Shi=0A+# Copyright (c) 2010-2011 =
Novell Inc, John Shi=0A #           All Rights Reserved.=0A #=0A # This =
program is free software; you can redistribute it and/or modify=0A@@ =
-27,12 +27,12 @@ quit()=0A   local ret=0A   ret=3D"$1"=0A =0A-  while [ =
$atexit_num -gt 0 ]; do=0A-    atexit$atexit_num=0A-    let atexit_num--=0A=
+  while [ $__OCFT__atexit_num -gt 0 ]; do=0A+    atexit$__OCFT__atexit_num=
=0A+    let __OCFT__atexit_num--=0A   done=0A =0A-  rm -rf $fakebin=0A+  =
rm -rf $__OCFT__fakebin=0A =0A   exit $ret=0A }=0A@@ -48,11 +48,11 @@ =
agent_install()=0A   for pkg in "$@"; do=0A     if [ -e /etc/SuSE-release =
]; then=0A       if ! rpm -ql "$pkg" >/dev/null 2>&1; then=0A-        echo =
-n "${showhost}Installing $pkg ..."=0A+        echo "${__OCFT__showhost}Ins=
talling $pkg ..."=0A         zypper -q install -y "$pkg" >/dev/null =
2>&1=0A         if ! rpm -ql "$pkg" >/dev/null 2>&1; then=0A           =
echo=0A-          echo "${showhost}ERROR: Install '$pkg' failed, break =
this case."=0A+          echo "${__OCFT__showhost}ERROR: Install '$pkg' =
failed."=0A           quit 2=0A         fi=0A         echo "done"=0A@@ =
-60,11 +60,11 @@ agent_install()=0A       fi=0A     elif [ -e /etc/debian_v=
ersion ]; then=0A       if ! dpkg -L "$pkg" >/dev/null 2>&1; then=0A-      =
  echo -n "${showhost}Installing $pkg ..."=0A+        echo "${__OCFT__showh=
ost}Installing $pkg ..."=0A         apt-get -y install "$pkg" >/dev/null =
2>&1=0A         if ! dpkg -L "$pkg" >/dev/null 2>&1; then=0A           =
echo=0A-          echo "${showhost}ERROR: Install '$pkg' failed, break =
this case."=0A+          echo "${__OCFT__showhost}ERROR: Install '$pkg' =
failed."=0A           quit 2=0A         fi=0A         echo "done"=0A@@ =
-72,37 +72,23 @@ agent_install()=0A       fi=0A     elif [ -e /etc/redhat-r=
elease ]; then=0A       if ! rpm -ql "$pkg" >/dev/null 2>&1; then=0A-      =
  echo -n "${showhost}Installing $pkg ..."=0A+        echo "${__OCFT__showh=
ost}Installing $pkg ..."=0A         yum -y install "$pkg" >/dev/null =
2>&1=0A         if ! rpm -ql "$pkg" >/dev/null 2>&1; then=0A           =
echo=0A-          echo "${showhost}ERROR: Install '$pkg' failed, break =
this case."=0A+          echo "${__OCFT__showhost}ERROR: Install '$pkg' =
failed."=0A           quit 2=0A         fi=0A         echo "done"=0A       =
  echo=0A       fi=0A     else=0A-      echo "${showhost}ERROR: Cannot =
detect your OS type, break this case."=0A+      echo "${__OCFT__showhost}ER=
ROR: Cannot detect your OS type."=0A       quit 2=0A     fi=0A   done=0A =
}=0A =0A-agent_setup()=0A-{=0A-  local agent=0A-  agent=3D"$1"=0A-=0A-  if =
[ ! -e "/tmp/.${agent}_set" ]; then=0A-    touch "/tmp/.${agent}_set"=0A-  =
  echo -n "${showhost}Initialing ${agent}..."=0A-    bash >/dev/null=0A-   =
 echo "done"=0A-    echo=0A-  fi=0A-}=0A-=0A agent_run()=0A {=0A   local =
agent cmd timeout pid i ret aroot=0A@@ -110,7 +96,7 @@ agent_run()=0A   =
cmd=3D"$2"=0A   timeout=3D"$3"=0A =0A-  aroot=3D${MYROOT:-$AGENT_ROOT}=0A+ =
 aroot=3D${__OCFT__MYROOT:-$__OCFT__AGENT_ROOT}=0A =0A   setsid $aroot/$age=
nt $cmd >/tmp/.ocft_runlog 2>&1 &=0A   pid=3D$!=0A@@ -128,8 +114,8 @@ =
agent_run()=0A     kill -SIGTERM -$pid >/dev/null 2>&1=0A     sleep 3=0A   =
  kill -SIGKILL -$pid >/dev/null 2>&1=0A-    echo -n "${showhost}ERROR: =
The agent was hanging, killed it, "=0A-    echo "maybe you damaged the =
agent or system's environment, break this CASE."=0A+    echo -n "${__OCFT__=
showhost}ERROR: The agent was hanging, killed it, "=0A+    echo "maybe you =
damaged the agent or system's environment."=0A     echo=0A     quit 1=0A   =
fi=0A@@ -144,7 +130,7 @@ check_success()=0A   msg=3D"$2"=0A =0A   if [ =
$ret -ne 0 ]; then=0A-    echo "${showhost}ERROR: '${msg}' failed, the =
return code is ${ret}, break this CASE."=0A+    echo "${__OCFT__showhost}ER=
ROR: '${msg}' failed, the return code is ${ret}."=0A     quit 1=0A   fi=0A =
}=0A@@ -174,19 +160,19 @@ backbash_start()=0A   local host fd rfd wfd=0A   =
host=3D"$1"=0A =0A-  if [ ! -d "$CASES_DIR" ]; then=0A-    echo "${showhost=
}ERROR: Could not found Directory: ${CASES_DIR}."=0A+  if [ ! -d "$__OCFT__=
CASES_DIR" ]; then=0A+    echo "${__OCFT__showhost}ERROR: Could not found =
Directory: ${__OCFT__CASES_DIR}."=0A     quit 1=0A   fi=0A =0A-  if lsof =
$CASES_DIR/${host}_r $CASES_DIR/${host}_w >/dev/null 2>&1; then=0A-    =
echo "${showhost}ERROR: Connection exist with $host, break this CASE."=0A+ =
 if lsof $__OCFT__CASES_DIR/${host}_r $__OCFT__CASES_DIR/${host}_w =
>/dev/null 2>&1; then=0A+    echo "${__OCFT__showhost}ERROR: Connection =
exist with $host."=0A     quit 1=0A   fi=0A-  if [ ! -p "$CASES_DIR/${host}=
_r" ] || [ ! -p "$CASES_DIR/${host}_w" ]; then=0A-    rm -f $CASES_DIR/${ho=
st}_r $CASES_DIR/${host}_w=0A-    if ! mkfifo $CASES_DIR/${host}_r =
$CASES_DIR/${host}_w >/dev/null 2>&1; then=0A-      echo "${showhost}ERROR:=
 Could not create pipe file: $CASES_DIR/${host}_*, break this CASE."=0A+  =
if [ ! -p "$__OCFT__CASES_DIR/${host}_r" ] || [ ! -p "$__OCFT__CASES_DIR/${=
host}_w" ]; then=0A+    rm -f $__OCFT__CASES_DIR/${host}_r $__OCFT__CASES_D=
IR/${host}_w=0A+    if ! mkfifo $__OCFT__CASES_DIR/${host}_r $__OCFT__CASES=
_DIR/${host}_w >/dev/null 2>&1; then=0A+      echo "${__OCFT__showhost}ERRO=
R: Could not create pipe file: $__OCFT__CASES_DIR/${host}_*."=0A       =
quit 1=0A     fi=0A   fi=0A@@ -194,12 +180,12 @@ backbash_start()=0A   ssh =
root@$host '/bin/bash 2>&1=0A                   sed "s/00/001/g" /tmp/.back=
bash-log=0A                   echo 000=0A-                  echo 1' =
>$CASES_DIR/${host}_r <$CASES_DIR/${host}_w &=0A+                  echo 1' =
>$__OCFT__CASES_DIR/${host}_r <$__OCFT__CASES_DIR/${host}_w &=0A =0A   =
fd=3D$(__maxfd)=0A   rfd=3D$(expr $fd + 1)=0A   wfd=3D$(expr $fd + 2)=0A-  =
eval "exec ${rfd}<$CASES_DIR/${host}_r ${wfd}>$CASES_DIR/${host}_w"=0A+  =
eval "exec ${rfd}<$__OCFT__CASES_DIR/${host}_r ${wfd}>$__OCFT__CASES_DIR/${=
host}_w"=0A }=0A =0A backbash()=0A@@ -211,7 +197,7 @@ backbash()=0A   =
wfd=3D$(__getfd $host w)=0A =0A   if [ -z "$rfd" -o -z "$wfd" ]; then=0A-  =
  echo "${showhost}ERROR: Could not found connection with $host, break =
this CASE."=0A+    echo "${__OCFT__showhost}ERROR: Could not found =
connection with $host."=0A   fi=0A =0A   cat >&$wfd <<EOF=0A@@ -227,7 =
+213,7 @@ echo 000=0A echo 0=0A EOF=0A   if [ $? -ne 0 ]; then=0A-    echo =
"${showhost}ERROR: Broken connection with $host, break this CASE."=0A+    =
echo "${__OCFT__showhost}ERROR: Broken connection with $host."=0A     quit =
1=0A   fi=0A =0A@@ -250,7 +236,7 @@ EOF=0A         quit 1=0A         ;;=0A =
      2)=0A-        echo "${showhost}ERROR: Broken connection with $host, =
break this CASE."=0A+        echo "${__OCFT__showhost}ERROR: Broken =
connection with $host."=0A         quit 1=0A         ;;=0A   esac=0A@@ =
-265,43 +251,43 @@ backbash_stop()=0A   if [ -n "$wfd" ]; then=0A     cat =
>&$wfd <<<'quit 0'=0A   fi=0A-  rm -f $CASES_DIR/${host}_r $CASES_DIR/${hos=
t}_w=0A+  rm -f $__OCFT__CASES_DIR/${host}_r $__OCFT__CASES_DIR/${host}_w=
=0A }=0A =0A =0A export OCF_ROOT=3D at OCF_ROOT_DIR@=0A export OCF_LIB=3D at OCF_=
LIB_DIR@/heartbeat=0A-AGENT_ROOT=3D at OCF_RA_DIR@/heartbeat=0A-CASES_DIR=3D/v=
ar/lib/@PACKAGE_NAME@/ocft/cases=0A+__OCFT__AGENT_ROOT=3D at OCF_RA_DIR@/heart=
beat=0A+__OCFT__CASES_DIR=3D/var/lib/@PACKAGE_NAME@/ocft/cases=0A =
=0A-atexit_num=3D0=0A+__OCFT__atexit_num=3D0=0A =0A if [ $EUID -ne 0 ]; =
then=0A-  echo "${showhost}ERROR: '$0' needs to be run by root, break this =
CASE."=0A+  echo "${__OCFT__showhost}ERROR: '$0' needs to be run by =
root."=0A   quit 3=0A fi=0A =0A-fakebin=3D./fakebin=0A+__OCFT__fakebin=3D./=
fakebin=0A =0A-mkdir -p $fakebin >/dev/null 2>&1 &&=0A-ln -sf /bin/true =
$fakebin/crm_master >/dev/null 2>&1 &&=0A-ln -sf /bin/true $fakebin/crm_mon=
 >/dev/null 2>&1=0A+mkdir -p $__OCFT__fakebin >/dev/null 2>&1 &&=0A+ln -sf =
/bin/true $__OCFT__fakebin/crm_master >/dev/null 2>&1 &&=0A+ln -sf =
/bin/true $__OCFT__fakebin/crm_mon >/dev/null 2>&1=0A if [ $? -ne 0 ]; =
then=0A-  echo "${showhost}ERROR: initialize 'fakebin' failed, break this =
CASE."=0A+  echo "${__OCFT__showhost}ERROR: initialize 'fakebin' =
failed."=0A   quit 3=0A fi=0A-export HA_SBIN_DIR=3D$fakebin=0A+export =
HA_SBIN_DIR=3D$__OCFT__fakebin=0A =0A . $OCF_LIB/ocf-returncodes || {=0A-  =
echo "${showhost}ERROR: $OCF_LIB/ocf-returncodes not found, break this =
CASE."=0A+  echo "${__OCFT__showhost}ERROR: $OCF_LIB/ocf-returncodes not =
found."=0A   quit 3=0A }=0A =0A-while read line; do=0A-  if [ -n "$line" =
]; then=0A-    retn=3D${line%%=3D*}=0A-    reti=3D$(eval echo \$$retn)=0A- =
   retval[reti]=3D$retn=0A+while read __OCFT__line; do=0A+  if [ -n =
"$__OCFT__line" ]; then=0A+    __OCFT__retn=3D${__OCFT__line%%=3D*}=0A+    =
__OCFT__reti=3D$(eval echo \$$__OCFT__retn)=0A+    __OCFT__retval[__OCFT__r=
eti]=3D$__OCFT__retn=0A   fi=0A done <<<"$(sed 's/#.*//' $OCF_LIB/ocf-retur=
ncodes)"=0A =0Adiff --git a/tools/ocft/db2 b/tools/ocft/db2=0Aindex =
4bcd23a..9b69350 100644=0A--- a/tools/ocft/db2=0A+++ b/tools/ocft/db2=0A@@ =
-36,12 +36,12 @@ SETUP-AGENT=0A         # nothing=0A =0A CASE-BLOCK =
set_testenv=0A-        Var OCFT_instance=3Ddb2inst1=0A-        Var =
OCFT_db=3Docft=0A+        Env OCFT_instance=3Ddb2inst1=0A+        Env =
OCFT_db=3Docft=0A =0A CASE-BLOCK crm_setting=0A-        Var OCF_RESKEY_inst=
ance=3D$OCFT_instance=0A-	Var OCF_RESKEY_CRM_meta_timeout=3D30000=0A+=
        Env OCF_RESKEY_instance=3D$OCFT_instance=0A+	Env OCF_RESKEY_CRM_=
meta_timeout=3D30000=0A =0A CASE-BLOCK default_status=0A 	AgentRun =
stop=0A@@ -57,7 +57,7 @@ CASE "check base env"=0A =0A CASE "check base =
env: invalid 'OCF_RESKEY_instance'"=0A 	Include prepare=0A-	Var =
OCF_RESKEY_instance=3Dno_such=0A+	Env OCF_RESKEY_instance=3Dno_such=
=0A 	AgentRun start OCF_ERR_INSTALLED=0A =0A CASE "invalid instance =
config"=0A@@ -108,8 +108,8 @@ CASE "killed instance: monitor"=0A =0A CASE =
"overload param instance by admin"=0A         Include prepare=0A-        =
Var OCF_RESKEY_instance=3Dno_such=0A-        Var OCF_RESKEY_admin=3D$OCFT_i=
nstance=0A+        Env OCF_RESKEY_instance=3Dno_such=0A+        Env =
OCF_RESKEY_admin=3D$OCFT_instance=0A         AgentRun start OCF_SUCCESS=0A =
=0A CASE "check start really activates db"=0A@@ -126,7 +126,7 @@ CASE =
"multipartion test"=0A         AgentRun monitor OCF_SUCCESS=0A =0A         =
# start does not start partion 1=0A-        Var OCF_RESKEY_dbpartitionnum=
=3D1=0A+        Env OCF_RESKEY_dbpartitionnum=3D1=0A         AgentRun =
monitor OCF_NOT_RUNNING=0A =0A         # now start 1=0A@@ -138,7 +138,7 @@ =
CASE "multipartion test"=0A         AgentRun monitor OCF_NOT_RUNNING=0A =
=0A         # does not affect 0=0A-        Var OCF_RESKEY_dbpartitionnum=3D=
0=0A+        Env OCF_RESKEY_dbpartitionnum=3D0=0A         AgentRun monitor =
OCF_SUCCESS=0A =0A # fault injection does not work on the 1.0.4 client due =
to a hardcoded path=0Adiff --git a/tools/ocft/iscsi b/tools/ocft/iscsi=0Ain=
dex fea6f74..0b09a25 100644=0A--- a/tools/ocft/iscsi=0A+++ b/tools/ocft/isc=
si=0A@@ -6,20 +6,12 @@ CONFIG=0A 	InstallPackage iscsitarget=0A 	=
HangTimeout 20=0A =0A-CASE-BLOCK tempvars=0A-	Var OCFT_disk=3D/var/run/re=
source-agents/ocft-iscsi=0A-	Var OCFT_target=3D"iqn.2011-03.ocft.localho=
st:disk0"=0A-	Var OCFT_portal=3D"127.0.0.1:3260"=0A-=0A-CASE-BLOCK =
required_args=0A-	Include tempvars=0A-	Var OCF_RESKEY_portal=3D$OC=
FT_portal=0A-	Var OCF_RESKEY_target=3D$OCFT_target=0A-=0A-SETUP-AGENT=0A+=
VARIABLE=0A 	OCFT_disk=3D/var/run/resource-agents/ocft-iscsi=0A 	=
OCFT_target=3D"iqn.2011-03.ocft.localhost:disk0"=0A 	OCFT_portal=3D"127.=
0.0.1:3260"=0A+=0A+SETUP-AGENT=0A 	dd if=3D/dev/zero of=3D$OCFT_disk =
bs=3D1024k count=3D1 2>/dev/null=0A 	echo Target $OCFT_target >> =
/etc/ietd.conf=0A 	echo "        Lun 0 Path=3D$OCFT_disk,Type=3Dfileio=
" >> /etc/ietd.conf=0A@@ -27,6 +19,14 @@ SETUP-AGENT=0A 	/etc/init.d=
/open-iscsi start=0A 	/etc/init.d/iscsitarget restart=0A =0A+CLEANUP-AGEN=
T=0A+	rm -f $OCFT_disk=0A+	sed -i "/^Target $OCFT_target/,+1d" =
/etc/ietd.conf=0A+=0A+CASE-BLOCK required_args=0A+	Env OCF_RESKEY_port=
al=3D$OCFT_portal=0A+	Env OCF_RESKEY_target=3D$OCFT_target=0A+=0A =
CASE-BLOCK default_status=0A 	AgentRun stop=0A =0A@@ -40,12 +40,12 @@ =
CASE "check base env"=0A =0A CASE "check base env: invalid 'OCF_RESKEY_port=
al'"=0A 	Include prepare=0A-	Unvar OCF_RESKEY_portal=0A+	=
Unenv OCF_RESKEY_portal=0A 	AgentRun start OCF_ERR_CONFIGURED=0A =0A =
CASE "check base env: unset 'OCF_RESKEY_target'"=0A 	Include prepare=0A-=
	Unvar OCF_RESKEY_target=0A+	Unenv OCF_RESKEY_target=0A 	=
AgentRun start OCF_ERR_CONFIGURED=0A =0A CASE "normal start"=0A@@ -79,8 =
+79,3 @@ CASE "unimplemented command"=0A 	Include prepare=0A 	=
AgentRun no_cmd OCF_ERR_UNIMPLEMENTED=0A =0A-CASE "meta-data and =
cleanup"=0A-	Include prepare=0A-	Bash rm -f $OCFT_disk=0A-	=
Bash sed -i "/^Target $OCFT_target/,+1d" /etc/ietd.conf=0A-	AgentRun =
meta-data OCF_SUCCESS=0Adiff --git a/tools/ocft/mysql b/tools/ocft/mysql=0A=
index 6cb5dff..f0b475e 100644=0A--- a/tools/ocft/mysql=0A+++ b/tools/ocft/m=
ysql=0A@@ -10,7 +10,7 @@ SETUP-AGENT=0A 	/etc/init.d/mysql stop=0A =
=0A CASE-BLOCK crm_setting=0A-	Var OCF_RESKEY_CRM_meta_timeout=3D15000=0A+=
	Env OCF_RESKEY_CRM_meta_timeout=3D15000=0A =0A CASE-BLOCK =
default_status=0A 	AgentRun stop=0A@@ -25,7 +25,7 @@ CASE "check base =
env"=0A =0A CASE "check base env: invalid 'OCF_RESKEY_binary'"=0A 	=
Include prepare=0A-	Var OCF_RESKEY_binary=3Dno_such=0A+	Env =
OCF_RESKEY_binary=3Dno_such=0A 	AgentRun start OCF_ERR_INSTALLED=0A =0A =
CASE "normal start"=0A@@ -67,10 +67,10 @@ CASE "unimplemented command"=0A =
=0A CASE "non-existent user"=0A 	Include prepare=0A-	Var =
OCF_RESKEY_user=3Dno_user=0A+	Env OCF_RESKEY_user=3Dno_user=0A 	=
AgentRun start OCF_ERR_INSTALLED=0A =0A CASE "invalid user"=0A 	Include =
prepare=0A-	Var OCF_RESKEY_user=3Dnobody=0A+	Env OCF_RESKEY_user=
=3Dnobody=0A 	AgentRun start OCF_ERR_PERM=0Adiff --git a/tools/ocft/named=
 b/tools/ocft/named=0Aindex 7785eba..c1f4624 100644=0A--- a/tools/ocft/name=
d=0A+++ b/tools/ocft/named=0A@@ -11,7 +11,7 @@ SETUP-AGENT=0A 	/etc/init.d=
/named stop=0A =0A CASE-BLOCK crm_setting=0A-        Var OCF_RESKEY_CRM_met=
a_timeout=3D15000=0A+        Env OCF_RESKEY_CRM_meta_timeout=3D15000=0A =
=0A CASE-BLOCK default_status=0A         AgentRun stop=0A@@ -26,7 +26,7 @@ =
CASE "check base env"=0A =0A CASE "check base env: invalid 'OCF_RESKEY_name=
d'"=0A         Include prepare=0A-        Var OCF_RESKEY_named=3Dno_such=0A=
+        Env OCF_RESKEY_named=3Dno_such=0A         AgentRun start =
OCF_ERR_INSTALLED=0A =0A CASE "normal start"=0A@@ -62,5 +62,5 @@ CASE =
"unimplemented command"=0A =0A CASE "non-existent user"=0A         Include =
prepare=0A-        Var OCF_RESKEY_named_user=3Dno_user=0A+        Env =
OCF_RESKEY_named_user=3Dno_user=0A         AgentRun start OCF_ERR_INSTALLED=
=0Adiff --git a/tools/ocft/nfsserver b/tools/ocft/nfsserver=0Aindex =
bd7d47b..2fa905f 100644=0A--- a/tools/ocft/nfsserver=0A+++ b/tools/ocft/nfs=
server=0A@@ -6,10 +6,10 @@ CONFIG=0A 	HangTimeout 20=0A =0A CASE-BLOCK =
required_args=0A-	Var OCF_RESKEY_nfs_init_script=3D/etc/init.d/nfsser=
ver=0A-	Var OCF_RESKEY_nfs_ip=3D127.0.0.1=0A-	Var OCF_RESKEY_nfs_shared_i=
nfodir=3D/var/lib/nfs=0A-	Var OCF_RESKEY_nfs_notify_cmd=3D/usr/sbin/s=
m-notify=0A+	Env OCF_RESKEY_nfs_init_script=3D/etc/init.d/nfsserver=0A+	=
Env OCF_RESKEY_nfs_ip=3D127.0.0.1=0A+	Env OCF_RESKEY_nfs_shared_infodir=
=3D/var/lib/nfs=0A+	Env OCF_RESKEY_nfs_notify_cmd=3D/usr/sbin/sm-notify=
=0A =0A CASE-BLOCK default_status=0A 	AgentRun stop=0A@@ -24,22 +24,22 =
@@ CASE "check base env"=0A =0A CASE "check base env: invalid 'OCF_RESKEY_n=
fs_init_script'"=0A 	Include prepare=0A-	Var OCF_RESKEY_nfs_init_scr=
ipt=3Dno_such_script=0A+	Env OCF_RESKEY_nfs_init_script=3Dno_such_sc=
ript=0A 	AgentRun start OCF_ERR_INSTALLED=0A =0A CASE "check base =
env: unset 'OCF_RESKEY_nfs_ip'"=0A 	Include prepare=0A-	Unvar =
OCF_RESKEY_nfs_ip=0A+	Unenv OCF_RESKEY_nfs_ip=0A 	AgentRun start =
OCF_ERR_CONFIGURED=0A =0A CASE "check base env: unset 'OCF_RESKEY_nfs_share=
d_infodir'"=0A 	Include prepare=0A-	Unvar OCF_RESKEY_nfs_shared_infodir=
=0A+	Unenv OCF_RESKEY_nfs_shared_infodir=0A 	AgentRun start OCF_ERR_CONF=
IGURED=0A =0A CASE "check base env: invalid 'OCF_RESKEY_nfs_notify_cmd'"=0A=
 	Include prepare=0A-	Var OCF_RESKEY_nfs_notify_cmd=3Dno_such_pro=
gram=0A+	Env OCF_RESKEY_nfs_notify_cmd=3Dno_such_program=0A 	=
AgentRun start OCF_ERR_INSTALLED=0A =0A CASE "normal start"=0Adiff --git =
a/tools/ocft/ocft.in b/tools/ocft/ocft.in=0Aindex c9e788e..c286b52 =
100644=0A--- a/tools/ocft/ocft.in=0A+++ b/tools/ocft/ocft.in=0A@@ -1,6 =
+1,6 @@=0A #!/bin/bash=0A =0A-# Copyright (c) 2010 Novell Inc, John =
Shi=0A+# Copyright (c) 2010-2011 Novell Inc, John Shi=0A #           All =
Rights Reserved.=0A #=0A # This program is free software; you can =
redistribute it and/or modify=0A@@ -121,9 +121,6 @@ preparse_cfg()=0A     =
die "${agent}: configuration file not found."=0A   fi=0A =0A-  rm -f =
$CASES_DIR/${agent}_macro.*=0A-  rm -f $CASES_DIR/${agent}.preparse=0A-=0A =
  line_num=3D0=0A   while read -r line; do=0A     let line_num++=0A@@ =
-162,16 +159,11 @@ preparse_cfg()=0A     esac=0A =0A     if [ -n "$macro" =
]; then=0A-      if ! touch "$macro"; then=0A-        die "No permission =
to create macro file: ${macro}."=0A-      fi=0A       echo "$line$num" =
>>"$macro"=0A     else=0A-      echo "$line$num" >>"$CASES_DIR/${agent}.pre=
parse"=0A+      echo "$line$num" >>"$CASES_DIR/${agent}_preparse"=0A     =
fi=0A   done <"$opt_cfgsdir/$agent"=0A-=0A-  rm -f $CASES_DIR/${agent}_macr=
o.*=0A }=0A =0A case_finish()=0A@@ -180,21 +172,35 @@ case_finish()=0A =0A =
  if [ -n "$sh" ]; then=0A     cat >>$sh <<EOF=0A-if [ -n "\$OCFT_VERBOSE" =
]; then=0A+if [ -n "\$__OCFT__VERBOSE" ]; then=0A   echo=0A fi=0A-# Clean =
up and exit=0A+# Cleanup and exit=0A EOF=0A     for host in $hosts; do=0A  =
     echo "backbash_stop $host" >>$sh=0A     done=0A     echo "quit 0" =
>>$sh=0A   fi=0A+=0A   atexit_num=3D0=0A   hosts=3D=0A   sh=3D=0A }=0A =
=0A+agent_finish()=0A+{=0A+  rm -f $CASES_DIR/${agent}_preparse=0A+  rm -f =
$CASES_DIR/${agent}_macro.*=0A+  rm -f $CASES_DIR/${agent}_setup=0A+  rm =
-f $CASES_DIR/${agent}_cleanup=0A+  rm -f $CASES_DIR/${agent}_var=0A+  rm =
-f $CASES_DIR/${agent}_hosts=0A+  cfg_agent_root=3D=0A+  cfg_install_packag=
e=3D()=0A+  cfg_hang_timeout=3D20=0A+}=0A+=0A parse_cfg()=0A {=0A   local =
agents i line stat sh trunk branch atexit_num host hosts=0A@@ -206,10 =
+212,11 @@ parse_cfg()=0A   fi=0A =0A   for agent in "${agents[@]}"; =
do=0A+    rm -f $CASES_DIR/*_${agent}.sh=0A+    agent_finish=0A+=0A     =
i=3D0=0A     agent=3D"$(basename "$agent")"=0A-    rm -f $CASES_DIR/*_${age=
nt}.sh=0A-    rm -f $CASES_DIR/${agent}_setup=0A =0A     echo "Making =
'$agent': "=0A     preparse_cfg "$agent"=0A@@ -225,16 +232,26 @@ parse_cfg(=
)=0A           stat=3D1=0A           continue=0A           ;;=0A-	=
SETUP-AGENT)=0A+        VARIABLE)=0A           case_finish=0A           =
stat=3D2=0A           continue=0A           ;;=0A+	SETUP-AGENT)=0A+   =
       case_finish=0A+          stat=3D3=0A+          continue=0A+         =
 ;;=0A+	CLEANUP-AGENT)=0A+          case_finish=0A+          stat=3D4=0A+  =
        continue=0A+          ;;=0A         CASE)=0A           case_finish=
=0A           trunk2branch=0A-          sh=3D"$CASES_DIR/${i}_${agent}.sh"=
=0A           echo "    - case ${i}: ${branch[0]}"=0A+          sh=3D"$CASE=
S_DIR/${i}_${agent}.sh"=0A           cat >$sh <<EOF=0A #!/bin/bash=0A =
=0A@@ -246,30 +263,22 @@ parse_cfg()=0A   exit 2=0A }=0A =0A-MYROOT=3D"$cfg=
_agent_root"=0A-EOF=0A-          if [ -n "$cfg_install_package" ]; =
then=0A-            cat >>$sh <<EOF=0A-agent_install ${cfg_install_package[=
@]}=0A-EOF=0A-          fi=0A-          if [ -r "$CASES_DIR/${agent}_setup"=
 ]; then=0A-            cat >>$sh <<EOF=0A-agent_setup $agent <<'CMD'=0A-$(=
cat "$CASES_DIR/${agent}_setup")=0A-CMD=0A-EOF=0A-          fi=0A-         =
 cat >>$sh <<EOF=0A-if [ -n "\$OCFT_VERBOSE" ]; then=0A+$(test -r =
$CASES_DIR/${agent}_var && cat $CASES_DIR/${agent}_var)=0A+=0A+__OCFT__MYRO=
OT=3D"$cfg_agent_root"=0A+=0A+$(test -n "$cfg_install_package" && echo =
"agent_install ${cfg_install_package[@]}")=0A+=0A+if [ -n "\$__OCFT__VERBOS=
E" ]; then=0A   echo -e $(add_quotes 1 "Starting '\\033[33m${agent}\\033[0m=
' case $i '\\033[33m${branch[0]}\\033[0m':")=0A else=0A   echo -n =
"'${agent}' case ${i}: "=0A fi=0A EOF=0A           chmod a+x $sh=0A+=0A    =
       let i++=0A-          stat=3D3=0A+          stat=3D5=0A           =
continue=0A           ;;=0A       esac=0A@@ -283,7 +292,7 @@ EOF=0A        =
       ;;=0A             InstallPackage)=0A               trunk2branch=0A- =
             cfg_install_package=3D("${branch[@]}")=0A+              =
cfg_install_package=3D(${cfg_install_package[@]} ${branch[@]})=0A          =
     ;;=0A             HangTimeout)=0A               trunk2branch=0A@@ =
-298,37 +307,39 @@ EOF=0A           esac=0A           ;;=0A         2)=0A- =
         echo "$line" >>$CASES_DIR/${agent}_setup=0A+          if echo =
"$line" | grep -q '^__OCFT__'; then=0A+            parse_die "reserved key =
word '__OCFT__'."=0A+          fi=0A+          echo "declare $line" =
>>$CASES_DIR/${agent}_var=0A           ;;=0A         3)=0A+          echo =
"$line" >>$CASES_DIR/${agent}_setup=0A+          ;;=0A+        4)=0A+      =
    echo "$line" >>$CASES_DIR/${agent}_cleanup=0A+          ;;=0A+        =
5)=0A           host=3D$(echo ${trunk[0]} | awk -F@ '{print $2}')=0A       =
    if [ -n "$host" ]; then=0A             if ! echo "$hosts" | grep -q =
"$host"; then=0A+              echo "$host" >>$CASES_DIR/${agent}_hosts=0A =
              hosts=3D$hosts$'\n'$host=0A               cat >>$sh <<EOF=0A =
# Initialize remote shell=0A backbash_start $host=0A backbash $host =
<<CMD=0A-OCFT_VERBOSE=3D\$OCFT_VERBOSE=0A-showhost=3D"${host}: "=0A+__OCFT_=
_VERBOSE=3D\$__OCFT__VERBOSE=0A CMD=0A backbash $host <$OCFT_DIR/caselib=0A=
 backbash $host <<'CMD'=0A-MYROOT=3D"$cfg_agent_root"=0A-EOF=0A-           =
   if [ -n "$cfg_install_package" ]; then=0A-                cat >>$sh =
<<EOF=0A-agent_install ${cfg_install_package[@]}=0A-EOF=0A-              =
fi=0A-              if [ -r "$CASES_DIR/${agent}_setup" ]; then=0A-        =
        cat >>$sh <<EOF=0A-agent_setup $agent <<'END'=0A-$(cat "$CASES_DIR/=
${agent}_setup")=0A-END=0A+__OCFT__showhost=3D"${host}: "=0A+__OCFT__MYROOT=
=3D"$cfg_agent_root"=0A+=0A+$(test -r $CASES_DIR/${agent}_var && cat =
$CASES_DIR/${agent}_var)=0A+=0A+$(test -n "$cfg_install_package" && echo =
"agent_install ${cfg_install_package[@]}")=0A+CMD=0A EOF=0A-              =
fi=0A-              echo "CMD" >>$sh=0A             fi=0A           fi=0A =
=0A@@ -340,19 +351,19 @@ EOF=0A           fi=0A =0A           case =
"${trunk[0]}" in=0A-            Var|Var@*)=0A+            Env|Env@*)=0A    =
           cat >>$sh <<EOF=0A-if [ -n "\$OCFT_VERBOSE" ]; then=0A-  echo =
$(add_quotes 2 "    \${showhost}Setting agent environment:    export =
${trunk[1]}")=0A+if [ -n "\$__OCFT__VERBOSE" ]; then=0A+  echo $(add_quotes=
 2 "    \${__OCFT__showhost}Setting agent environment:    export ${trunk[1]=
}")=0A fi=0A export ${trunk[1]}=0A check_success \$? $(add_quotes 1 =
"export ${trunk[1]}")=0A EOF=0A               ;;=0A-            Unvar|Unvar=
@*)=0A+            Unenv|Unenv@*)=0A               cat >>$sh <<EOF=0A-if [ =
-n "\$OCFT_VERBOSE" ]; then=0A-  echo $(add_quotes 2 "    \${showhost}Remov=
ing agent environment:   unset ${trunk[1]}")=0A+if [ -n "\$__OCFT__VERBOSE"=
 ]; then=0A+  echo $(add_quotes 2 "    \${__OCFT__showhost}Removing agent =
environment:   unset ${trunk[1]}")=0A fi=0A unset ${trunk[1]}=0A check_succ=
ess \$? $(add_quotes 1 "unset ${trunk[1]}")=0A@@ -364,43 +375,43 @@ EOF=0A =
                if [ "${branch[0]}" =3D "start" ]; then=0A                 =
  cat >>$sh <<EOF=0A agent_run $(add_quotes 1 "$agent") status $cfg_hang_ti=
meout=0A-rc=3D\$?=0A-if [ \$rc -eq \$OCF_ERR_UNIMPLEMENTED ]; then=0A+__OCF=
T__rc=3D\$?=0A+if [ \$__OCFT__rc -eq \$OCF_ERR_UNIMPLEMENTED ]; then=0A   =
agent_run $(add_quotes 1 "$agent") monitor $cfg_hang_timeout=0A-  =
rc=3D\$?=0A+  __OCFT__rc=3D\$?=0A fi=0A =0A-if [ \$rc -eq \$OCF_SUCCESS ]; =
then=0A+if [ \$__OCFT__rc -eq \$OCF_SUCCESS ]; then=0A   : #The status I =
want, so I can do nothing.=0A-elif [ \$rc -eq \$OCF_NOT_RUNNING ]; =
then=0A-  if [ -n "\$OCFT_VERBOSE" ]; then=0A-    echo $(add_quotes 2 "    =
\${showhost}Running agent:                ./$agent start")=0A+elif [ =
\$__OCFT__rc -eq \$OCF_NOT_RUNNING ]; then=0A+  if [ -n "\$__OCFT__VERBOSE"=
 ]; then=0A+    echo $(add_quotes 2 "    \${__OCFT__showhost}Running =
agent:                ./$agent start")=0A   fi=0A   agent_run $(add_quotes =
1 "$agent") start $cfg_hang_timeout=0A   check_success \$? $(add_quotes 1 =
"./$agent start")=0A else=0A-  check_success \$rc $(add_quotes 1 "./$agent =
status|monitor")=0A+  check_success \$__OCFT__rc $(add_quotes 1 "./$agent =
status|monitor")=0A fi=0A EOF=0A                 elif [ "${branch[0]}" =3D =
"stop" ]; then=0A                   cat >>$sh <<EOF=0A agent_run $(add_quot=
es 1 "$agent") status $cfg_hang_timeout=0A-rc=3D\$?=0A-if [ \$rc -eq =
\$OCF_ERR_UNIMPLEMENTED ]; then=0A+__OCFT__rc=3D\$?=0A+if [ \$__OCFT__rc =
-eq \$OCF_ERR_UNIMPLEMENTED ]; then=0A   agent_run $(add_quotes 1 =
"$agent") monitor $cfg_hang_timeout=0A-  rc=3D\$?=0A+  __OCFT__rc=3D\$?=0A =
fi=0A =0A-if [ \$rc -eq \$OCF_NOT_RUNNING ]; then=0A+if [ \$__OCFT__rc -eq =
\$OCF_NOT_RUNNING ]; then=0A   : #The status I want, so I can do =
nothing.=0A-elif [ \$rc -eq \$OCF_SUCCESS ]; then=0A-  if [ -n "\$OCFT_VERB=
OSE" ]; then=0A-    echo $(add_quotes 2 "    \${showhost}Running agent:    =
            ./$agent stop")=0A+elif [ \$__OCFT__rc -eq \$OCF_SUCCESS ]; =
then=0A+  if [ -n "\$__OCFT__VERBOSE" ]; then=0A+    echo $(add_quotes 2 " =
   \${__OCFT__showhost}Running agent:                ./$agent stop")=0A   =
fi=0A   agent_run $(add_quotes 1 "$agent") stop $cfg_hang_timeout=0A   =
check_success \$? $(add_quotes 1 "./$agent stop")=0A else=0A-  check_succes=
s \$rc $(add_quotes 1 "./$agent status|monitor")=0A+  check_success =
\$__OCFT__rc $(add_quotes 1 "./$agent status|monitor")=0A fi=0A EOF=0A     =
            elif [ "${branch[0]}" =3D "status" -o "${branch[0]}" =3D =
"monitor" ]; then=0A@@ -417,30 +428,30 @@ EOF=0A                 cat >>$sh =
<<EOF=0A test -n $(add_quotes 2 "\$${branch[1]}")=0A check_success \$? =
$(add_quotes 1 "test -n \"\$${branch[1]}\"")=0A-if [ -n "\$OCFT_VERBOSE" =
]; then=0A-  echo $(add_quotes 2 "    \${showhost}Running agent:           =
     ./$agent ${branch[0]}")=0A+if [ -n "\$__OCFT__VERBOSE" ]; then=0A+  =
echo $(add_quotes 2 "    \${__OCFT__showhost}Running agent:                =
./$agent ${branch[0]}")=0A fi=0A agent_run $(add_quotes 1 "$agent") =
$(add_quotes 1 "${branch[0]}") $cfg_hang_timeout=0A-ret=3D\$?=0A-if [ -n =
"\$OCFT_VERBOSE" ]; then=0A-  echo -n "    \${showhost}Checking return =
value:"=0A+__OCFT__ret=3D\$?=0A+if [ -n "\$__OCFT__VERBOSE" ]; then=0A+  =
echo -n "    \${__OCFT__showhost}Checking return value:"=0A fi=0A-if [ -n =
"\${retval[ret]}" ]; then=0A-  retstr=3D"\${retval[ret]}"=0A+if [ -n =
"\${__OCFT__retval[__OCFT__ret]}" ]; then=0A+  __OCFT__retstr=3D"\${__OCFT_=
_retval[__OCFT__ret]}"=0A else=0A-  retstr=3D\$ret=0A+  __OCFT__retstr=3D\$=
__OCFT__ret=0A fi=0A-if [ \$ret -eq \$${branch[1]} ]; then=0A-  if [ -n =
"\$OCFT_VERBOSE" ]; then=0A-    echo -e $(add_quotes 2 "        \\033[32mOK=
\\033[0m. The return value '\\033[34m\$retstr\\033[0m' =3D=3D '\\033[34m${b=
ranch[1]}\\033[0m'")=0A+if [ \$__OCFT__ret -eq \$${branch[1]} ]; then=0A+  =
if [ -n "\$__OCFT__VERBOSE" ]; then=0A+    echo -e $(add_quotes 2 "        =
\\033[32mOK\\033[0m. The return value '\\033[34m\$__OCFT__retstr\\033[0m' =
=3D=3D '\\033[34m${branch[1]}\\033[0m'")=0A   else=0A     echo -e =
"\t\\033[32mOK\\033[0m."=0A   fi=0A else=0A-  if [ -n "\$OCFT_VERBOSE" ]; =
then=0A-    echo -en $(add_quotes 2 "        \\033[31mFAILED\\033[0m. The =
return value '\\033[34m\$retstr\\033[0m' !=3D '\\033[34m${branch[1]}\\033[0=
m'. ")=0A+  if [ -n "\$__OCFT__VERBOSE" ]; then=0A+    echo -en $(add_quote=
s 2 "        \\033[31mFAILED\\033[0m. The return value '\\033[34m\$__OCFT__=
retstr\\033[0m' !=3D '\\033[34m${branch[1]}\\033[0m'. ")=0A   else=0A-    =
echo -en "\t\\033[31mFAILED\\033[0m. Agent returns unexpected value: =
'\$retstr'. "=0A+    echo -en "\t\\033[31mFAILED\\033[0m. Agent returns =
unexpected value: '\$__OCFT__retstr'. "=0A   fi=0A   echo "See details =
below:"=0A   cat /tmp/.ocft_runlog=0A@@ -452,10 +463,10 @@ EOF=0A          =
     ;;=0A             Bash|Bash@*)=0A               cat >>$sh <<EOF=0A-if =
[ -n "\$OCFT_VERBOSE" ]; then=0A-  echo $(add_quotes 2 "    \${showhost}Set=
ting system environment:   ${trunk[1]}")=0A+if [ -n "\$__OCFT__VERBOSE" ]; =
then=0A+  echo $(add_quotes 2 "    \${__OCFT__showhost}Setting system =
environment:   ${trunk[1]}")=0A fi=0A-echo $(add_quotes 1 "${trunk[1]}") | =
/bin/bash=0A+${trunk[1]}=0A check_success \$? $(add_quotes 1 "${trunk[1]}")=
=0A EOF=0A               ;;=0A@@ -464,12 +475,12 @@ EOF=0A               =
cat >>$sh <<EOF=0A atexit${atexit_num}()=0A {=0A-  if [ -n "\$OCFT_VERBOSE"=
 ]; then=0A-    echo $(add_quotes 2 "    \${showhost}Setting system =
environment:   ${trunk[1]}")=0A+  if [ -n "\$__OCFT__VERBOSE" ]; then=0A+  =
  echo $(add_quotes 2 "    \${__OCFT__showhost}Setting system environment: =
  ${trunk[1]}")=0A   fi=0A-  echo $(add_quotes 1 "${trunk[1]}") | =
/bin/bash=0A+  ${trunk[1]}=0A }=0A-let atexit_num++=0A+let __OCFT__atexit_n=
um++=0A EOF=0A               ;;=0A             *)=0A@@ -484,22 +495,120 @@ =
EOF=0A           parse_die "unimplemented statement: ${trunk[0]}"=0A       =
    ;;=0A       esac=0A-    done <$CASES_DIR/${agent}.preparse=0A-    rm =
-f $CASES_DIR/${agent}.preparse=0A-    rm -f $CASES_DIR/${agent}_setup=0A+ =
   done <$CASES_DIR/${agent}_preparse=0A+=0A+    if [ -r "$CASES_DIR/${agen=
t}_setup" ]; then=0A+      cat >$CASES_DIR/setup_${agent}.sh <<EOF=0A+#!/bi=
n/bash=0A+=0A+# Agent:   $agent=0A+# Summary: SETUP before test=0A+=0A+echo=
 "Initializing '$agent' ..."=0A+=0A+. $OCFT_DIR/caselib || {=0A+  echo =
"ERROR: '$OCFT_DIR/caselib' not found."=0A+  exit 2=0A+}=0A+=0A+$(test -r =
"$CASES_DIR/${agent}_var" && cat $CASES_DIR/${agent}_var)=0A+$(test -n =
"$cfg_install_package" && echo "agent_install ${cfg_install_package[@]}")=
=0A+=0A+$(cat $CASES_DIR/${agent}_setup)=0A+check_success \$? "SETUP-AGENT"=
=0A+=0A+EOF=0A+      for host in $(test -r $CASES_DIR/${agent}_hosts && =
cat $CASES_DIR/${agent}_hosts); do=0A+        cat >>$CASES_DIR/setup_${agen=
t}.sh <<EOF=0A+# Initialize remote shell=0A+backbash_start $host=0A+backbas=
h $host <<CMD=0A+__OCFT__VERBOSE=3D\$__OCFT__VERBOSE=0A+CMD=0A+backbash =
$host <$OCFT_DIR/caselib=0A+backbash $host <<'CMD'=0A+__OCFT__MYROOT=3D"$cf=
g_agent_root"=0A+__OCFT__showhost=3D"${host}: "=0A+$(test -r "$CASES_DIR/${=
agent}_var" && cat $CASES_DIR/${agent}_var)=0A+$(test -n "$cfg_install_pack=
age" && echo "agent_install ${cfg_install_package[@]}")=0A+=0A+$(cat =
$CASES_DIR/${agent}_setup)=0A+check_success \$? "SETUP-AGENT"=0A+CMD=0A+bac=
kbash_stop $host =0A+EOF=0A+      done=0A+      cat >>$CASES_DIR/setup_${ag=
ent}.sh <<EOF=0A+echo "Done."=0A+echo=0A+quit 0=0A+EOF=0A+      chmod a+x =
$CASES_DIR/setup_${agent}.sh=0A+    fi=0A+=0A+    if [ -r "$CASES_DIR/${age=
nt}_cleanup" ]; then=0A+      cat >$CASES_DIR/cleanup_${agent}.sh =
<<EOF=0A+#!/bin/bash=0A+=0A+# Agent:   $agent=0A+# Summary: CLEANUP after =
test=0A+=0A+echo "Cleaning '$agent' ..."=0A+=0A+. $OCFT_DIR/caselib || =
{=0A+  echo "ERROR: '$OCFT_DIR/caselib' not found."=0A+  exit 2=0A+}=0A+=0A=
+$(test -r "$CASES_DIR/${agent}_var" && cat $CASES_DIR/${agent}_var)=0A+$(t=
est -n "$cfg_install_package" && echo "agent_install ${cfg_install_package[=
@]}")=0A+=0A+$(cat $CASES_DIR/${agent}_cleanup)=0A+check_success \$? =
"CLEANUP-AGENT"=0A+=0A+EOF=0A+      for host in $(test -r $CASES_DIR/${agen=
t}_hosts && cat $CASES_DIR/${agent}_hosts); do=0A+        cat >>$CASES_DIR/=
cleanup_${agent}.sh <<EOF=0A+# Initialize remote shell=0A+backbash_start =
$host=0A+backbash $host <<CMD=0A+__OCFT__VERBOSE=3D\$__OCFT__VERBOSE=0A+CMD=
=0A+backbash $host <$OCFT_DIR/caselib=0A+backbash $host <<'CMD'=0A+__OCFT__=
MYROOT=3D"$cfg_agent_root"=0A+__OCFT__showhost=3D"${host}: "=0A+$(test -r =
"$CASES_DIR/${agent}_var" && cat $CASES_DIR/${agent}_var)=0A+$(test -n =
"$cfg_install_package" && echo "agent_install ${cfg_install_package[@]}")=
=0A+=0A+$(cat $CASES_DIR/${agent}_cleanup)=0A+check_success \$? "CLEANUP-AG=
ENT"=0A+CMD=0A+backbash_stop $host =0A+EOF=0A+      done=0A+      cat =
>>$CASES_DIR/cleanup_${agent}.sh <<EOF=0A+echo "Done."=0A+echo=0A+quit =
0=0A+EOF=0A+      chmod a+x $CASES_DIR/cleanup_${agent}.sh=0A+    fi=0A    =
 case_finish=0A+    agent_finish=0A+=0A   done=0A }=0A =0A start_test()=0A =
{=0A-  local sh shs agents line ret=0A+  local sh shs testsh agents line =
ret=0A =0A   if ! cd $CASES_DIR >/dev/null 2>&1; then=0A     die "cases =
directory not found."=0A   fi=0A =0A-  export OCFT_VERBOSE=3D$opt_verbose=
=0A+  export __OCFT__VERBOSE=3D$opt_verbose=0A =0A   if [ $# -eq 0 ]; =
then=0A     agents=3D($(ls -1 *.sh 2>/dev/null | sed 's/.*_\([^_]*\)\.sh$/\=
1/' | sort | uniq))=0A@@ -508,18 +617,23 @@ start_test()=0A   fi=0A =0A   =
for shs in "${agents[@]}"; do=0A-    for sh in $(ls -1 *_${shs}.sh =
2>/dev/null | sort -n); do=0A-      ./$sh=0A-      ret=3D$?=0A-      if [ =
$ret -eq 3 ]; then=0A-        die "core function failed, break all =
tests."=0A-      fi=0A-      if [ $ret -eq 2 ]; then=0A-        warn "core =
function failed, break all tests of '$shs'."=0A-        break=0A+    =
testsh=3D"setup_${shs}.sh=0A+$(ls -1 [0-9]*_${shs}.sh 2>/dev/null | sort =
-n)=0A+cleanup_${shs}.sh"=0A+    for sh in $testsh; do=0A+      if [ -r =
"$sh" ]; then=0A+        ./$sh=0A+        ret=3D$?=0A+        if [ $ret =
-eq 3 ]; then=0A+          die "core function failed, break all tests."=0A+=
        fi=0A+        if [ $ret -eq 2 ]; then=0A+          warn "core =
function failed, break all tests of '$shs'."=0A+          break=0A+        =
fi=0A       fi=0A     done=0A-  done | while read -r line; do=0A+  done =
2>&1 | while read -r line; do=0A     echo "$line"=0A     echo "$(date '+%F =
%T'): $line" | cat -A |=0A     sed -r 's/\^\[\[[0-9]+m|\^I|.$//g' =
>>ocft.log=0A@@ -552,7 +666,7 @@ ACTIONs include:=0A      clean           =
Delete the testing shell scripts.=0A      help [-v]       Show this help =
and exit.=0A                        -v  Show HOWTO and exit.=0A-Version =
0.42=0A+Version 0.43=0A See '$OCFT_DIR/README' for detail.=0A EOF=0A =
}=0A@@ -571,7 +685,7 @@ HOW TO USE THIS TOOL=0A     Hence it is useful to =
debuggers.=0A =0A * Components=0A-    ** Test case generator (@sbindir@/ocf=
t)=0A+    ** Test case generator (/usr/sbin/ocft)=0A       - Turning =
configuration files of test case to executable scripts.=0A =0A     ** =
Configuration file  ($CONFIGS_DIR/)=0A@@ -616,7 +730,7 @@ line_num=3D=0A =
=0A # default configuration=0A cfg_agent_root=3D=0A-cfg_install_package=3D=
=0A+cfg_install_package=3D()=0A cfg_hang_timeout=3D20=0A =0A # default =
option=0Adiff --git a/tools/ocft/pgsql b/tools/ocft/pgsql=0Aindex =
7bcfda4..859b82e 100644=0A--- a/tools/ocft/pgsql=0A+++ b/tools/ocft/pgsql=
=0A@@ -10,7 +10,7 @@ SETUP-AGENT=0A 	/etc/init.d/postgresql stop=0A =0A =
CASE-BLOCK crm_setting=0A-        Var OCF_RESKEY_CRM_meta_timeout=3D15000=
=0A+        Env OCF_RESKEY_CRM_meta_timeout=3D15000=0A =0A CASE-BLOCK =
default_status=0A         AgentRun stop=0A@@ -25,7 +25,7 @@ CASE "check =
base env"=0A =0A CASE "check base env: invalid 'OCF_RESKEY_pgctl'"=0A 	=
Include prepare=0A-	Var OCF_RESKEY_pgctl=3Dno_such=0A+	Env =
OCF_RESKEY_pgctl=3Dno_such=0A 	AgentRun start OCF_ERR_INSTALLED=0A =0A =
CASE "normal start"=0A@@ -61,10 +61,10 @@ CASE "unimplemented command"=0A =
=0A CASE "non-existent user"=0A 	Include prepare=0A-	Var =
OCF_RESKEY_pgdba=3Dno_user=0A+	Env OCF_RESKEY_pgdba=3Dno_user=0A 	=
AgentRun start OCF_ERR_INSTALLED=0A =0A CASE "invalid user"=0A 	Include =
prepare=0A-	Var OCF_RESKEY_pgdba=3Dnobody=0A+	Env OCF_RESKEY_pgdb=
a=3Dnobody=0A 	AgentRun start OCF_ERR_PERM=0Adiff --git a/tools/ocft/portb=
lock b/tools/ocft/portblock=0Aindex b10046b..57794fe 100644=0A--- =
a/tools/ocft/portblock=0A+++ b/tools/ocft/portblock=0A@@ -6,9 +6,9 @@ =
CONFIG=0A 	HangTimeout 15=0A =0A CASE-BLOCK required_args=0A-	=
Var OCF_RESKEY_protocol=3Dtcp=0A-	Var OCF_RESKEY_portno=3D80=0A-	=
Var OCF_RESKEY_action=3Dblock=0A+	Env OCF_RESKEY_protocol=3Dtcp=0A+	=
Env OCF_RESKEY_portno=3D80=0A+	Env OCF_RESKEY_action=3Dblock=0A =0A =
CASE-BLOCK default_status=0A 	AgentRun stop=0A@@ -23,17 +23,17 @@ CASE =
"check base env"=0A =0A CASE "check base env: unset 'OCF_RESKEY_protocol'"=
=0A 	Include prepare=0A-	Unvar OCF_RESKEY_protocol=0A+	Unenv =
OCF_RESKEY_protocol=0A 	AgentRun start OCF_ERR_CONFIGURED=0A =0A CASE =
"check base env: unset 'OCF_RESKEY_portno'"=0A 	Include prepare=0A-	=
Unvar OCF_RESKEY_portno=0A+	Unenv OCF_RESKEY_portno=0A 	AgentRun =
start OCF_ERR_CONFIGURED=0A =0A CASE "check base env: unset 'OCF_RESKEY_act=
ion'"=0A 	Include prepare=0A-	Unvar OCF_RESKEY_action=0A+	=
Unenv OCF_RESKEY_action=0A 	AgentRun start OCF_ERR_CONFIGURED=0A =0A =
CASE "normal start"=0Adiff --git a/tools/ocft/postfix b/tools/ocft/postfix=
=0Aindex 0167bb4..2d897c9 100644=0A--- a/tools/ocft/postfix=0A+++ =
b/tools/ocft/postfix=0A@@ -20,8 +20,8 @@ SETUP-AGENT=0A 	# =
nothing=0A =0A CASE-BLOCK crm_setting=0A-	Var OCF_RESKEY_CRM_meta_tim=
eout=3D15000=0A-	Var OCF_RESKEY_CRM_meta_interval=3D10000=0A+	=
Env OCF_RESKEY_CRM_meta_timeout=3D15000=0A+	Env OCF_RESKEY_CRM_meta_int=
erval=3D10000=0A =0A CASE-BLOCK default_status=0A 	AgentRun stop=0A@@ =
-36,29 +36,29 @@ CASE "check base env"=0A =0A CASE "check base env: =
invalid 'OCF_RESKEY_binary'"=0A 	Include prepare=0A-	Var =
OCF_RESKEY_binary=3Dno_such=0A+	Env OCF_RESKEY_binary=3Dno_such=0A 	=
AgentRun start OCF_ERR_INSTALLED=0A =0A CASE "check base env: invalid =
'OCF_RESKEY_config_dir'"=0A 	Include prepare=0A-	Var OCF_RESKEY_conf=
ig_dir=3Dno_such=0A+	Env OCF_RESKEY_config_dir=3Dno_such=0A 	AgentRun =
start OCF_ERR_INSTALLED=0A =0A CASE "check base env: 'OCF_RESKEY_binary'"=
=0A 	Include prepare=0A-	Var OCF_RESKEY_binary=3D/usr/sbin/postfix=
=0A+	Env OCF_RESKEY_binary=3D/usr/sbin/postfix=0A 	AgentRun start=0A 	=
AgentRun monitor OCF_SUCCESS=0A =0A CASE "check base env: 'OCF_RESKEY_confi=
g_dir' without trailing slash"=0A 	Include prepare=0A-	Var =
OCF_RESKEY_config_dir=3D"/etc/postfix"=0A+	Env OCF_RESKEY_config_dir=
=3D"/etc/postfix"=0A 	AgentRun start=0A 	AgentRun monitor OCF_SUCCES=
S=0A =0A CASE "check base env: 'OCF_RESKEY_config_dir' with trailing =
slash"=0A 	Include prepare=0A-	Var OCF_RESKEY_config_dir=3D"/etc/p=
ostfix/"=0A+	Env OCF_RESKEY_config_dir=3D"/etc/postfix/"=0A 	AgentRun =
start=0A 	AgentRun monitor OCF_SUCCESS=0A =0A@@ -87,12 +87,12 @@ =
CASE "monitor a running resource"=0A =0A CASE "(initial) probe a stopped =
resource"=0A 	Include prepare=0A-	Var OCF_RESKEY_CRM_meta_interval=3D=
0=0A+	Env OCF_RESKEY_CRM_meta_interval=3D0=0A 	AgentRun monitor =
OCF_NOT_RUNNING=0A =0A CASE "(re-)probe a running resource"=0A 	Include =
prepare=0A-	Var OCF_RESKEY_CRM_meta_interval=3D0=0A+	Env =
OCF_RESKEY_CRM_meta_interval=3D0=0A 	AgentRun start=0A 	AgentRun =
monitor OCF_SUCCESS=0A =0A-- =0A1.6.4.2=0A=0A
--=__Part755A8467.0__=--


More information about the ha-wg-technical mailing list