mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2025-07-26 13:14:16 +00:00
CTS: add simul start/stop to GenTestClasses
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2760 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
parent
4863b8bb4a
commit
6eb20099a4
@ -79,6 +79,8 @@ class CoroTest(CTSTest):
|
||||
self.stop(n)
|
||||
return ret
|
||||
|
||||
def config_valid(self, config):
|
||||
return True
|
||||
|
||||
def teardown(self, node):
|
||||
self.CM.apply_default_config()
|
||||
@ -200,6 +202,9 @@ class CpgCfgChgOnLowestNodeJoin(CTSTest):
|
||||
self.need_all_up = False
|
||||
self.config['compatibility'] = 'none'
|
||||
|
||||
def config_valid(self, config):
|
||||
return True
|
||||
|
||||
def lowest_ip_set(self):
|
||||
self.lowest = None
|
||||
for n in self.CM.Env["nodes"]:
|
||||
@ -688,6 +693,14 @@ class VoteQuorumBase(CoroTest):
|
||||
#self.CM.votequorum_agent[self.listener].record_events()
|
||||
return ret
|
||||
|
||||
|
||||
def config_valid(self, config):
|
||||
if config.has_key('totem/rrp_mode'):
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
|
||||
def wait_for_quorum_change(self):
|
||||
found = False
|
||||
max_timeout = 5 * 60
|
||||
@ -845,7 +858,67 @@ class VoteQuorumGoUp(VoteQuorumBase):
|
||||
return self.success()
|
||||
|
||||
|
||||
|
||||
###################################################################
|
||||
class GenSimulStart(CoroTest):
|
||||
###################################################################
|
||||
'''Start all the nodes ~ simultaneously'''
|
||||
def __init__(self, cm):
|
||||
CoroTest.__init__(self,cm)
|
||||
self.name="GenSimulStart"
|
||||
self.need_all_up = False
|
||||
self.stopall = SimulStopLite(cm)
|
||||
self.startall = SimulStartLite(cm)
|
||||
|
||||
def __call__(self, dummy):
|
||||
'''Perform the 'SimulStart' test. '''
|
||||
self.incr("calls")
|
||||
|
||||
# We ignore the "node" parameter...
|
||||
|
||||
# Shut down all the nodes...
|
||||
ret = self.stopall(None)
|
||||
if not ret:
|
||||
return self.failure("Setup failed")
|
||||
|
||||
self.CM.clear_all_caches()
|
||||
|
||||
if not self.startall(None):
|
||||
return self.failure("Startall failed")
|
||||
|
||||
return self.success()
|
||||
|
||||
###################################################################
|
||||
class GenSimulStop(CoroTest):
|
||||
###################################################################
|
||||
'''Stop all the nodes ~ simultaneously'''
|
||||
def __init__(self, cm):
|
||||
CoroTest.__init__(self,cm)
|
||||
self.name="GenSimulStop"
|
||||
self.startall = SimulStartLite(cm)
|
||||
self.stopall = SimulStopLite(cm)
|
||||
self.need_all_up = True
|
||||
|
||||
def __call__(self, dummy):
|
||||
'''Perform the 'GenSimulStop' test. '''
|
||||
self.incr("calls")
|
||||
|
||||
# We ignore the "node" parameter...
|
||||
|
||||
# Start up all the nodes...
|
||||
ret = self.startall(None)
|
||||
if not ret:
|
||||
return self.failure("Setup failed")
|
||||
|
||||
if not self.stopall(None):
|
||||
return self.failure("Stopall failed")
|
||||
|
||||
return self.success()
|
||||
|
||||
|
||||
GenTestClasses = []
|
||||
GenTestClasses.append(GenSimulStart)
|
||||
GenTestClasses.append(GenSimulStop)
|
||||
GenTestClasses.append(CpgMsgOrderBasic)
|
||||
GenTestClasses.append(CpgMsgOrderZcb)
|
||||
GenTestClasses.append(CpgCfgChgOnExecCrash)
|
||||
@ -872,9 +945,7 @@ AllTestClasses.append(MemLeakSession)
|
||||
AllTestClasses.append(FlipTest)
|
||||
AllTestClasses.append(RestartTest)
|
||||
AllTestClasses.append(StartOnebyOne)
|
||||
AllTestClasses.append(SimulStart)
|
||||
AllTestClasses.append(StopOnebyOne)
|
||||
AllTestClasses.append(SimulStop)
|
||||
AllTestClasses.append(RestartOnebyOne)
|
||||
|
||||
|
||||
@ -955,7 +1026,7 @@ def CoroTestList(cm, audits):
|
||||
for cfg in configs:
|
||||
for testclass in GenTestClasses:
|
||||
bound_test = testclass(cm)
|
||||
if bound_test.is_applicable():
|
||||
if bound_test.is_applicable() and bound_test.config_valid(cfg):
|
||||
bound_test.Audits = audits
|
||||
for c in cfg.keys():
|
||||
bound_test.config[c] = cfg[c]
|
||||
|
Loading…
Reference in New Issue
Block a user