public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in sys-cluster/moosefs/files: mfs.initd mfs.confd
@ 2011-07-05  7:45 Alexys Jacob (ultrabug)
  0 siblings, 0 replies; 2+ messages in thread
From: Alexys Jacob (ultrabug) @ 2011-07-05  7:45 UTC (permalink / raw
  To: gentoo-commits

ultrabug    11/07/05 07:45:36

  Added:                mfs.initd mfs.confd
  Log:
  New ebuild sys-cluster/moosefs, related to bug #338004.
  
  (Portage version: 2.1.10.3/cvs/Linux x86_64)

Revision  Changes    Path
1.1                  sys-cluster/moosefs/files/mfs.initd

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.initd?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.initd?rev=1.1&content-type=text/plain

Index: mfs.initd
===================================================================
#!/sbin/runscript

depend() {
	need net
}

chkconfig() {
	[ -z "${ROLES}" ] && { eerror "No role defined !"; return 1;}
	for ROLE in ${ROLES}; do
		if [ ! -f /etc/mfs/${ROLE}.cfg ]; then
			eerror "Missing configuration file for role ${ROLE} !"
			return 1
		fi
	done
	return 0
}

start_roles() {
	eindent
	for ROLE in ${ROLES}; do
		einfo "${ROLE}"
		"${ROLE}" start 2>&1 | logger -s -p daemon.info -t mfs
	done
	eoutdent
	return 0
}

start() {
	ebegin "Starting mfs node"
	chkconfig && start_roles
	eend $?
}

stop() {
	ebegin "Stopping mfs node"
	eindent
	for ROLE in ${ROLES}; do
		einfo "${ROLE}"
		"${ROLE}" stop 2>&1 | logger -s -p daemon.info -t mfs
	done
	eoutdent
	eend 0
}



1.1                  sys-cluster/moosefs/files/mfs.confd

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.confd?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.confd?rev=1.1&content-type=text/plain

Index: mfs.confd
===================================================================
# Which mooseFS roles should we start ?
# Possible values: mfsmetalogger mfschunkserver mfsmaster
#ROLES=""






^ permalink raw reply	[flat|nested] 2+ messages in thread

* [gentoo-commits] gentoo-x86 commit in sys-cluster/moosefs/files: mfs.initd mfs.confd
@ 2011-07-08 15:29 Alexys Jacob (ultrabug)
  0 siblings, 0 replies; 2+ messages in thread
From: Alexys Jacob (ultrabug) @ 2011-07-08 15:29 UTC (permalink / raw
  To: gentoo-commits

ultrabug    11/07/08 15:29:35

  Modified:             mfs.initd mfs.confd
  Log:
  Enhanced init script, add an autorestore functionnality. Drop old.
  
  (Portage version: 2.1.10.3/cvs/Linux x86_64)

Revision  Changes    Path
1.2                  sys-cluster/moosefs/files/mfs.initd

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.initd?rev=1.2&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.initd?rev=1.2&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.initd?r1=1.1&r2=1.2

Index: mfs.initd
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-cluster/moosefs/files/mfs.initd,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mfs.initd	5 Jul 2011 07:45:36 -0000	1.1
+++ mfs.initd	8 Jul 2011 15:29:35 -0000	1.2
@@ -15,14 +15,45 @@
 	return 0
 }
 
+autorestore() {
+	einfo "AUTORESTORE set, trying to restore metadata files"
+	mfsmetarestore -a &>/dev/null
+	return $?
+}
+
+start_role() {
+	local ROLE=$1
+	local RETURN=0
+
+	ebegin "${ROLE}"
+	start-stop-daemon -q --start --exec "${ROLE}" -- start >/dev/null
+	RETURN=$?
+	eend ${RETURN}
+
+	return ${RETURN}
+}
+
 start_roles() {
+	local RETURN=0
+
 	eindent
 	for ROLE in ${ROLES}; do
-		einfo "${ROLE}"
-		"${ROLE}" start 2>&1 | logger -s -p daemon.info -t mfs
+
+		start_role ${ROLE} || RETURN=$?
+		eend ${RETURN}
+
+		if [ "${RETURN}" != "0" ] && [ "${ROLE}" == "mfsmaster" ] && [ ${AUTORESTORE} -eq 1 ]; then
+			eindent
+			autorestore && start_role ${ROLE}
+			RETURN=$?
+			eoutdent
+		fi
+
+		[ "${RETURN}" != "0" ] && break
 	done
 	eoutdent
-	return 0
+
+	return ${RETURN}
 }
 
 start() {
@@ -32,12 +63,17 @@
 }
 
 stop() {
+	local RETURN=0
+
 	ebegin "Stopping mfs node"
 	eindent
-	for ROLE in ${ROLES}; do
-		einfo "${ROLE}"
-		"${ROLE}" stop 2>&1 | logger -s -p daemon.info -t mfs
+	local REVERSE=$(echo ${ROLES} | tac -s' ')
+	for ROLE in ${REVERSE}; do
+		ebegin "${ROLE}"
+		start-stop-daemon -q --stop -n ${ROLE} || RETURN=$?
+		eend ${RETURN}
 	done
 	eoutdent
-	eend 0
+
+	eend ${RETURN}
 }



1.2                  sys-cluster/moosefs/files/mfs.confd

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.confd?rev=1.2&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.confd?rev=1.2&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/moosefs/files/mfs.confd?r1=1.1&r2=1.2

Index: mfs.confd
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-cluster/moosefs/files/mfs.confd,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mfs.confd	5 Jul 2011 07:45:36 -0000	1.1
+++ mfs.confd	8 Jul 2011 15:29:35 -0000	1.2
@@ -1,3 +1,11 @@
 # Which mooseFS roles should we start ?
-# Possible values: mfsmetalogger mfschunkserver mfsmaster
+#
+# NOTE: The roles are stopped in *reverse* order of the given list
+# so make sure to list mfsmaster *before* the other roles.
+#
+# Possible values: mfsmaster mfsmetalogger mfschunkserver
 #ROLES=""
+
+# If the role mfsmaster fails to start, should we try to run mfsmetarestore -a ?
+# Possible values: 0 (no), 1 (yes)
+AUTORESTORE=0
\ No newline at end of file






^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-07-08 15:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-08 15:29 [gentoo-commits] gentoo-x86 commit in sys-cluster/moosefs/files: mfs.initd mfs.confd Alexys Jacob (ultrabug)
  -- strict thread matches above, loose matches on Subject: below --
2011-07-05  7:45 Alexys Jacob (ultrabug)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox