Project:
https://jenkins.ovirt.org/job/ovirt-system-tests_basic-suite-master_nightly/
Build:
https://jenkins.ovirt.org/job/ovirt-system-tests_basic-suite-master_night...
Build Number: 1246
Build Status: Failure
Triggered By: Started by timer
-------------------------------------
Changes Since Last Success:
-------------------------------------
Changes for Build #1246
[Shani Leviim] engine_utils: verify job status by correlation id
-----------------
Failed Tests:
-----------------
1 tests failed.
FAILED:
basic-suite-master.test-scenarios.test_007_sd_reattach.test_deactivate_storage_domain
Error Message:
AssertionError: set() != {<JobStatus.FINISHED: 'finished'>} after 180
seconds
Stack Trace:
engine_api = <ovirtsdk4.Connection object at 0x7f522564b5c0>
@order_by(_TEST_LIST)
def test_deactivate_storage_domain(engine_api):
# TODO: uncomment once VnicSetup checks are fixed.
# TODO: this also seems to leave running tasks behind which break the
deactivation.
# TODO: it should be tested in multiple runs or properly waited for.
# VnicSetup.vnic_setup().init(engine_api.system_service(),
# VM2_NAME, DC_NAME, CLUSTER_NAME)
engine = engine_api.system_service()
dc = test_utils.data_center_service(engine_api.system_service(), DC_NAME)
correlation_id = 'deactivate_storage_domain'
def _deactivate_with_running_ovf_update_task():
try:
test_utils.get_attached_storage_domain(
dc, SD_SECOND_NFS_NAME, service=True).deactivate(
query={'correlation_id': correlation_id})
return True
except ovirtsdk4.Error as err:
# The storage domain's deactivation may fail if it has running tasks.
# In case of updating ovf_store disks task (UploadStream),
# ignore. Otherwise, raise the exception.
if not (('UploadStream' in err.args[0]) or ('OVF' in
err.args[0])):
raise
return False
assertions.assert_true_within_short(
_deactivate_with_running_ovf_update_task)
# Wait for the storage deactivation to be finished.
assertions.assert_equals_within_short(
lambda:
engine_utils.get_jobs_statuses(engine, correlation_id),
{ovirtsdk4.types.JobStatus.FINISHED}
)
basic-suite-master/test-scenarios/test_007_sd_reattach.py:85:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ost_utils/ost_utils/assertions.py:74: in assert_equals_within_short
error_message=error_message
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
func = <function test_deactivate_storage_domain.<locals>.<lambda> at
0x7f522576e0d0>
value = {<JobStatus.FINISHED: 'finished'>}, timeout = 180
allowed_exceptions = [], initial_wait = 0
error_message = "set() != {<JobStatus.FINISHED: 'finished'>} after 180
seconds"
def assert_equals_within(
func, value, timeout, allowed_exceptions=None, initial_wait=10,
error_message=None
):
allowed_exceptions = allowed_exceptions or []
res = '<no-result-obtained>'
with _EggTimer(timeout) as timer:
while not timer.elapsed():
try:
res = func()
if res == value:
return
except Exception as exc:
if _instance_of_any(exc, allowed_exceptions):
time.sleep(3)
continue
LOGGER.exception("Unhandled exception in %s", func)
raise
if initial_wait == 0:
time.sleep(3)
else:
time.sleep(initial_wait)
initial_wait = 0
try:
if error_message is None:
error_message = '%s != %s after %s seconds' % (res, value,
timeout)
raise AssertionError(error_message)
E
AssertionError: set() != {<JobStatus.FINISHED: 'finished'>} after 180
seconds
ost_utils/ost_utils/assertions.py:59: AssertionError