def get_sbd_config(node): try: config_list.append({ "node": node, "config": environment_file_to_dict( sbd.get_sbd_config(lib_env.node_communicator(), node) ) }) successful_node_list.append(node) except NodeCommandUnsuccessfulException as e: report_item_list.append(reports.unable_to_get_sbd_config( node.label, e.reason, Severities.WARNING )) except NodeCommunicationException as e: report_item_list.append(node_communicator_exception_to_report_item( e, severity=Severities.WARNING )) report_item_list.append(reports.unable_to_get_sbd_config( node.label, "", #reason is in previous report item Severities.WARNING ))
def get_local_sbd_config(): """ Get local SBD configuration. Returns SBD configuration file as string. Raises LibraryError on any failure. """ try: with open(settings.sbd_config, "r") as sbd_cfg: return sbd_cfg.read() except EnvironmentError as e: raise LibraryError( reports.unable_to_get_sbd_config("local node", str(e)))
def get_local_sbd_config(): """ Get local SBD configuration. Returns SBD configuration file as string. Raises LibraryError on any failure. """ try: with open(settings.sbd_config, "r") as sbd_cfg: return sbd_cfg.read() except EnvironmentError as e: raise LibraryError(reports.unable_to_get_sbd_config( "local node", str(e) ))
def test_config_read_error(self, mock_sbd_config, mock_config_exists): mock_config_exists.return_value = True node = "local node" error = "error string" mock_sbd_config.side_effect = LibraryError( reports.unable_to_get_sbd_config(node, error)) assert_raise_library_error( lib_sbd.get_local_sbd_device_list, (Severities.ERROR, report_codes.UNABLE_TO_GET_SBD_CONFIG, { "node": node, "reason": error, })) mock_config_exists.assert_called_once_with(settings.sbd_config) mock_sbd_config.assert_called_once_with()
def _process_response(self, response): report = response_to_report_item(response, severity=ReportItemSeverity.WARNING) node_label = response.request.target.label if report is not None: if not response.was_connected: self._report(report) self._report( reports.unable_to_get_sbd_config(node_label, "", ReportItemSeverity.WARNING)) return self._config_list.append({ "node": node_label, "config": environment_file_to_dict(response.data) }) self._successful_target_list.append(node_label)
def _process_response(self, response): report = response_to_report_item( response, severity=ReportItemSeverity.WARNING ) node_label = response.request.target.label if report is not None: if not response.was_connected: self._report(report) self._report( reports.unable_to_get_sbd_config( node_label, "", ReportItemSeverity.WARNING ) ) return self._config_list.append({ "node": node_label, "config": environment_file_to_dict(response.data) }) self._successful_target_list.append(node_label)
def test_config_read_error(self, mock_sbd_config, mock_config_exists): # pylint: disable=no-self-use mock_config_exists.return_value = True node = "local node" error = "error string" mock_sbd_config.side_effect = LibraryError( reports.unable_to_get_sbd_config(node, error) ) assert_raise_library_error( lib_sbd.get_local_sbd_device_list, ( Severities.ERROR, report_codes.UNABLE_TO_GET_SBD_CONFIG, { "node": node, "reason": error, } ) ) mock_config_exists.assert_called_once_with(settings.sbd_config) mock_sbd_config.assert_called_once_with()