Beispiel #1
0
    def test_success_filter_whitespace(self):
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        agents = [
            "",
            "ocf",
            "  lsb",
            "service  ",
            "systemd",
            "  nagios  ",
            "",
            "stonith",
            "",
        ]
        # retval is number of providers found
        mock_runner.run.return_value = (
            "\n".join(agents) + "\n",
            "",
            len(agents)
        )

        self.assertEqual(
            lib_ra.list_resource_agents_standards(mock_runner),
            [
                "lsb",
                "nagios",
                "ocf",
                "service",
                "systemd",
            ]
        )

        mock_runner.run.assert_called_once_with([
            "/usr/sbin/crm_resource", "--list-standards"
        ])
Beispiel #2
0
def list_standards(lib_env: LibraryEnvironment) -> List[str]:
    """
    List resource agents standards (ocf, lsb, ... ) on the local host
    """
    return [
        standard
        for standard in list_resource_agents_standards(lib_env.cmd_runner())
        if standard != "stonith"
    ]
Beispiel #3
0
    def test_error(self):
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        mock_runner.run.return_value = ("lsb", "error", 1)

        self.assertEqual(lib_ra.list_resource_agents_standards(mock_runner),
                         ["lsb"])

        mock_runner.run.assert_called_once_with(
            ["/usr/sbin/crm_resource", "--list-standards"])
Beispiel #4
0
    def test_empty(self):
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        mock_runner.run.return_value = ("", "", 0)

        self.assertEqual(
            lib_ra.list_resource_agents_standards(mock_runner),
            []
        )

        mock_runner.run.assert_called_once_with([
            "/usr/sbin/crm_resource", "--list-standards"
        ])
Beispiel #5
0
def list_agents_for_standard_and_provider(lib_env, standard_provider=None):
    """
    List resource agents for specified standard on the local host
    string standard_provider standard[:provider], e.g. None, ocf, ocf:pacemaker
    """
    if standard_provider:
        standards = [standard_provider]
    else:
        standards = resource_agent.list_resource_agents_standards(lib_env.cmd_runner())
    agents = []
    for std in standards:
        agents += resource_agent.list_resource_agents(lib_env.cmd_runner(), std)
    return sorted(
        agents,
        # works with both str and unicode in both python 2 and 3
        key=lambda x: x.lower(),
    )
Beispiel #6
0
def list_agents_for_standard_and_provider(lib_env, standard_provider=None):
    """
    List resource agents for specified standard on the local host
    string standard_provider standard[:provider], e.g. None, ocf, ocf:pacemaker
    """
    if standard_provider:
        standards = [standard_provider]
    else:
        standards = resource_agent.list_resource_agents_standards(
            lib_env.cmd_runner())
    agents = []
    for std in standards:
        agents += resource_agent.list_resource_agents(lib_env.cmd_runner(),
                                                      std)
    return sorted(
        agents,
        # works with both str and unicode in both python 2 and 3
        key=lambda x: x.lower())
Beispiel #7
0
    def test_success_and_filter_stonith_out(self):
        mock_runner = mock.MagicMock(spec_set=CommandRunner)
        mock_runner.run.return_value = ("\n".join([
            "ocf",
            "lsb",
            "service",
            "systemd",
            "nagios",
            "stonith",
            "",
        ]), "", 0)

        self.assertEqual(lib_ra.list_resource_agents_standards(mock_runner), [
            "lsb",
            "nagios",
            "ocf",
            "service",
            "systemd",
        ])

        mock_runner.run.assert_called_once_with(
            ["/usr/sbin/crm_resource", "--list-standards"])
Beispiel #8
0
def list_standards(lib_env):
    """
    List resource agents standards (ocf, lsb, ... ) on the local host
    """
    return resource_agent.list_resource_agents_standards(lib_env.cmd_runner())
Beispiel #9
0
def list_standards(lib_env):
    """
    List resource agents standards (ocf, lsb, ... ) on the local host
    """
    return resource_agent.list_resource_agents_standards(lib_env.cmd_runner())