[Openais] Problem stoping Corosync+Pacemaker

Andrew Beekhof andrew at beekhof.net
Thu Nov 5 01:03:17 PST 2009


On Thu, Nov 5, 2009 at 9:52 AM, Adrian Chapela
<achapela.rexistros at gmail.com> wrote:
> Andrew Beekhof escribió:
>> Is this debian?
>>
> Yes it is... I am start to think that you don't want that people use
> Debian to implement a cluster with Corosync + Pacemaker...

Not at all, its just that I don't use Debian so I'm not very skilled
at supporting it.

In this case it was important because all the rpm packages I know of
are using a different init script to the one you posted.
Are the packages you're using from Madkiss' repo?  Looks like he might
need to fix the init script.

This is the stop() function from init/redhat (in the source tarball)

stop() {
    echo -n $"Stopping Corosync Cluster Engine ($prog): "
    # If no signal is specified, -TERM is used but _also_ -KILL 3s later
    # This is far too aggressive for a cluster resource manager
running on top of Corosync
    killproc $prog -TERM
    echo

    echo -n $"Waiting for services to unload:"
    while
        pidofproc $prog > /dev/null 2>&1
    do
        sleep 2
    done

    success $"$base shutdown"
    echo

    rm -f "$lockfile"
    return 0
}


> Maybe I could
> use Centos to have a try... but I am not sure about that...
>
> Why Debian is a little unsupported ? I have found many people talking in
> this list about problems with Debian, maybe a 30% of people of the list
> are using Debian...

The online poll I ran put the combined Etch+Lenny figure at 27%, so
pretty close :-)
Don't worry, I'm well aware many people are using Debian.

>> On Thu, Nov 5, 2009 at 8:55 AM, Adrian Chapela
>> <achapela.rexistros at gmail.com> wrote:
>>
>>> Andrew Beekhof escribió:
>>>
>>>> On Thu, Nov 5, 2009 at 12:57 AM, Adrián Ebay
>>>> <achapela.rexistros at gmail.com> wrote:
>>>>
>>>>
>>>>> I am using this version 1.1.2 combined with Pacemaker 1.0.6 (With 1.0.5
>>>>> happens the same)
>>>>>
>>>>>
>>>> 1.0.5 didn't support corosync and was known to be broken.
>>>> 1.0.6 should work though... how are you stopping corosync?  Can you
>>>> attach the init script you're using please?
>>>>
>>>>
>>> Init script is attached to the mail.
>>>
>>> Maybe you should put attention on the clone resource. If I haven't
>>> configured the pingd the clone I can stop corosync well. Today I have tried
>>> to use pingd from heartbeat provider but I can't use it, the clone instance
>>> doesn't start.
>>>
>>> Regards.
>>>
>>> #! /bin/sh
>>> #
>>> ### BEGIN INIT INFO
>>> # Provides:          corosync
>>> # Required-Start:    $network $remote_fs
>>> # Required-Stop:     $network $remote_fs
>>> # Default-Start:     S
>>> # Default-Stop:      0 1 6
>>> # Short-Description: corosync cluster framework
>>> ### END INIT INFO
>>>
>>> # Author: Fabio M. Di Nitto <fabbione at ubuntu.com>
>>>
>>> # PATH should only include /usr/* if it runs after the mountnfs.sh script
>>> PATH=/usr/sbin:/usr/bin:/sbin:/bin
>>> DESC="corosync daemon"
>>> NAME=corosync
>>> DAEMON=/usr/sbin/$NAME
>>> DAEMON_ARGS=""
>>> PIDFILE=/var/run/$NAME.pid
>>> SCRIPTNAME=/etc/init.d/$NAME
>>> PIDFILE=/var/run/corosync.pid
>>>
>>> # Exit if the package is not installed
>>> [ -x "$DAEMON" ] || exit 0
>>>
>>> # Read configuration variable file if it is present
>>> [ -r /etc/default/corosync ] && . /etc/default/corosync
>>>
>>> if [ "$START" != "yes" ]; then
>>>        exit 0
>>> fi
>>>
>>> # Define LSB log_* functions.
>>> # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
>>> . /lib/lsb/init-functions
>>>
>>> #
>>> # Function that starts the daemon/service
>>> #
>>> do_start()
>>> {
>>>        # Return
>>>        #   0 if daemon has been started
>>>        #   1 if daemon was already running
>>>        #   2 if daemon could not be started
>>>        start-stop-daemon --start --quiet --exec $DAEMON --test > /dev/null \
>>>                || return 1
>>>        start-stop-daemon --start --quiet --exec $DAEMON -- $DAEMON_ARGS \
>>>                || return 2
>>>        # Add code here, if necessary, that waits for the process to be ready
>>>        # to handle requests from services started subsequently which depend
>>>        # on this one.  As a last resort, sleep for some time.
>>>        pidof corosync > $PIDFILE
>>> }
>>>
>>> #
>>> # Function that stops the daemon/service
>>> #
>>> do_stop()
>>> {
>>>        # Return
>>>        #   0 if daemon has been stopped
>>>        #   1 if daemon was already stopped
>>>        #   2 if daemon could not be stopped
>>>        #   other if a failure occurred
>>>        #Safety corosync stop
>>>        killall -QUIT corosync
>>>
>>>        start-stop-daemon --stop --quiet --signal=QUIT --retry=5 --pidfile
>>> $PIDFILE
>>>        RETVAL="$?"
>>>        [ "$RETVAL" = 2 ] && return 2
>>>        # Many daemons don't delete their pidfiles when they exit.
>>>        rm -f $PIDFILE
>>>        return "$RETVAL"
>>> }
>>>
>>> case "$1" in
>>>  start)
>>>        log_daemon_msg "Starting $DESC" "$NAME"
>>>        do_start
>>>        case "$?" in
>>>                0|1) log_end_msg 0 ;;
>>>                2) log_end_msg 1 ;;
>>>        esac
>>>        ;;
>>>  stop)
>>>        log_daemon_msg "Stopping $DESC" "$NAME"
>>>        do_stop
>>>        case "$?" in
>>>                0|1) log_end_msg 0 ;;
>>>                2) log_end_msg 1 ;;
>>>        esac
>>>        ;;
>>>  restart|force-reload)
>>>        log_daemon_msg "Restarting $DESC" "$NAME"
>>>        do_stop
>>>        case "$?" in
>>>          0|1)
>>>                do_start
>>>                case "$?" in
>>>                        0) log_end_msg 0 ;;
>>>                        1) log_end_msg 1 ;; # Old process is still running
>>>                        *) log_end_msg 1 ;; # Failed to start
>>>                esac
>>>                ;;
>>>          *)
>>>                # Failed to stop
>>>                log_end_msg 1
>>>                ;;
>>>        esac
>>>        ;;
>>>  *)
>>>        #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}"
>>>
>>>> &2
>>>>
>>>        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
>>>        exit 3
>>>        ;;
>>> esac
>>>
>>> :
>>>
>>> _______________________________________________
>>> Openais mailing list
>>> Openais at lists.linux-foundation.org
>>> https://lists.linux-foundation.org/mailman/listinfo/openais
>>>
>>>
>>
>>
>
> _______________________________________________
> Openais mailing list
> Openais at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/openais
>


More information about the Openais mailing list