
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_nightly/... Build Number: 1207 Build Status: Still Failing Triggered By: Started by timer ------------------------------------- Changes Since Last Success: ------------------------------------- Changes for Build #1201 [Michal Skrivanek] hc: Use non-lago deployment in hc suite Changes for Build #1202 [Michal Skrivanek] hc: Use non-lago deployment in hc suite Changes for Build #1203 [Michal Skrivanek] hc: Use non-lago deployment in hc suite Changes for Build #1204 [Michal Skrivanek] hc: Use non-lago deployment in hc suite Changes for Build #1205 [Michal Skrivanek] hc: Use non-lago deployment in hc suite Changes for Build #1206 [Michal Skrivanek] hc: Use non-lago deployment in hc suite Changes for Build #1207 [Michal Skrivanek] hc: Use non-lago deployment in hc suite ----------------- Failed Tests: ----------------- 1 tests failed. FAILED: basic-suite-master.test-scenarios.test_007_sd_reattach.test_deactivate_storage_domain Error Message: ovirtsdk4.Error: Fault reason is "Operation Failed". Fault detail is "[Cannot deactivate Storage. Storage Domain OVF data is currently being updated.]". HTTP response code is 409. Stack Trace: engine_api = <ovirtsdk4.Connection object at 0x7fdda3c6bb38> @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 'UploadStream' not in err.args[0]: raise return False assertions.assert_true_within_short(
_deactivate_with_running_ovf_update_task)
basic-suite-master/test-scenarios/test_007_sd_reattach.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ost_utils/ost_utils/assertions.py:92: in assert_true_within_short error_message=error_message) ost_utils/ost_utils/assertions.py:74: in assert_equals_within_short error_message=error_message ost_utils/ost_utils/assertions.py:40: in assert_equals_within res = func() basic-suite-master/test-scenarios/test_007_sd_reattach.py:68: in _deactivate_with_running_ovf_update_task query={'correlation_id': correlation_id}) /usr/lib64/python3.6/site-packages/ovirtsdk4/services.py:3392: in deactivate return self._internal_action(action, 'deactivate', None, headers, query, wait) /usr/lib64/python3.6/site-packages/ovirtsdk4/service.py:299: in _internal_action return future.wait() if wait else future /usr/lib64/python3.6/site-packages/ovirtsdk4/service.py:55: in wait return self._code(response) /usr/lib64/python3.6/site-packages/ovirtsdk4/service.py:296: in callback self._check_fault(response) /usr/lib64/python3.6/site-packages/ovirtsdk4/service.py:134: in _check_fault self._raise_error(response, body.fault) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ response = <ovirtsdk4.http.Response object at 0x7fdda3c6bc88> detail = <ovirtsdk4.types.Fault object at 0x7fdda3c6b160> @staticmethod def _raise_error(response, detail=None): """ Creates and raises an error containing the details of the given HTTP response and fault. This method is intended for internal use by other components of the SDK. Refrain from using it directly, as backwards compatibility isn't guaranteed. """ fault = detail if isinstance(detail, types.Fault) else None msg = '' if fault: if fault.reason: if msg: msg += ' ' msg = msg + 'Fault reason is "%s".' % fault.reason if fault.detail: if msg: msg += ' ' msg = msg + 'Fault detail is "%s".' % fault.detail if response: if response.code: if msg: msg += ' ' msg = msg + 'HTTP response code is %s.' % response.code if response.message: if msg: msg += ' ' msg = msg + 'HTTP response message is "%s".' % response.message if isinstance(detail, six.string_types): if msg: msg += ' ' msg = msg + detail + '.' class_ = Error if response is not None: if response.code in [401, 403]: class_ = AuthError elif response.code == 404: class_ = NotFoundError error = class_(msg) error.code = response.code if response else None error.fault = fault
raise error
E ovirtsdk4.Error: Fault reason is "Operation Failed". Fault detail is "[Cannot deactivate Storage. Storage Domain OVF data is currently being updated.]". HTTP response code is 409. /usr/lib64/python3.6/site-packages/ovirtsdk4/service.py:118: Error