# LVM
# by dejan@suse.de on 
# Wed Feb 16 13:15:01 CET 2011

CONFIG
	Agent LVM
	AgentRoot /usr/lib/ocf/resource.d/heartbeat
	HangTimeout 20

VARIABLE
	OCFT_pv=/var/run/resource-agents/ocft-LVM-pv
	OCFT_vg=ocft-vg
	OCFT_lv=ocft-lv
	OCFT_loop=/dev/loop7

SETUP-AGENT
	losetup $OCFT_loop 2>/dev/null && exit 1
	dd if=/dev/zero of=$OCFT_pv bs=1 count=0 seek=16M 2>/dev/null
	losetup $OCFT_loop $OCFT_pv
	pvcreate $OCFT_loop
	vgcreate -s 4K $OCFT_vg $OCFT_loop
	lvcreate -n $OCFT_lv -L 600K $OCFT_vg

CLEANUP-AGENT
	vgchange -an $OCFT_vg
	lvremove -f /dev/$OCFT_vg/$OCFT_lv
	vgremove -f $OCFT_vg
	pvremove $OCFT_loop
	losetup -d $OCFT_loop
	rm $OCFT_pv

CASE-BLOCK required_args
	Env OCF_RESKEY_volgrpname=$OCFT_vg

CASE-BLOCK default_status
	AgentRun stop

CASE-BLOCK prepare
	Include required_args
	Include default_status

CASE "check base env"
	Include prepare
	AgentRun start OCF_SUCCESS

CASE "check base env: invalid 'OCF_RESKEY_volgrpname'"
	Include prepare
	Env OCF_RESKEY_volgrpname=/dev/no_such_device
	AgentRun start OCF_ERR_GENERIC

CASE "check base env: unset 'OCF_RESKEY_volgrpname'"
	Include prepare
	Unenv OCF_RESKEY_volgrpname
	AgentRun start OCF_ERR_CONFIGURED

CASE "normal start"
	Include prepare
	AgentRun start OCF_SUCCESS

CASE "normal stop"
	Include prepare
	AgentRun start
	AgentRun stop OCF_SUCCESS

CASE "double start"
	Include prepare
	AgentRun start
	AgentRun start OCF_SUCCESS

CASE "double stop"
	Include prepare
	AgentRun stop OCF_SUCCESS

CASE "monitor when running"
	Include prepare
	AgentRun start
	AgentRun monitor OCF_SUCCESS

CASE "monitor when not running"
	Include prepare
	AgentRun monitor OCF_NOT_RUNNING

CASE "unimplemented command"
	Include prepare
	AgentRun no_cmd OCF_ERR_UNIMPLEMENTED

