kvm resiliency test: test two times the takeover if we have only one clone.

parent a2da4fde
......@@ -103,7 +103,7 @@ def runTestSuite(server_url, key_file, cert_file,
computer_id, partition_id, software,
namebase, kvm_rootinstance_name,
# Number of instances: main instance (exporter) + clones (importer).
total_instance_count="3",
total_instance_count="2",
type=None):
"""
Run KVM Resiliency Test.
......@@ -171,6 +171,10 @@ def runTestSuite(server_url, key_file, cert_file,
update-rc.d io defaults
"""
if type == 'UnitTest':
global SLEEP_TIME
SLEEP_TIME = UNIT_TEST_SLEEP_TYPE
slap = slapos.slap.slap()
slap.initializeConnection(server_url, key_file, cert_file)
partition = slap.registerComputerPartition(
......@@ -184,18 +188,33 @@ def runTestSuite(server_url, key_file, cert_file,
# In resilient stack, main instance (example with KVM) is named "kvm0",
# clones are named "kvm1", "kvm2", ...
clone_count = int(total_instance_count) - 1
# In case we have only one clone: test the takeover twice
# so that we test the reconstruction of a new clone.
if clone_count == 1:
for i in range(2):
ip = testClone(1, ip,
server_url, key_file, cert_file, computer_id, partition_id, software, namebase, partition, kvm_rootinstance_name, type)
# In case we have more than one clone: test each clone one time.
else:
# So first clone starts from 1.
current_clone = 1
# Test each clone
while current_clone <= clone_count:
ip = testClone(current_clone, ip,
server_url, key_file, cert_file, computer_id, partition_id, software, namebase, partition, kvm_rootinstance_name, type)
current_clone = current_clone + 1
# All clones have been successfully tested: success.
return True
def testClone(current_clone, ip,
server_url, key_file, cert_file, computer_id, partition_id, software, namebase, partition, kvm_rootinstance_name, test_type):
logger.info('Testing kvm%s.' % current_clone)
key = setRandomKey(ip)
logger.info('Key set for test in current KVM: %s.' % key)
if type == 'UnitTest':
SLEEP_TIME = UNIT_TEST_SLEEP_TYPE
logger.info('Sleeping for %s seconds.' % SLEEP_TIME)
time.sleep(SLEEP_TIME)
......@@ -222,7 +241,7 @@ def runTestSuite(server_url, key_file, cert_file,
time.sleep(10)
logger.info('Done.')
if type == 'UnitTest': # Run by classical erp5testnode using slapproxy
if test_type == 'UnitTest': # Run by classical erp5testnode using slapproxy
# Run slapos node instance
# XXX hardcoded
slapos_configuration_file_path = os.path.join(
......@@ -260,9 +279,4 @@ def runTestSuite(server_url, key_file, cert_file,
# Setup "new old ip" for next clone, so that it will test it is different
# from current clone
ip = new_ip
current_clone = current_clone + 1
# All clones have been successfully tested: success.
return True
return new_ip
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment