r625 - lvm2/trunk/debian

Bastian Blank waldi at alioth.debian.org
Wed Nov 19 10:49:38 UTC 2008


Author: waldi
Date: Wed Nov 19 10:49:38 2008
New Revision: 625

Log:
* debian/changelog: Update.
* debian/clvm.defaults, debian/clvm.init: Add.
* debian/rules: Install clvm init script.


Added:
   lvm2/trunk/debian/clvm.defaults
   lvm2/trunk/debian/clvm.init
Modified:
   lvm2/trunk/debian/changelog
   lvm2/trunk/debian/rules

Modified: lvm2/trunk/debian/changelog
==============================================================================
--- lvm2/trunk/debian/changelog	(original)
+++ lvm2/trunk/debian/changelog	Wed Nov 19 10:49:38 2008
@@ -4,6 +4,7 @@
   * Make clvm depend against cman.
   * Don't ignore locking failures in lvm2 init script.
   * Only activate vgs local.
+  * Add clvm initscript. (closes: #336258)
 
  -- Bastian Blank <waldi at debian.org>  Tue, 18 Nov 2008 19:24:42 +0100
 

Added: lvm2/trunk/debian/clvm.defaults
==============================================================================
--- (empty file)
+++ lvm2/trunk/debian/clvm.defaults	Wed Nov 19 10:49:38 2008
@@ -0,0 +1,9 @@
+# Bourne shell compatible script, sourced by /etc/init.d/clvm to set
+# additional arguments for clvmd.
+
+# Startup timeout: 
+CLVMDTIMEOUT=20
+
+# Volume groups to activate on startup:
+# LVM_VGS="cluster_vg1 cluster_vg2"
+

Added: lvm2/trunk/debian/clvm.init
==============================================================================
--- (empty file)
+++ lvm2/trunk/debian/clvm.init	Wed Nov 19 10:49:38 2008
@@ -0,0 +1,141 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides:          lvm cluster locking daemon
+# Required-Start:    lvm2 cman
+# Required-Stop:     lvm2 cman
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: start and stop the lvm cluster locking daemon
+### END INIT INFO
+#
+# Author: Frederik Schüler <fs at debian.org>
+# based on the old clvm init script from etch
+# and the clvmd init script from RHEL5
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="Cluster LVM Daemon"
+NAME=clvm
+DAEMON=/sbin/clvmd
+SCRIPTNAME=/etc/init.d/clvm
+
+[ -x $DAEMON ] || exit 0
+
+. /lib/init/vars.sh
+
+. /lib/lsb/init-functions
+
+if [ ! -f /etc/cluster/cluster.conf ]; then
+	log_failure_msg "clvmd: cluster not configured. Aborting."
+	exit 0
+fi
+
+if ! cman_tool status >/dev/null 2>&1; then
+	log_failure_msg "clvmd: cluster is not running. Aborting."
+	exit 0
+fi
+
+CLVMDTIMEOUT=20
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+DAEMON_OPTS="-T$CLVMDTIMEOUT"
+
+do_start()
+{
+	start-stop-daemon --start --quiet --exec $DAEMON -- $DAEMON_OPTS || status="$?"
+	# flush cache
+	vgscan > /dev/null 2>&1 
+	return $status
+}
+
+do_activate()
+{
+	if [ -n "$LVM_VGS" ] ; then
+		log_action_msg  "Activating VGs $LVM_VGS"
+		vgchange -ayl $LVM_VGS || return $?
+	else
+		log_action_msg  "Activating all VGs"
+		vgchange -ayl || return $?
+	fi
+}
+
+do_deactivate()
+{
+	if [ -n "$LVM_VGS" ] ; then
+		vgs="$LVM_VGS"
+	else
+		# Hack to only deactivate clustered volumes
+		vgs=$(vgdisplay -C -o vg_name,vg_attr --noheadings 2> /dev/null | awk '($2 ~ /.....c/) {print $1}')
+	fi
+
+	[ "$vgs" ] || return 0
+
+	vgchange -anl $vgs || return $?
+}
+
+do_stop()
+{
+	start-stop-daemon --stop --quiet --name clvmd
+	status=$?
+	return $status
+}
+
+case "$1" in
+  	start)
+		# start the daemon...
+		log_daemon_msg "Starting $DESC" "$NAME"
+		do_start
+		status=$?
+		case "$status" in
+			0) log_end_msg 0 ;;
+			1) log_action_msg " already running" ; log_end_msg 0 ;;
+			*) log_end_msg 1 ;;
+		esac
+		# and activate clustered volume groups
+		do_activate
+		status=$?
+		exit $status
+	;;
+	stop)
+		# deactivate volumes...
+		log_daemon_msg "Deactivating VG $vg:"
+		do_deactivate
+		status=$?
+		case "$status" in
+			0) log_end_msg 0 ;;
+			1) log_end_msg 0 ;;
+			*) log_end_msg 1 ;;
+		esac
+		# and stop the daemon
+		log_daemon_msg "Stopping $DESC" "$NAME"
+		do_stop
+		status=$?
+		case "$status" in
+			0) log_end_msg 0 ; exit 0 ;;
+			1) log_end_msg 0 ; exit 0 ;;
+			*) log_end_msg 1 ; exit $status ;;
+		esac
+	;;
+	restart|force-reload)
+		$0 stop
+		sleep 1
+		$0 start
+	;;
+	status)
+		pid=$( pidof $DAEMON )
+		if [ -n "$pid" ] ; then
+			log_action_msg "$DESC is running" 
+		else
+			log_action_msg "$DESC is not running"
+		fi
+		exit 0
+	;;
+	*)
+		echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
+		exit 1
+	;;
+esac
+
+exit 0

Modified: lvm2/trunk/debian/rules
==============================================================================
--- lvm2/trunk/debian/rules	(original)
+++ lvm2/trunk/debian/rules	Wed Nov 19 10:49:38 2008
@@ -134,6 +134,7 @@
 	$(MAKE) -C $(DIR) install DESTDIR=$(CURDIR)/$(INSTALL_DIR)
 	dh_install --sourcedir=$(INSTALL_DIR)
 	dh_installexamples
+	dh_installinit --no-start -- start 63 S . start 51 0 6 .
 	$(MAKE) -f debian/rules install-base
 
 install-lvm2: export DH_OPTIONS = -plvm2



More information about the pkg-lvm-commits mailing list