[Cluster-devel] conga/luci/site/luci/Extensions LuciClusterAct ...

rmccabe at sourceware.org rmccabe at sourceware.org
Fri Sep 28 05:36:40 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2007-09-28 05:36:39

Modified files:
	luci/site/luci/Extensions: LuciClusterActions.py RicciQueries.py 

Log message:
	Add and disable cluster services at boot time only when adding or deleting nodes. When starting and stopping nodes, don't don't disable them automatically.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciClusterActions.py.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/RicciQueries.py.diff?cvsroot=cluster&r1=1.7&r2=1.8

--- conga/luci/site/luci/Extensions/LuciClusterActions.py	2007/09/11 16:04:33	1.6
+++ conga/luci/site/luci/Extensions/LuciClusterActions.py	2007/09/28 05:36:39	1.7
@@ -227,8 +227,13 @@
 # Cluster node membership-related tasks
 #
 
-def NodeJoinCluster(self, rc, clustername, nodename_resolved):
-	batch_number, result = rq.nodeJoinCluster(rc)
+def NodeJoinCluster(self,
+					rc,
+					clustername,
+					nodename_resolved,
+					enable_services=True):
+
+	batch_number, result = rq.nodeJoinCluster(rc, enable_services=enable_services)
 	if batch_number is None or result is None:
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('NJ0: batch_number and/or result is None')
@@ -249,7 +254,8 @@
 						rc,
 						clustername,
 						nodename_resolved,
-						stop_cluster=False):
+						stop_cluster=False,
+						disable_services=True):
 	reported_cluname = None
 	try:
 		cluster_info = rc.cluster_info()
@@ -270,7 +276,9 @@
 				% nodename_resolved)
 		return None
 
-	batch_number, result = rq.nodeLeaveCluster(rc, cluster_shutdown=stop_cluster)
+	batch_number, result = rq.nodeLeaveCluster(rc,
+							cluster_shutdown=stop_cluster,
+							disable_services=disable_services)
 	if batch_number is None or result is None:
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('NLC2: %s: batch_number or result is None' \
@@ -375,7 +383,9 @@
 	# First, delete cluster.conf from node to be deleted.
 	# next, have node leave cluster.
 
-	batch_number, result = rq.nodeLeaveCluster(rc, purge=True)
+	batch_number, result = rq.nodeLeaveCluster(rc,
+							purge=True,
+							disable_services=True)
 	if batch_number is None or result is None:
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('ND5: batch_number and/or result is None')
@@ -473,7 +483,7 @@
 			errors += 1
 			continue
 
-		if NodeJoinCluster(self, rc, clustername, nodename_resolved) is None:
+		if NodeJoinCluster(self, rc, clustername, nodename_resolved, enable_services=False) is None:
 			if LUCI_DEBUG_MODE is True:
 				luci_log.debug_verbose('CStart1: nodeJoin %s' \
 					% nodename_resolved)
@@ -514,7 +524,8 @@
 				errors += 1
 		else:
 			ret = NodeLeaveCluster(self, rc, clustername,
-					nodename_resolved, stop_cluster=True)
+					nodename_resolved, stop_cluster=True,
+					disable_services=False)
 			if ret is None:
 				if LUCI_DEBUG_MODE is True:
 					luci_log.debug_verbose('CStop2: [0] nodeLeave %s' \
@@ -528,13 +539,14 @@
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('cluRestart0: ClusterStop: %d errs' \
 				% snum_err)
+		return snum_err
 
 	jnum_err = ClusterStart(self, model)
 	if jnum_err:
 		if LUCI_DEBUG_MODE is True:
 			luci_log.debug_verbose('cluRestart1: ClusterStart: %d errs' \
 				% jnum_err)
-	return snum_err + jnum_err
+	return jnum_err
 
 def ClusterDelete(self, model):
 	try:
--- conga/luci/site/luci/Extensions/RicciQueries.py	2007/08/08 21:00:07	1.7
+++ conga/luci/site/luci/Extensions/RicciQueries.py	2007/09/28 05:36:39	1.8
@@ -113,7 +113,9 @@
 
 	batch.append('<module name="cluster">')
 	batch.append('<request API_version="1.0">')
-	batch.append('<function_call name="start_node"/>')
+	batch.append('<function_call name="start_node">')
+	batch.append('<var mutable="false" name="enable_services" type="boolean" value="true"/>"')
+	batch.append('</function_call>')
 	batch.append('</request>')
 	batch.append('</module>')
 	batch.append('</batch>')
@@ -412,7 +414,10 @@
 	ricci_xml = rc.batch_run(batch_str)
 	return batchAttemptResult(ricci_xml)
 
-def nodeLeaveCluster(rc, cluster_shutdown=False, purge=False):
+def nodeLeaveCluster(	rc,
+						cluster_shutdown=False,
+						purge=False,
+						disable_services=True):
 	cshutdown = 'false'
 	if cluster_shutdown is True:
 		cshutdown = 'true'
@@ -421,7 +426,11 @@
 	if purge is False:
 		purge_conf = 'false'
 
-	batch_str = '<module name="cluster"><request API_version="1.0"><function_call name="stop_node"><var mutable="false" name="cluster_shutdown" type="boolean" value="%s"/><var mutable="false" name="purge_conf" type="boolean" value="%s"/></function_call></request></module>' % (cshutdown, purge_conf)
+	disable_svc = 'true'
+	if disable_services is False:
+		disable_svc = 'false'
+		
+	batch_str = '<module name="cluster"><request API_version="1.0"><function_call name="stop_node"><var mutable="false" name="cluster_shutdown" type="boolean" value="%s"/><var mutable="false" name="purge_conf" type="boolean" value="%s"/><var mutable="false" name="disable_services" type="boolean" value="%s"/></function_call></request></module>' % (cshutdown, purge_conf, disable_svc)
 
 	ricci_xml = rc.batch_run(batch_str)
 	return batchAttemptResult(ricci_xml)
@@ -432,12 +441,16 @@
 	ricci_xml = rc.batch_run(batch_str)
 	return batchAttemptResult(ricci_xml)
 
-def nodeJoinCluster(rc, cluster_startup=False):
+def nodeJoinCluster(rc, cluster_startup=False, enable_services=True):
 	cstartup = 'false'
 	if cluster_startup is True:
 		cstartup = 'true'
 
-	batch_str = '<module name="cluster"><request API_version="1.0"><function_call name="start_node"><var mutable="false" name="cluster_startup" type="boolean" value="%s"/></function_call></request></module>' % cstartup
+	enable_services = 'true'
+	if enable_services is False:
+		enable_services = 'false'
+
+	batch_str = '<module name="cluster"><request API_version="1.0"><function_call name="start_node"><var mutable="false" name="cluster_startup" type="boolean" value="%s"/><var mutable="false" name="enable_services" type="boolean" value="%s"/></function_call></request></module>' % (cstartup, enable_services)
 
 	ricci_xml = rc.batch_run(batch_str)
 	return batchAttemptResult(ricci_xml)




More information about the Cluster-devel mailing list