[Debian-ha-maintainers] Bug#614238: Load openais services from corosync

Michael Schwartzkopff misch at schwartzkopff.org
Sun Feb 20 16:05:56 UTC 2011


Package: corosync
Version: 1.2.1-4
Severity: normal
Tags: patch

hi,

at the moment the init script of corosync does not load services provided
by the openais package, even if the package is installed.

Please see the attached /etc/default/corosync and /etc/init.d/corosync files
for a patch to solve the problem.

openais services are needed to use cluster filesystems of cLVM in clusters.

Thanks for including my patches

-- System Information:
Debian Release: 6.0
  APT prefers squeeze-updates
  APT policy: (500, 'squeeze-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages corosync depends on:
ii  adduser                 3.112+nmu2       add and remove users and groups
ii  libc6                   2.11.2-10        Embedded GNU C Library: Shared lib
ii  libcorosync4            1.2.1-4          Standards-based cluster framework 
ii  lsb-base                3.2-23.2squeeze1 Linux Standard Base 3.2 init scrip

corosync recommends no packages.

corosync suggests no packages.

-- Configuration Files:
/etc/corosync/corosync.conf changed:
totem {
	version: 2
	# How long before declaring a token lost (ms)
	token: 3000
	# How many token retransmits before forming a new configuration
	token_retransmits_before_loss_const: 10
	# How long to wait for join messages in the membership protocol (ms)
	join: 60
	# How long to wait for consensus to be achieved before starting a new round of membership configuration (ms)
	consensus: 3600
	# Turn off the virtual synchrony filter
	vsftype: none
	# Number of messages that may be sent by one processor on receipt of the token
	max_messages: 20
	# Limit generated nodeids to 31-bits (positive signed integers)
	clear_node_high_bit: yes
	# Disable encryption
 	secauth: off
	# How many threads to use for encryption/decryption
 	threads: 0
	# Optionally assign a fixed node id (integer)
	# nodeid: 1234
	# This specifies the mode of redundant ring, which may be none, active, or passive.
 	rrp_mode: none
 	interface {
		# The following values need to be set based on your environment 
		ringnumber: 0
		bindnetaddr: 172.29.56.0
		mcastaddr: 226.94.1.1
		mcastport: 5405
	}
}
amf {
	mode: disabled
}
service {
 	# Load the Pacemaker Cluster Resource Manager
 	ver:       0
 	name:      pacemaker
}
aisexec {
        user:   root
        group:  root
}
logging {
        fileline: off
        to_stderr: yes
        to_logfile: no
        to_syslog: yes
	syslog_facility: daemon
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
                tags: enter|leave|trace1|trace2|trace3|trace4|trace6
        }
}

/etc/default/corosync changed:
START=yes
OPENAIS_SERVICES=yes

/etc/init.d/corosync changed:
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
[ -x "$DAEMON" ] || exit 0
[ -r /etc/default/corosync ] && . /etc/default/corosync
if [ "$START" != "yes" ]; then
	exit 0
fi
if [ "$OPENAIS_SERVICES" = "yes" ]; then
  export COROSYNC_DEFAULT_CONFIG_IFACE
  : ${COROSYNC_DEFAULT_CONFIG_IFACE="openaisserviceenableexperimental:corosync_parser"}
fi
. /lib/lsb/init-functions
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
}
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
	start-stop-daemon --stop --quiet --retry forever/QUIT/1 --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
	;;
  status|monitor)
	status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
	;;
  *)
	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	exit 3
	;;
esac
:


-- no debconf information





More information about the Debian-ha-maintainers mailing list