|
@@ -33,6 +33,7 @@ Copyright (c) 2010 Red Hat, Inc.
|
|
|
# THE POSSIBILITY OF SUCH DAMAGE.
|
|
# THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
|
|
import random
|
|
import random
|
|
|
|
|
+import socket
|
|
|
from UserDict import UserDict
|
|
from UserDict import UserDict
|
|
|
from cts.CTStests import *
|
|
from cts.CTStests import *
|
|
|
from corosync import CpgTestAgent
|
|
from corosync import CpgTestAgent
|
|
@@ -405,7 +406,6 @@ class CpgMsgOrderBase(CoroTest):
|
|
|
ret = CoroTest.setup(self, node)
|
|
ret = CoroTest.setup(self, node)
|
|
|
|
|
|
|
|
for n in self.CM.Env["nodes"]:
|
|
for n in self.CM.Env["nodes"]:
|
|
|
- self.total_num_msgs = self.total_num_msgs + self.num_msgs_per_node
|
|
|
|
|
self.CM.cpg_agent[n].clean_start()
|
|
self.CM.cpg_agent[n].clean_start()
|
|
|
self.CM.cpg_agent[n].cpg_join(self.name)
|
|
self.CM.cpg_agent[n].cpg_join(self.name)
|
|
|
self.CM.cpg_agent[n].record_messages()
|
|
self.CM.cpg_agent[n].record_messages()
|
|
@@ -420,6 +420,10 @@ class CpgMsgOrderBase(CoroTest):
|
|
|
def wait_and_validate_order(self):
|
|
def wait_and_validate_order(self):
|
|
|
msgs = {}
|
|
msgs = {}
|
|
|
|
|
|
|
|
|
|
+ self.total_num_msgs = 0
|
|
|
|
|
+ for n in self.CM.Env["nodes"]:
|
|
|
|
|
+ self.total_num_msgs = self.total_num_msgs + self.num_msgs_per_node
|
|
|
|
|
+
|
|
|
for n in self.CM.Env["nodes"]:
|
|
for n in self.CM.Env["nodes"]:
|
|
|
msgs[n] = []
|
|
msgs[n] = []
|
|
|
stopped = False
|
|
stopped = False
|
|
@@ -427,7 +431,11 @@ class CpgMsgOrderBase(CoroTest):
|
|
|
|
|
|
|
|
while len(msgs[n]) < self.total_num_msgs and waited < 360:
|
|
while len(msgs[n]) < self.total_num_msgs and waited < 360:
|
|
|
|
|
|
|
|
- msg = self.CM.cpg_agent[n].read_messages(50)
|
|
|
|
|
|
|
+ try:
|
|
|
|
|
+ msg = self.CM.cpg_agent[n].read_messages(50)
|
|
|
|
|
+ except:
|
|
|
|
|
+ return self.failure('connection to test cpg_agent failed.')
|
|
|
|
|
+
|
|
|
if not msg == None:
|
|
if not msg == None:
|
|
|
msgl = msg.split(";")
|
|
msgl = msg.split(";")
|
|
|
|
|
|
|
@@ -878,6 +886,7 @@ class VoteQuorumGoDown(VoteQuorumBase):
|
|
|
def __call__(self, node):
|
|
def __call__(self, node):
|
|
|
self.incr("calls")
|
|
self.incr("calls")
|
|
|
|
|
|
|
|
|
|
+ self.victims = []
|
|
|
pats = []
|
|
pats = []
|
|
|
pats.append("%s .*VQ notification quorate: 0" % self.listener)
|
|
pats.append("%s .*VQ notification quorate: 0" % self.listener)
|
|
|
pats.append("%s .*NQ notification quorate: 0" % self.listener)
|
|
pats.append("%s .*NQ notification quorate: 0" % self.listener)
|