[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