diff --git a/heartbeat/varnish b/heartbeat/varnish
index 7a4d59899..d59115be4 100755
--- a/heartbeat/varnish
+++ b/heartbeat/varnish
@@ -1,416 +1,406 @@
 #!/bin/sh
 #
 #
 # Varnish
 #
 # Description:  Manage varnish instances as a HA resource
 #
 # Author:       Léon Keijser <keijser@stone-it.com>
 #
 # License:      GNU General Public License (GPL)
 #
 # See usage() for more details
 #
 # OCF instance parameters:
 #   OCF_RESKEY_pid
 #   OCF_RESKEY_binary
 #   OCF_RESKEY_client_binary
 #   OCF_RESKEY_config
 #   OCF_RESKEY_instance_name
 #   OCF_RESKEY_listen_address
 #   OCF_RESKEY_mgmt_address
 #   OCF_RESKEY_ttl
 #   OCF_RESKEY_varnish_user
 #   OCF_RESKEY_varnish_group
 #   OCF_RESKEY_backend_type
 #   OCF_RESKEY_backend_size
 #   OCF_RESKEY_backend_file
 #   OCF_RESKEY_worker_threads
 #
 #######################################################################
 # Initialization:
 : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat}
 . ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs
 
 #######################################################################
 # Set default paramenter values
 
 OCF_RESKEY_binary_default=varnishd
 OCF_RESKEY_client_binary_default=varnishadm
-OCF_RESKEY_config_default=/etc/varnish/default.vcl
-OCF_RESKEY_instance_name_default=myinstance
 OCF_RESKEY_pid_default=/var/run/varnishd_${OCF_RESKEY_instance_name}.pid
-OCF_RESKEY_listen_address_default=127.0.0.1:8080
-OCF_RESKEY_mgmt_address_default=127.0.0.1:2222
 OCF_RESKEY_ttl_default=600
 OCF_RESKEY_varnish_user_default=varnish
 OCF_RESKEY_varnish_group_default=varnish
-OCF_RESKEY_backend_type_default=malloc
 OCF_RESKEY_backend_size_default=1G
 OCF_RESKEY_backend_file_default=/var/lib/varnish/${OCF_RESKEY_instance_name_default}.bin
 OCF_RESKEY_worker_threads_default=100,3000,120
 
 
 : ${OCF_RESKEY_binary=${OCF_RESKEY_binary_default}}
 : ${OCF_RESKEY_client_binary=${OCF_RESKEY_client_binary_default}}
-: ${OCF_RESKEY_config=${OCF_RESKEY_config_default}}
-: ${OCF_RESKEY_instance_name=${OCF_RESKEY_instance_name_default}}
 : ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}}
-: ${OCF_RESKEY_listen_address=${OCF_RESKEY_listen_address_default}}
-: ${OCF_RESKEY_mgmt_address=${OCF_RESKEY_mgmt_address_default}}
 : ${OCF_RESKEY_ttl=${OCF_RESKEY_ttl_default}}
 : ${OCF_RESKEY_varnish_user=${OCF_RESKEY_varnish_user_default}}
 : ${OCF_RESKEY_varnish_group=${OCF_RESKEY_varnish_group_default}}
-: ${OCF_RESKEY_backend_type=${OCF_RESKEY_backend_type_default}}
 : ${OCF_RESKEY_backend_size=${OCF_RESKEY_backend_size_default}}
 : ${OCF_RESKEY_backend_file=${OCF_RESKEY_backend_file_default}}
 : ${OCF_RESKEY_worker_threads=${OCF_RESKEY_worker_threads_default}}
 
 
 meta_data() {
 	cat <<END
 <?xml version="1.0"?>
 <!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
 <resource-agent name="varnish" version="0.1">
 <version>1.0</version>
 
 <longdesc lang="en">
 The Varnish Resource Agent can manage several varnishd
 instances throughout the cluster. It does so by creating
 a unique PID file and requires a unique listen address 
 and name for each instance.
 </longdesc>
 <shortdesc lang="en">Manage a Varnish instance</shortdesc>
 
 <parameters>
 
 <parameter name="config" unique="1" required="1">
 <longdesc lang="en">
 The VCL configuration file that varnish should manage, for example
 "/etc/varnish/default.vcl".
 </longdesc>
 <shortdesc lang="en">VCL file</shortdesc>
-<content type="string" default="${OCF_RESKEY_config_default}" />
+<content type="string" default="" />
 </parameter>
 
 <parameter name="instance_name" unique="1" required="1">
 <longdesc lang="en">
 The name of the instance that should be given to varnish
 </longdesc>
 <shortdesc lang="en">Instance name</shortdesc>
-<content type="string" default="${OCF_RESKEY_instance_name_default}" />
+<content type="string" default="" />
 </parameter>
 
 <parameter name="pid" unique="1" required="0">
 <longdesc lang="en">
 Write the process's PID to the specified file.
 The default will include the specified instance_name, ie.:
 "/var/run/varnish_production.pid". Unlike what this help message shows.
 It is most likely not necessary to change this parameter.
 </longdesc>
 <shortdesc lang="en">Listen address</shortdesc>
 <content type="string" default="${OCF_RESKEY_pid_default}" />
 </parameter>
 
 <parameter name="listen_address" unique="1" required="1">
 <longdesc lang="en">
 Listen on this address:port, for example "192.168.1.1:80"
 </longdesc>
 <shortdesc lang="en">Listen address</shortdesc>
-<content type="string" default="${OCF_RESKEY_listen_address_default}" />
+<content type="string" default="" />
 </parameter>
 
 <parameter name="mgmt_address" unique="1" required="1">
 <longdesc lang="en">
 Provide a management interface, for example "127.0.0.1:2222"
 </longdesc>
 <shortdesc lang="en">Management interface</shortdesc>
-<content type="string" default="${OCF_RESKEY_mgmt_address_default}" />
+<content type="string" default="" />
 </parameter>
 
 <parameter name="ttl" unique="0" required="0">
 <longdesc lang="en">
 Specifies a hard minimum time to live for cached documents.
 </longdesc>
 <shortdesc lang="en">TTL</shortdesc>
 <content type="integer" default="${OCF_RESKEY_ttl_default}" />
 </parameter>
 
 <parameter name="varnish_user" unique="0" required="0">
 <longdesc lang="en">
 Specifies the name of an unprivileged user to which the 
 child process should switch before it starts accepting 
 connections.
 </longdesc>
 <shortdesc lang="en">Unprivileged user</shortdesc>
 <content type="string" default="${OCF_RESKEY_varnish_user_default}" />
 </parameter>
 
 <parameter name="varnish_group" unique="0" required="0">
 <longdesc lang="en">
 Specifies  the  name  of an unprivileged group to which 
 the child process should switch before it starts accepting 
 connections.
 </longdesc>
 <shortdesc lang="en">Unprivileged group</shortdesc>
 <content type="string" default="${OCF_RESKEY_varnish_group_default}" />
 </parameter>
 
 <parameter name="backend_type" unique="0" required="1">
 <longdesc lang="en">
 Use the specified storage backend. Valid options are
 'malloc' for memory and 'file' for a file backend.
 </longdesc>
 <shortdesc lang="en">Backend type</shortdesc>
-<content type="string" default="${OCF_RESKEY_backend_type_default}" />
+<content type="string" default="" />
 </parameter>
 
 <parameter name="backend_size" unique="0" required="0">
 <longdesc lang="en">
 Specify the size of the backend. For example "1G".
 </longdesc>
 <shortdesc lang="en">Backend size</shortdesc>
 <content type="string" default="${OCF_RESKEY_backend_size_default}" />
 </parameter>
 
 <parameter name="backend_file" unique="1" required="0">
 <longdesc lang="en">
 Specify the backend filename if you use backend_type file. 
 For example /var/lib/varnish/mybackend.bin
 </longdesc>
 <shortdesc lang="en">Backend file</shortdesc>
 <content type="string" default="${OCF_RESKEY_backend_file_default}" />
 </parameter>
 
 <parameter name="worker_threads" unique="0" required="0">
 <longdesc lang="en">
 Start  at  least  min but no more than max worker 
 threads with the specified idle timeout.
 
 Syntax: min[,max[,timeout]]
 For example: 100,3000,120
 </longdesc>
 <shortdesc lang="en">Worker threads</shortdesc>
 <content type="string" default="${OCF_RESKEY_worker_threads_default}" />
 </parameter>
 
 <parameter name="client_binary" unique="0" required="0">
 <longdesc lang="en">
 This is used to control varnish via a CLI. It's currently
 only used to check the status of the running child process.
 </longdesc>
 <shortdesc lang="en">Varnish admin utility</shortdesc>
 <content type="string" default="${OCF_RESKEY_client_binary_default}" />
 </parameter>
 
 </parameters>
 
 <actions>
 <action name="start"        timeout="20" />
 <action name="stop"         timeout="20" />
 <action name="monitor"      timeout="20" interval="10" depth="0" />
 <action name="status"       timeout="20" />
 <action name="meta-data"    timeout="5" />
 <action name="validate-all"   timeout="20" />
 </actions>
 </resource-agent>
 END
 }
 
 #######################################################################
 
 
 varnish_usage() {
 	cat <<END
 usage: $0 {start|stop|monitor|validate-all|meta-data}
 
 Expects to have a fully populated OCF RA-compliant environment set.
 END
 }
 
 varnish_status() {
     local pid
     local rc
 
     # FAILED = pidfile exist, but no running proc (or mismatch pid)
     # SUCCES = contents of pidfile == running process id
     # NOTRUN = no pidfile, no running process
 
     # check if pidfile exists
     if [ -f $OCF_RESKEY_pid ]; then
         # it does, now check if the pid exists
         pid=$(cat $OCF_RESKEY_pid)
         ocf_run kill -s 0 $pid
         rc=$?
         if [ $rc -eq 0 ]; then
             ocf_log info "Varnish is running"
             # check if the child process is started and varnish is
             # reporting child status as ok
             ocf_run $OCF_RESKEY_client_binary -T $OCF_RESKEY_mgmt_address status
             v_rc=$?
             if [ "$v_rc" -eq 0 ]; then
                 ocf_log info "Varnish child reported running"
                 return $OCF_SUCCESS
             else
                 ocf_log err "Varnish child not running"
                 return $OCF_ERR_GENERIC
             fi
         else
             ocf_log err "Varnish PID file exists, but varnishd is not running"
             return $OCF_ERR_GENERIC
         fi
     fi
     
     return $OCF_NOT_RUNNING
 }
 
 varnish_start() {
     local rc
     local backend_options
 
     varnish_status
     rc=$?
     if [ $rc -eq $OCF_SUCCESS ]; then
         ocf_log info "Varnish already running"
         return $OCF_SUCCESS
     fi
 
     # check which backend is to be used
     case "$OCF_RESKEY_backend_type" in
        malloc)  
                 backend_options="$OCF_RESKEY_backend_size"
                 ;;
         file)
                 backend_options="$OCF_RESKEY_backend_file,$OCF_RESKEY_backend_size"
                 ;;
         *)
                 # not implemented yet
                 return $OCF_ERR_CONFIGURED 
                 ;;
     esac
     ocf_run $OCF_RESKEY_binary \
         -P $OCF_RESKEY_pid \
         -a $OCF_RESKEY_listen_address \
         -f $OCF_RESKEY_config \
         -T $OCF_RESKEY_mgmt_address \
         -t $OCF_RESKEY_ttl \
         -u $OCF_RESKEY_varnish_user \
         -g $OCF_RESKEY_varnish_group \
         -w $OCF_RESKEY_worker_threads \
         -s $OCF_RESKEY_backend_type,$backend_options \
         -n $OCF_RESKEY_instance_name
     rc=$?
     if [ $rc -ne 0 ]; then
         ocf_log err "Varnish failed to start"
         return $OCF_ERR_GENERIC
     fi
 
     # Spin waiting for varnishd to come up.
     # Let the CRM/LRM time us out if required
     while true; do
         varnish_status
         rc=$?
         [ $rc -eq $OCF_SUCCESS ] && break
         if [ $rc -ne $OCF_NOT_RUNNING ]; then
             ocf_log err "Varnish start failed"
             exit $OCF_ERR_GENERIC
         fi
         sleep 2
     done
 
     ocf_log info "Varnish started succesfully"
     return $OCF_SUCCESS
 }
 
 varnish_stop() {
     local rc
     local pid
 
     varnish_status
     rc=$?
     if [ $rc -eq $OCF_NOT_RUNNING ]; then
         ocf_log info "Varnish already stopped"
         return $OCF_SUCCESS
     fi
 
     # kill the varnish process
     pid=$(cat $OCF_RESKEY_pid)
     ocf_run kill -s TERM $pid
     rc=$?
 
     if [ $rc -ne 0 ]; then
         ocf_log err "Varnish failed to stop"
         return $OCF_ERR_GENERIC
     fi
 
     # stop waiting
     shutdown_timeout=$((($OCF_RESKEY_CRM_meta_timeout/1000)-5))
     count=0
     while [ $count -lt $shutdown_timeout ]; do
         # check if process still exists
         ocf_run kill -s 0 $pid
         rc=$?
         if [ $rc -ne 0 ]; then
             # Varnish stopped succesfully, so let's delete the pidfile
             rm -f $OCF_RESKEY_pid
             break
         fi
         count=$(expr $count + 1)
         sleep 1
         ocf_log info "Varnish still hasn't stopped yet. Waiting..."
     done 
 
     varnish_status
     rc=$?
     if [ $rc -ne $OCF_NOT_RUNNING ]; then
         # varnish didn't quit on a SIGTERM, try SIGKILL
         ocf_log warn "Varnish failed to stop after ${shutdown_timeout}s using SIGTERM. Trying SIGKILL..."
         ocf_run kill -s KILL $pid
         # delete the pidfile
         rm -f $OCF_RESKEY_pid
     fi
 
     ocf_log info "Varnish stopped"
     return $OCF_SUCCESS
 }
 
 
 varnish_validate() {
     if [ -f $OCF_RESKEY_config ]; then
         return $OCF_SUCCESS
     else
         return $OCF_ERR_INSTALLED
     fi
 }
 
 
 case $__OCF_ACTION in
     meta-data)
         meta_data
         exit $OCF_SUCCESS
         ;;
     start)
         varnish_start
         ;;
     stop)
         varnish_stop
         ;;
     monitor|status)
         varnish_status
         ;;
     validate-all)
         varnish_validate
         ;;
     usage|help)
         varnish_usage
         exit $OCF_SUCCESS
         ;;
     *)
         varnish_usage
         exit $OCF_ERR_UNIMPLEMENTED
         ;;
 esac
 rc=$?
 ocf_log debug "${OCF_RESOURCE_INSTANCE} $__OCF_ACTION : $rc"
 exit $rc