コード例 #1
0
def disable_sbd(lib_env, ignore_offline_nodes=False):
    """
    Disable SBD on all nodes in cluster.

    lib_env -- LibraryEnvironment
    ignore_offline_nodes -- if True, omit offline nodes
    """
    node_list = _get_online_nodes(lib_env, _get_cluster_nodes(lib_env),
                                  ignore_offline_nodes)

    if lib_env.is_cman_cluster:
        nodes_task.check_corosync_offline_on_nodes(lib_env.node_communicator(),
                                                   lib_env.report_processor,
                                                   node_list,
                                                   ignore_offline_nodes)

    sbd.set_stonith_watchdog_timeout_to_zero_on_all_nodes(
        lib_env.node_communicator(), node_list)
    sbd.disable_sbd_service_on_all_nodes(lib_env.report_processor,
                                         lib_env.node_communicator(),
                                         node_list)

    if not lib_env.is_cman_cluster:
        lib_env.report_processor.process(
            reports.cluster_restart_required_to_apply_changes())
コード例 #2
0
ファイル: sbd.py プロジェクト: HideoYamauchi/pcs
def disable_sbd(lib_env, ignore_offline_nodes=False):
    """
    Disable SBD on all nodes in cluster.

    lib_env -- LibraryEnvironment
    ignore_offline_nodes -- if True, omit offline nodes
    """
    node_list = _get_online_nodes(
        lib_env, _get_cluster_nodes(lib_env), ignore_offline_nodes
    )

    if lib_env.is_cman_cluster:
        nodes_task.check_corosync_offline_on_nodes(
            lib_env.node_communicator(),
            lib_env.report_processor,
            node_list,
            ignore_offline_nodes
        )

    sbd.set_stonith_watchdog_timeout_to_zero_on_all_nodes(
        lib_env.node_communicator(), node_list
    )
    sbd.disable_sbd_service_on_all_nodes(
        lib_env.report_processor,
        lib_env.node_communicator(),
        node_list
    )

    if not lib_env.is_cman_cluster:
        lib_env.report_processor.process(
            reports.cluster_restart_required_to_apply_changes()
        )
コード例 #3
0
 def test_success(self, mock_func):
     mock_com = mock.MagicMock(spec_set=NodeCommunicator)
     mock_rep = MockLibraryReportProcessor()
     node_list = [NodeAddresses("node" + str(i)) for i in range(5)]
     lib_sbd.disable_sbd_service_on_all_nodes(mock_rep, mock_com, node_list)
     mock_func.assert_called_once_with(lib_sbd.disable_sbd_service_on_node,
                                       [([mock_rep, mock_com, node], {})
                                        for node in node_list])
コード例 #4
0
ファイル: test_lib_sbd.py プロジェクト: dchirikov/pcs
 def test_success(self, mock_func):
     mock_com = mock.MagicMock(spec_set=NodeCommunicator)
     mock_rep = MockLibraryReportProcessor()
     node_list = [NodeAddresses("node" + str(i)) for i in range(5)]
     lib_sbd.disable_sbd_service_on_all_nodes(mock_rep, mock_com, node_list)
     mock_func.assert_called_once_with(
         lib_sbd.disable_sbd_service_on_node,
         [([mock_rep, mock_com, node], {}) for node in node_list]
     )