예제 #1
0
def remove_from_cluster(
    env: LibraryEnvironment,
    resource_remove,
    instance_name=None,
    allow_remove_multiple=False,
):
    """
    Remove group with ip resource and booth resource

    env -- provides all for communication with externals
    function resource_remove -- provisional hack til resources are moved to lib
    string instance_name -- booth instance name
    bool allow_remove_multiple -- remove all resources if more than one found
    """
    # TODO resource_remove is provisional hack til resources are moved to lib
    report_processor = env.report_processor
    booth_env = env.get_booth_env(instance_name)
    # This command does not work with booth config files at all, let's reject
    # them then.
    _ensure_live_booth_env(booth_env)

    resource.get_remover(resource_remove)(
        _find_resource_elements_for_operation(
            report_processor,
            get_resources(env.get_cib()),
            booth_env,
            allow_remove_multiple,
        )
    )
예제 #2
0
파일: booth.py 프로젝트: tomjelinek/pcs
def remove_from_cluster(env, resource_remove, allow_remove_multiple):
    #TODO resource_remove is provisional hack until resources are not moved to
    #lib
    resource.get_remover(resource_remove)(
        _find_resource_elements_for_operation(
            env, env.booth.name, allow_remove_multiple
        )
    )
예제 #3
0
def remove_from_cluster(env, resource_remove, allow_remove_multiple):
    #TODO resource_remove is provisional hack until resources are not moved to
    #lib
    resource.get_remover(resource_remove)(
        _find_resource_elements_for_operation(
            env, env.booth.name, allow_remove_multiple
        )
    )
예제 #4
0
 def call(self, resources_section, remove_multiple=False):
     mock_resource_remove = mock.Mock()
     num_of_removed_booth_resources = booth_resource.get_remover(
         mock_resource_remove
     )(
         resources_section,
         "/PATH/TO/CONF",
         remove_multiple,
     )
     return (
         mock_resource_remove,
         num_of_removed_booth_resources
     )
예제 #5
0
파일: booth.py 프로젝트: wyatt88/pcs
def remove_from_cluster(env, name, resource_remove):
    #TODO resource_remove is provisional hack until resources are not moved to
    #lib
    try:
        num_of_removed_booth_resources = resource.get_remover(resource_remove)(
            get_resources(env.get_cib()),
            get_config_file_name(name),
        )
        if num_of_removed_booth_resources > 1:
            env.report_processor.process(
                booth_reports.booth_multiple_times_in_cib(
                    name,
                    severity=ReportItemSeverity.WARNING,
                )
            )
    except resource.BoothNotFoundInCib:
        raise LibraryError(booth_reports.booth_not_exists_in_cib(name))
    except resource.BoothMultipleOccurenceFoundInCib:
        raise LibraryError(booth_reports.booth_multiple_times_in_cib(name))
예제 #6
0
 def call(self, element_list):
     mock_resource_remove = mock.Mock()
     booth_resource.get_remover(mock_resource_remove)(element_list)
     return mock_resource_remove