Hi all,
I am trying to write my own resource agent service,
I have corosync + pacemaker + lcmc
When I load the service it shows that it's running, Then after a few seconds
it stops,
I checked with a default resource agent (Dummy, sshd etc) and they work.
I'm running centos6.6 and these are the packages version:
corosync-1.4.7-1.el6.x86_64
corosynclib-1.4.7-1.el6.x86_64
pacemaker-1.1.12-4.el6.x86_64
pacemaker-cli-1.1.12-4.el6.x86_64
pacemaker-cluster-libs-1.1.12-4.el6.x86_64
pacemaker-libs-1.1.12-4.el6.x86_64
When I look in ps I can see it actually starts the server but then it fall
again,
This is my resource agent:
#!/bin/bash
#######################################################################
# Initialization:
: ${OCF_FUNCTIONS=${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs}
. ${OCF_FUNCTIONS}
: ${__OCF_ACTION=$1}
#######################################################################
meta_data() {
cat <<END
<?xml version="1.0"?>
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="Sqream" version="1.0">
<version>1.0</version>
<longdesc lang="en">
sqream
</longdesc>
<shortdesc lang="en">sqream</shortdesc>
<parameters>
<parameter name="pidfile" unique="0">
<longdesc lang="en">PID file</longdesc>
<shortdesc lang="en">PID file</shortdesc>
<content type="string" default="$HA_VARRUN/sqream-${OCF_RESOURCE_INSTANCE}"
/>
</parameter>
</parameters>
<actions>
<action name="start" timeout="20" />
<action name="stop" timeout="20" />
<action name="monitor" timeout="20" interval="10" depth="0"/>
<action name="meta-data" timeout="5" />
</actions>
</resource-agent>
END
}
#######################################################################
trap sigterm_handler TERM
sigterm_handler() {
echo sigterm_handler >> /tmp/sqream_cluster.log
ocf_log info "They use TERM to bring us down. No such luck."
return
}
sqream_usage() {
cat <<END
usage: $0
{start|stop|monitor|migrate_to|migrate_from|validate-all|meta-data}
END
}
sqream_start() {
sqream_monitor
sleep 4
/etc/init.d/sqream start
if [ $? = $OCF_SUCCESS ]; then
return $OCF_SUCCESS
fi
}
sqream_stop() {
sqream_monitor
sleep 2
/etc/init.d/sqream stop
return $OCF_SUCCESS
}
sqream_monitor() {
if pgrep "sqreamd" > /dev/null
then
return 0
else
return 7
fi
return $OCF_NOT_RUNNING
}
sqream_validate() {
date >> /tmp/sqream_cluster.log
echo Validating >> /tmp/sqream_cluster.log
# Is the state directory writable?
state_dir=`dirname "$OCF_RESKEY_state"`
touch "$state_dir/$$"
if [ $? != 0 ]; then
return $OCF_ERR_ARGS
fi
rm "$state_dir/$$"
return $OCF_SUCCESS
}
: ${OCF_RESKEY_fake=sqream}
: ${OCF_RESKEY_op_sleep=0}
: ${OCF_RESKEY_CRM_meta_interval=0}
: ${OCF_RESKEY_CRM_meta_globally_unique:="true"}
if [ "x$OCF_RESKEY_state" = "x" ]; then
if [ ${OCF_RESKEY_CRM_meta_globally_unique} = "false" ]; then
state="${HA_VARRUN}/Sqream-${OCF_RESOURCE_INSTANCE}.state"
# Strip off the trailing clone marker
OCF_RESKEY_state=`echo $state | sed s/:[0-9][0-9]*\.state/.state/`
else
OCF_RESKEY_state="${HA_VARRUN}/Sqream-${OCF_RESOURCE_INSTANCE}.state"
fi
fi
case $__OCF_ACTION in
meta-data) meta_data
exit $OCF_SUCCESS
;;
start) sqream_start;;
stop) sqream_stop;;
monitor) sqream_monitor;;
migrate_to) ocf_log info "Migrating ${OCF_RESOURCE_INSTANCE} to
${OCF_RESKEY_CRM_meta_migrate_target}."
sqream_stop
;;
migrate_from) ocf_log info "Migrating ${OCF_RESOURCE_INSTANCE} to
${OCF_RESKEY_CRM_meta_migrate_source}."
sqream_start
;;
reload) ocf_log err "Reloading..."
sqream_start
;;
validate-all) sqream_validate;;
usage|help) sqream_usage
exit $OCF_SUCCESS
;;
*) sqream_usage
exit $OCF_ERR_UNIMPLEMENTED
;;
esac
rc=$?
#ocf_log debug "${OCF_RESOURCE_INSTANCE} $__OCF_ACTION : $rc"
exit $rc
I would love some help,
Thanks a lot
Eden.
--
View this message in context: http://linux-ha.996297.n3.nabble.com/Creating-A-resource-agent-tp16196.html
Sent from the Linux-HA mailing list archive at Nabble.com.
_______________________________________________
Linux-HA mailing list is closing down.
Please subscribe to users@clusterlabs.org instead.
http://clusterlabs.org/mailman/listinfo/users
_______________________________________________
Linux-HA@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha
I am trying to write my own resource agent service,
I have corosync + pacemaker + lcmc
When I load the service it shows that it's running, Then after a few seconds
it stops,
I checked with a default resource agent (Dummy, sshd etc) and they work.
I'm running centos6.6 and these are the packages version:
corosync-1.4.7-1.el6.x86_64
corosynclib-1.4.7-1.el6.x86_64
pacemaker-1.1.12-4.el6.x86_64
pacemaker-cli-1.1.12-4.el6.x86_64
pacemaker-cluster-libs-1.1.12-4.el6.x86_64
pacemaker-libs-1.1.12-4.el6.x86_64
When I look in ps I can see it actually starts the server but then it fall
again,
This is my resource agent:
#!/bin/bash
#######################################################################
# Initialization:
: ${OCF_FUNCTIONS=${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs}
. ${OCF_FUNCTIONS}
: ${__OCF_ACTION=$1}
#######################################################################
meta_data() {
cat <<END
<?xml version="1.0"?>
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="Sqream" version="1.0">
<version>1.0</version>
<longdesc lang="en">
sqream
</longdesc>
<shortdesc lang="en">sqream</shortdesc>
<parameters>
<parameter name="pidfile" unique="0">
<longdesc lang="en">PID file</longdesc>
<shortdesc lang="en">PID file</shortdesc>
<content type="string" default="$HA_VARRUN/sqream-${OCF_RESOURCE_INSTANCE}"
/>
</parameter>
</parameters>
<actions>
<action name="start" timeout="20" />
<action name="stop" timeout="20" />
<action name="monitor" timeout="20" interval="10" depth="0"/>
<action name="meta-data" timeout="5" />
</actions>
</resource-agent>
END
}
#######################################################################
trap sigterm_handler TERM
sigterm_handler() {
echo sigterm_handler >> /tmp/sqream_cluster.log
ocf_log info "They use TERM to bring us down. No such luck."
return
}
sqream_usage() {
cat <<END
usage: $0
{start|stop|monitor|migrate_to|migrate_from|validate-all|meta-data}
END
}
sqream_start() {
sqream_monitor
sleep 4
/etc/init.d/sqream start
if [ $? = $OCF_SUCCESS ]; then
return $OCF_SUCCESS
fi
}
sqream_stop() {
sqream_monitor
sleep 2
/etc/init.d/sqream stop
return $OCF_SUCCESS
}
sqream_monitor() {
if pgrep "sqreamd" > /dev/null
then
return 0
else
return 7
fi
return $OCF_NOT_RUNNING
}
sqream_validate() {
date >> /tmp/sqream_cluster.log
echo Validating >> /tmp/sqream_cluster.log
# Is the state directory writable?
state_dir=`dirname "$OCF_RESKEY_state"`
touch "$state_dir/$$"
if [ $? != 0 ]; then
return $OCF_ERR_ARGS
fi
rm "$state_dir/$$"
return $OCF_SUCCESS
}
: ${OCF_RESKEY_fake=sqream}
: ${OCF_RESKEY_op_sleep=0}
: ${OCF_RESKEY_CRM_meta_interval=0}
: ${OCF_RESKEY_CRM_meta_globally_unique:="true"}
if [ "x$OCF_RESKEY_state" = "x" ]; then
if [ ${OCF_RESKEY_CRM_meta_globally_unique} = "false" ]; then
state="${HA_VARRUN}/Sqream-${OCF_RESOURCE_INSTANCE}.state"
# Strip off the trailing clone marker
OCF_RESKEY_state=`echo $state | sed s/:[0-9][0-9]*\.state/.state/`
else
OCF_RESKEY_state="${HA_VARRUN}/Sqream-${OCF_RESOURCE_INSTANCE}.state"
fi
fi
case $__OCF_ACTION in
meta-data) meta_data
exit $OCF_SUCCESS
;;
start) sqream_start;;
stop) sqream_stop;;
monitor) sqream_monitor;;
migrate_to) ocf_log info "Migrating ${OCF_RESOURCE_INSTANCE} to
${OCF_RESKEY_CRM_meta_migrate_target}."
sqream_stop
;;
migrate_from) ocf_log info "Migrating ${OCF_RESOURCE_INSTANCE} to
${OCF_RESKEY_CRM_meta_migrate_source}."
sqream_start
;;
reload) ocf_log err "Reloading..."
sqream_start
;;
validate-all) sqream_validate;;
usage|help) sqream_usage
exit $OCF_SUCCESS
;;
*) sqream_usage
exit $OCF_ERR_UNIMPLEMENTED
;;
esac
rc=$?
#ocf_log debug "${OCF_RESOURCE_INSTANCE} $__OCF_ACTION : $rc"
exit $rc
I would love some help,
Thanks a lot
Eden.
--
View this message in context: http://linux-ha.996297.n3.nabble.com/Creating-A-resource-agent-tp16196.html
Sent from the Linux-HA mailing list archive at Nabble.com.
_______________________________________________
Linux-HA mailing list is closing down.
Please subscribe to users@clusterlabs.org instead.
http://clusterlabs.org/mailman/listinfo/users
_______________________________________________
Linux-HA@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha