Testing: IP allocation simulation - print maximum number of unhealthy nodes.
authorMartin Schwenke <martin@meltin.net>
Tue, 3 Aug 2010 01:37:34 +0000 (11:37 +1000)
committerMartin Schwenke <martin@meltin.net>
Tue, 3 Aug 2010 01:37:34 +0000 (11:37 +1000)
This can imply something about imbalance.

Signed-off-by: Martin Schwenke <martin@meltin.net>
tests/takeover/ctdb_takeover.py

index 8e5570febd4d9106008fa20b5fcf3db720dc97cc..f9c1e2df773740175f4375050f47386568d4a1c9 100755 (executable)
@@ -124,10 +124,12 @@ class Cluster(object):
         self.no_ip_failback = options.no_ip_failback
         self.all_public_ips = set()
 
+        # Statistics
         self.ip_moves = []
         self.grat_ip_moves = []
         self.imbalance = []
         self.events = -1
+        self.num_unhealthy = []
 
         self.prev = None
 
@@ -146,6 +148,7 @@ class Cluster(object):
         print "Gratuitous IP moves: %6d" % sum(self.grat_ip_moves)
         print "Max imbalance:       %6d" % max(self.imbalance)
         print "Final imbalance:     %6d" % self.imbalance[-1]
+        print "Maximum unhealthy:   %6d" % max(self.num_unhealthy)
         print_end()
 
     def find_pnn_with_ip(self, ip):
@@ -483,6 +486,10 @@ class Cluster(object):
             print imbalance
             print_end()
 
+        num_unhealthy = len(self.nodes) - \
+            len([n for n in self.nodes if n.healthy])
+        self.num_unhealthy.append(num_unhealthy)
+
         if options.show:
             print_begin("STATE")
             print self