From mboxrd@z Thu Jan 1 00:00:00 1970 From: rmccabe@sourceware.org Date: 13 Oct 2006 21:25:15 -0000 Subject: [Cluster-devel] conga/luci cluster/form-macros site/luci/Exten ... Message-ID: <20061013212515.28353.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: conga Changes by: rmccabe at sourceware.org 2006-10-13 21:25:14 Modified files: luci/cluster : form-macros luci/site/luci/Extensions: cluster_adapters.py Log message: fix for zope brain damage that broke the fence device page Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.83&r2=1.84 http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/cluster_adapters.py.diff?cvsroot=cluster&r1=1.108&r2=1.109 --- conga/luci/cluster/form-macros 2006/10/13 21:01:59 1.83 +++ conga/luci/cluster/form-macros 2006/10/13 21:25:14 1.84 @@ -1972,7 +1972,7 @@ set_page_title('Luci ??? cluster ??? fence devices');

Shared Fence Devices for Cluster:

- +

Name:

--- conga/luci/site/luci/Extensions/cluster_adapters.py 2006/10/12 22:11:30 1.108 +++ conga/luci/site/luci/Extensions/cluster_adapters.py 2006/10/13 21:25:14 1.109 @@ -2117,7 +2117,7 @@ return resultlist -def getFenceInfo(self, model, request=None): +def getFenceInfo(self, model, request): map = {} fencedevs = list() level1 = list() @@ -2924,6 +2924,35 @@ 'smb': addSmb } +def resolveClusterChanges(self, clusterName, modelb): + try: + mb_nodes = dict.fromkeys(modelb.getNodes()) + if not mb_nodes or not len(mb_nodes): + raise + mb_map = {} + for i in iter(mb_nodes): + mb_map[i] = i + except: + return 'Unable to find cluster nodes for ' + clusterName + + try: + cluster_node = self.restrictedTraverse(PLONE_ROOT + '/systems/cluster/' + clusterName) + if not cluster_node: + raise + except: + return 'Unable to find an entry for ' + clusterName + ' in the Luci database.' + + try: + db_nodes = cluster_node.objectItems('Folder') + if not db_nodes or not len(db_nodes): + raise + db_map = {} + for i in iter(db_nodes): + db_map[i[0]] = i[0] + except: + # Should we just create them all? Can this even happen? + return 'Unable to find database entries for any nodes in ' + clusterName + def addResource(self, request, ragent): if not request.form: return (False, {'errors': ['No form was submitted.']})