cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga/luci/site/luci/Extensions/ClusterModel M ...
Date: 22 Jan 2009 21:31:42 -0000	[thread overview]
Message-ID: <20090122213142.13021.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/cluster
Module name:	conga
Branch: 	RHEL5
Changes by:	rmccabe at sourceware.org	2009-01-22 21:31:41

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

Log message:
	Fix 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.10&r2=1.1.4.11
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ClusterModel/QuorumD.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.2&r2=1.1.4.3

--- conga/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py	2009/01/22 20:35:27	1.1.4.10
+++ conga/luci/site/luci/Extensions/ClusterModel/ModelBuilder.py	2009/01/22 21:31:41	1.1.4.11
@@ -1101,6 +1101,25 @@
           continue
       self.__removeReferences(tagobj, t)
 
+  def get_expected_votes(self):
+    node_votes = 0
+    qdisk_votes = 0
+
+    if self.quorumd_ptr is not None:
+      try:
+        qdisk_votes = int(self.quorumd_ptr.getVotes())
+      except:
+        qdisk_votes = 0
+
+    for i in self.getNodes():
+      try:
+        cur_votes = int(i.getVotes())
+      except:
+        cur_votes = 1
+      node_votes += cur_votes
+
+    return node_votes + qdisk_votes
+
   def updateReferences(self):
     self.__updateReferences(self.cluster_ptr)
   def __updateReferences(self, level):
@@ -1135,17 +1154,17 @@
         self.cluster_ptr.addChild(cman)
         self.CMAN_ptr = cman
 
-      if clusternodes_count == 2:
-        if not self.isQuorumd():
+      if not self.isQuorumd():
+        if clusternodes_count == 2:
           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')
+          self.CMAN_ptr.removeAttribute('expected_votes')
       else:
         self.CMAN_ptr.removeAttribute('two_node')
-       
+        self.CMAN_ptr.addAttribute('expected_votes', str(self.get_expected_votes()))
+
   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
--- conga/luci/site/luci/Extensions/ClusterModel/QuorumD.py	2008/01/23 04:44:34	1.1.4.2
+++ conga/luci/site/luci/Extensions/ClusterModel/QuorumD.py	2009/01/22 21:31:41	1.1.4.3
@@ -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
@@ -13,3 +13,12 @@
   def __init__(self):
     TagObject.__init__(self)
     self.TAG_NAME = TAG_NAME
+
+  def getVotes(self):
+    try:
+      num_votes = self.getAttribute('votes')
+      if num_votes is not None:
+        return int(num_votes)
+    except:
+      pass
+    return 0



             reply	other threads:[~2009-01-22 21:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-22 21:31 rmccabe [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-01-22 20:35 [Cluster-devel] conga/luci/site/luci/Extensions/ClusterModel M rmccabe
2007-09-11 19:04 rmccabe
2007-08-28 16:57 rmccabe
2007-07-26  5:57 rmccabe
2007-05-08 21:31 rmccabe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090122213142.13021.qmail@sourceware.org \
    --to=rmccabe@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).