Beispiel #1
0
    def _fixture_metadata():
        def _parameter(name, unique_group):
            return ResourceAgentParameter(
                name,
                shortdesc=None,
                longdesc=None,
                type="string",
                default=None,
                enum_values=None,
                required=False,
                advanced=False,
                deprecated=False,
                deprecated_by=None,
                deprecated_desc=None,
                unique_group=unique_group,
                reloadable=False,
            )

        return ResourceAgentMetadata(
            name=ResourceAgentName("ocf", "pacemaker", "pcstest"),
            agent_exists=True,
            ocf_version=const.OCF_1_0,
            shortdesc=None,
            longdesc=None,
            parameters=[
                _parameter("addr", "connection"),
                _parameter("port", "connection"),
                _parameter("something", None),
                _parameter("unique", "one-attr"),
            ],
            actions=[],
        )
Beispiel #2
0
def _agent_metadata_to_dict(
    agent: ResourceAgentMetadata, describe: bool = False
) -> Dict[str, str]:
    agent_dto = agent.to_dto()
    agent_dict = to_dict(agent_dto)
    del agent_dict["name"]
    agent_dict["name"] = agent.name.full_name
    agent_dict["standard"] = agent.name.standard
    agent_dict["provider"] = agent.name.provider
    agent_dict["type"] = agent.name.type

    agent_dict["actions"] = [
        _action_to_operation(action) for action in agent_dto.actions
    ]
    operations_defaults = {
        "OCF_CHECK_LEVEL": None,
        "automatic": False,
        "on_target": False,
    }
    agent_dict["default_actions"] = (
        [
            operation_dto_to_legacy_dict(op, operations_defaults)
            for op in get_default_operations(agent)
        ]
        if describe
        else []
    )
    return agent_dict
Beispiel #3
0
 def fixture_stonith_agent(actions):
     return ResourceAgentMetadata(
         ResourceAgentName("stonith", None, "fence_test"),
         agent_exists=True,
         ocf_version=OCF_1_0,
         shortdesc="",
         longdesc="",
         parameters=[],
         actions=actions,
     )
Beispiel #4
0
 def fixture_agent(actions):
     return ResourceAgentMetadata(
         ResourceAgentName("ocf", "pacemaker", "Dummy"),
         agent_exists=True,
         ocf_version=OCF_1_0,
         shortdesc="",
         longdesc="",
         parameters=[],
         actions=actions,
     )
Beispiel #5
0
def _fixture_metadata(name, parameters):
    return ResourceAgentMetadata(
        name=name,
        agent_exists=True,
        ocf_version=const.OCF_1_0,
        shortdesc=None,
        longdesc=None,
        parameters=parameters,
        actions=[],
    )
Beispiel #6
0
def _fixture_void(stonith=False):
    return ResourceAgentFacade(
        ResourceAgentMetadata(
            ResourceAgentName("stonith", None, "type")
            if stonith else ResourceAgentName("standard", "provider", "type"),
            agent_exists=False,
            ocf_version=const.OCF_1_0,
            shortdesc=None,
            longdesc=None,
            parameters=[],
            actions=[],
        ))
Beispiel #7
0
 def test_success(self):
     name = ResourceAgentName("ocf", "pacemaker", "Dummy")
     self.assertEqual(
         name_to_void_metadata(name),
         ResourceAgentMetadata(
             name,
             False,
             const.OCF_1_0,
             shortdesc=None,
             longdesc=None,
             parameters=[],
             actions=[],
         ),
     )
Beispiel #8
0
def _agent_metadata_to_dict(agent: ResourceAgentMetadata,
                            describe: bool = False) -> Dict[str, str]:
    agent_dto = agent.to_dto()
    agent_dict = to_dict(agent_dto)
    del agent_dict["name"]
    agent_dict["name"] = agent.name.full_name
    agent_dict["standard"] = agent.name.standard
    agent_dict["provider"] = agent.name.provider
    agent_dict["type"] = agent.name.type

    agent_dict["actions"] = [
        action_to_operation(action, keep_extra_keys=True)
        for action in agent_dto.actions
    ]
    agent_dict["default_actions"] = (complete_operations_options(
        get_default_operations(agent, keep_extra_keys=True))
                                     if describe else [])
    return agent_dict