[Cluster-devel] conga/luci/site/luci/Extensions cluster_adapte ...
jparsons at sourceware.org
jparsons at sourceware.org
Tue Nov 7 01:32:36 UTC 2006
CVSROOT: /cvs/cluster
Module name: conga
Changes by: jparsons at sourceware.org 2006-11-07 01:32:34
Modified files:
luci/site/luci/Extensions: cluster_adapters.py
Log message:
separate fence info methods
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/cluster_adapters.py.diff?cvsroot=cluster&r1=1.148&r2=1.149
--- conga/luci/site/luci/Extensions/cluster_adapters.py 2006/11/06 23:55:23 1.148
+++ conga/luci/site/luci/Extensions/cluster_adapters.py 2006/11/07 01:32:33 1.149
@@ -2867,7 +2867,7 @@
return map
-def getFenceInfo(self, model, request):
+def getFenceInfo(self, model, request, fornode = None):
clustername = request['clustername']
baseurl = request['URL']
map = {}
@@ -2882,7 +2882,7 @@
map['shared2'] = shared2
map['fencedevs'] = fencedevs
nodename = ""
- if request == None: #this is being called by the fence device list page
+ if fornode == None: #this is being called by the fence device list page
#Get list of fence devices
fds = model.getFenceDevices()
for fd in fds:
@@ -3007,6 +3007,53 @@
return map
+def getFencesInfo(self, model, request):
+ clustername = request['clustername']
+ baseurl = request['URL']
+ map = {}
+ fencedevs = list() #This is for the fencedev list page
+ map['fencedevs'] = fencedevs
+ #Get list of fence devices
+ fds = model.getFenceDevices()
+ for fd in fds:
+ #create fencedev hashmap
+ if fd.isShared() == True:
+ fencedev = {}
+ attr_hash = fd.getAttributes()
+ kees = attr_hash.keys()
+ for kee in kees:
+ fencedev[kee] = attr_hash[kee] #copy attrs over
+ try:
+ fencedev['pretty_name'] = FENCE_OPTS[fd.getAgentType()]
+ except:
+ fencedev['pretty_name'] = fd.getAgentType()
+
+ nodes_used = list() #This section determines which nodes use the dev
+ nodes = model.getNodes()
+ for node in nodes:
+ flevels = node.getFenceLevels()
+ for flevel in flevels: #These are the method blocks...
+ kids = flevel.getChildren()
+ for kid in kids: #These are actual devices in each level
+ if kid.getName().strip == fd.getName().strip():
+ #See if this fd already has an entry for this node
+ found_duplicate = False
+ for item in nodes_used:
+ if item['nodename'] == node.getName().strip():
+ found_duplicate = True
+ if found_duplicate == True:
+ continue
+ node_hash = {}
+ node_hash['nodename'] = node.getName().strip()
+ node_hash['nodeurl'] = baseurl + "#fence" + "?clustername=" + clustername + "&nodename=" + node.getName() + "&pagetype=" + NODE
+ nodes_used.append(node_hash)
+
+ fencedev['nodesused'] = nodes_used
+ fencedevs.append(fencedev)
+
+ return map
+
+
def getLogsForNode(self, request):
try:
nodename = request['nodename']
More information about the Cluster-devel
mailing list