def test_success_verbose(self): self.mock_runner.run.return_value = ("status info", "", 0) self.assertEqual( "status info", lib.qdevice_status_cluster_text(self.mock_runner, verbose=True) ) self.mock_runner.run.assert_called_once_with([_qnetd_tool, "-l", "-v"])
def test_error(self): self.mock_runner.run.return_value = ("some info", "status error", 1) assert_raise_library_error( lambda: lib.qdevice_status_cluster_text(self.mock_runner), ( severity.ERROR, report_codes.QDEVICE_GET_STATUS_ERROR, { "model": "net", "reason": "status error\nsome info", } ) ) self.mock_runner.run.assert_called_once_with([_qnetd_tool, "-l"])
def _check_qdevice_not_used(reporter, runner, model, force=False): _check_model(model) connected_clusters = [] if model == "net": try: status = qdevice_net.qdevice_status_cluster_text(runner) connected_clusters = qdevice_net.qdevice_connected_clusters(status) except qdevice_net.QnetdNotRunningException: pass if connected_clusters: reporter.process(reports.qdevice_used_by_clusters( connected_clusters, ReportItemSeverity.WARNING if force else ReportItemSeverity.ERROR, None if force else report_codes.FORCE_QDEVICE_USED ))
def qdevice_status_text(lib_env, model, verbose=False, cluster=None): """ Get runtime status of a quorum device in plain text string model qdevice model to query bool verbose get more detailed output string cluster show information only about specified cluster """ _ensure_not_cman(lib_env) _check_model(model) runner = lib_env.cmd_runner() return ( qdevice_net.qdevice_status_generic_text(runner, verbose) + qdevice_net.qdevice_status_cluster_text(runner, cluster, verbose) )
def qdevice_status_text(lib_env, model, verbose=False, cluster=None): """ Get runtime status of a quorum device in plain text string model qdevice model to query bool verbose get more detailed output string cluster show information only about specified cluster """ _check_model(model) runner = lib_env.cmd_runner() try: return ( qdevice_net.qdevice_status_generic_text(runner, verbose) + qdevice_net.qdevice_status_cluster_text(runner, cluster, verbose) ) except qdevice_net.QnetdNotRunningException: raise LibraryError( reports.qdevice_not_running(model) )
def _check_qdevice_not_used( reporter: ReportProcessor, runner, model, force=False ): _check_model(model) connected_clusters: List[str] = [] if model == "net": try: status = qdevice_net.qdevice_status_cluster_text(runner) connected_clusters = qdevice_net.qdevice_connected_clusters(status) except qdevice_net.QnetdNotRunningException: pass if connected_clusters: reporter.report( ReportItem( severity=get_severity(report_codes.FORCE, force), message=reports.messages.QdeviceUsedByClusters( connected_clusters, ), ) ) if reporter.has_errors: raise LibraryError()
def test_success_verbose(self): self.mock_runner.run.return_value = ("status info", "", 0) self.assertEqual( "status info", lib.qdevice_status_cluster_text(self.mock_runner, verbose=True)) self.mock_runner.run.assert_called_once_with([_qnetd_tool, "-l", "-v"])