[Linux-cluster] Problems with a script when is launched via rgmanager (SOLVED)
carlopmart
carlopmart at gmail.com
Tue Jan 11 08:44:05 UTC 2011
On 01/11/2011 06:59 AM, Fabio M. Di Nitto wrote:
> On 01/10/2011 10:16 PM, carlopmart wrote:
>> Hi all,
>>
>> I am trying to set up a splunk cluster service on two RHEL5.5 hosts
>> (fully updated). My problems becomes when I trying to setup this service
>> under rgmanager: script ever fails. If I launch the script manually, all
>> works as expected. If I test the service using rg_test comand, all works
>> ok as expected.
>
> Do you have selinux enabled? If so you probably need to allow rgmanager
> to run the service or set selinux in permissive mode and check for avc.
>
>> #!/bin/sh -x
>> # Splunk: Controls Splunk on Redhat-based systems
>> #
>> # chkconfig: 2345 99 15
>> # description: Starts and stops Splunk
>> #
>> # This will work on Redhat systems (maybe others too)
>>
>> # Source function library.
>> . /etc/init.d/functions
>>
>> if [ ! -d /data/services/siem/splunk/etc ]; then
>> exit 1
>> fi
>>
>> HOME="/data/services/siem/splunk"
>> DIRECTORY="/data/services/siem/splunk"
>>
>> export HOME
>>
>>
>>
>> start() {
>> echo -n "Starting Splunk: "
>> sudo -H -u splunk ${DIRECTORY}/bin/splunk start> /dev/null
>> RETVAL=$?
>> if [ $RETVAL -eq 0 ]; then
>> success
>> else
>> failure
>> fi
>> echo
>> return $RETVAL
>> }
>>
>> stop() {
>> echo -n "Stopping Splunk: "
>> sudo -H -u splunk ${DIRECTORY}/bin/splunk stop> /dev/null
>> RETVAL=$?
>> if [ $RETVAL -eq 0 ]; then
>> success
>> else
>> failure
>> fi
>> echo
>> return $RETVAL
>> }
>>
>> status() {
>> exit 0
>> }
>>
>> case "$1" in
>> start)
>> start
>> ;;
>> stop)
>> stop
>> ;;
>> restart)
>> stop
>> start
>> ;;
>> status)
>> status
>> ;;
>> *)
>> echo $"Usage: $0 {start|stop|restart|status}"
>> exit 1
>> esac
>>
>> exit $?
>>
>>
>> How can I debug this error?? I don't why fails when is launched via
>> rgmanager ...
>>
>
> This script is dangerous. It doesn't implement a proper status check,
> returning always 0. rgmanager will not be able to monitor the status of
> the application and in case of application failure, it cannot take any
> action to recover it.
>
> Fabio
>
Finally I have found the problem. I have setup splunk user with /sbin/nologin shell
and I have changed to /bin/sh and the script works now.
Yes, I know that using exit 0 under status flag is dangerous, but I have configured
like this to test the script first.
Many thanks.
--
CL Martinez
carlopmart {at} gmail {d0t} com
More information about the Linux-cluster
mailing list