Ejemplo n.º 1
0
    def test_skip_agent_name_when_invalid_resource_agent_ame_raised(self):
        # pylint: disable=too-few-public-methods, unused-argument, protected-access
        invalid_agent_name = (
            "systemd:lvm2-pvscan@252:2"  # suppose it is invalid
        )

        class Agent:
            def __init__(self, runner, name):
                if name == invalid_agent_name:
                    raise lib_ra.InvalidResourceAgentName(name)
                self.name = name

            def get_name_info(self):
                return self.name

        self.assertEqual(
            ["ocf:heartbeat:Dummy"],
            lib._complete_agent_list(
                mock.MagicMock(),
                ["ocf:heartbeat:Dummy", invalid_agent_name],
                describe=False,
                search=False,
                metadata_class=Agent,
            ),
        )
Ejemplo n.º 2
0
def list_agents(lib_env, describe=True, search=None):
    """
    List all stonith agents on the local host, optionally filtered and described
    bool describe load and return agents' description as well
    string search return only agents which name contains this string
    """
    runner = lib_env.cmd_runner()
    agent_names = resource_agent.list_stonith_agents(runner)
    return _complete_agent_list(runner, agent_names, describe, search,
                                resource_agent.StonithAgent)
Ejemplo n.º 3
0
def list_agents(lib_env, describe=True, search=None):
    """
    List all stonith agents on the local host, optionally filtered and described
    bool describe load and return agents' description as well
    string search return only agents which name contains this string
    """
    runner = lib_env.cmd_runner()
    agent_names = resource_agent.list_stonith_agents(runner)
    return _complete_agent_list(
        runner,
        agent_names,
        describe,
        search,
        resource_agent.StonithAgent
    )
Ejemplo n.º 4
0
def list_agents(
    lib_env: LibraryEnvironment,
    describe: bool = True,
    search: Optional[str] = None,
) -> List[Dict[str, Any]]:
    """
    List all stonith agents on the local host, optionally filtered and described

    describe -- load and return agents' description as well
    search -- return only agents which name contains this string
    """
    runner = lib_env.cmd_runner()
    agent_names = resource_agent.list_stonith_agents(runner)
    return _complete_agent_list(
        runner, agent_names, describe, search, resource_agent.StonithAgent
    )
Ejemplo n.º 5
0
    def test_skip_agent_name_when_InvalidResourceAgentName_raised(self):
        invalid_agent_name =  "systemd:lvm2-pvscan@252:2"#suppose it is invalid
        class Agent():
            def __init__(self, runner, name):
                if name == invalid_agent_name:
                    raise lib_ra.InvalidResourceAgentName(name)
                self.name = name

            def get_name_info(self):
                return self.name

        self.assertEqual(["ocf:heartbeat:Dummy"], lib._complete_agent_list(
            mock.MagicMock(),
            ["ocf:heartbeat:Dummy", invalid_agent_name],
            describe=False,
            search=False,
            metadata_class=Agent,
        ))
Ejemplo n.º 6
0
    def test_skip_agent_name_when_invalid_resource_agent_ame_raised(self):
        # pylint: disable=too-few-public-methods, unused-argument, protected-access
        invalid_agent_name = "systemd:lvm2-pvscan@252:2"#suppose it is invalid
        class Agent():
            def __init__(self, runner, name):
                if name == invalid_agent_name:
                    raise lib_ra.InvalidResourceAgentName(name)
                self.name = name

            def get_name_info(self):
                return self.name

        self.assertEqual(["ocf:heartbeat:Dummy"], lib._complete_agent_list(
            mock.MagicMock(),
            ["ocf:heartbeat:Dummy", invalid_agent_name],
            describe=False,
            search=False,
            metadata_class=Agent,
        ))
Ejemplo n.º 7
0
def list_agents(
    lib_env: LibraryEnvironment,
    describe: bool = True,
    search: Optional[str] = None,
) -> List[Dict[str, Any]]:
    """
    List all stonith agents on the local host, optionally filtered and described

    describe -- load and return agents' description as well
    search -- return only agents which name contains this string
    """
    runner = lib_env.cmd_runner()
    return _complete_agent_list(
        runner,
        lib_env.report_processor,
        sorted(
            _get_agent_names(runner, StandardProviderTuple("stonith")),
            key=lambda item: item.full_name,
        ),
        describe,
        search,
    )