CVSROOT:        /cvs/cluster
Module name:    conga
Branch:         RHEL5
Changes by:     [email protected]  2009-01-22 20:35:28

Modified files:
        luci/site/luci/Extensions/ClusterModel: ModelBuilder.py 

Log message:
        fix bz467464

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.9&r2=1.1.4.10

--- conga/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py        
2008/08/04 21:49:31     1.1.4.9
+++ conga/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py        
2009/01/22 20:35:27     1.1.4.10
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2008 Red Hat, Inc.
+# Copyright (C) 2006-2009 Red Hat, Inc.
 #
 # This program is free software; you can redistribute
 # it and/or modify it under the terms of version 2 of the
@@ -1126,22 +1126,26 @@
     return True
 
   def check_two_node(self):
-    if self.getLockType() == DLM_TYPE and self.quorumd_ptr is None:
-      clusternodes_count = len(self.clusternodes_ptr.getChildren())
+    if self.getLockType() == DLM_TYPE:
+      clusternodes_count = len(self.getNodes())
       #Make certain that there is a cman tag in the file
       #If missing, it will not hurt to add it here
       if self.CMAN_ptr is None:
         cman = Cman()
         self.cluster_ptr.addChild(cman)
         self.CMAN_ptr = cman
+
       if clusternodes_count == 2:
-        self.CMAN_ptr.addAttribute('two_node', '1')
-        self.CMAN_ptr.addAttribute('expected_votes', '1')
+        if not self.isQuorumd():
+          self.CMAN_ptr.addAttribute('two_node', '1')
+          self.CMAN_ptr.addAttribute('expected_votes', '1')
+        else:
+          self.CMAN_ptr.removeAttribute('two_node')
+          if self.CMAN_ptr.getAttribute('expected_votes') in ('0', '1'):
+            self.CMAN_ptr.removeAttribute('expected_votes')
       else:
-        if self.CMAN_ptr.getAttribute('expected_votes') in ('0', '1'):
-          self.CMAN_ptr.removeAttribute('expected_votes')
         self.CMAN_ptr.removeAttribute('two_node')
-
+       
   def dual_power_fence_check(self):
     # if 2 or more power controllers reside in the same fence level,
     # duplicate entries must be made for every controller with an

Reply via email to