Page MenuHomeClusterLabs Projects

Consider deprecating enable-startup-probes cluster property
Open, WishlistPublic

Description

This property is dangerous in that it prevents Pacemaker from gaining an accurate view of resource state, without preventing other actions as (for example) maintenance mode would do. If the property is set to false, we log an info-level message that notes that it's dangerous:

set_config_flag(scheduler, PCMK_OPT_ENABLE_STARTUP_PROBES,
                pcmk__sched_probe_resources);
if (!pcmk__is_set(scheduler->flags, pcmk__sched_probe_resources)) {
    crm_info("Startup probes: disabled (dangerous)");
}

However, there is no such warning in the option documentation. The option is not even flagged as advanced use only.

{
    PCMK_OPT_ENABLE_STARTUP_PROBES, NULL, PCMK_VALUE_BOOLEAN, NULL,
    PCMK_VALUE_TRUE, pcmk__valid_boolean,
    pcmk__opt_schedulerd,
    N_("Whether the cluster should check for active resources during "
        "start-up"),
    NULL,
},

At the very least, we should add the pcmk__opt_advanced flag.

However, this property seems like a bad one to expose. At least resource-discovery=never is configured in a location constraint, so that it affects only named resources (or resources matching a regex). The common use case there is to prevent failures on nodes that will never be allowed to run a given resource and may not even have the software installed.

This option was introduced by commit b20fd762, and the expressed motivation was that the "calculation [of startup probes] is a major bottleneck for very large clusters." I doubt that's a major concern on modern hardware, and even if it is, Pacemaker still should have a correct view of resource state.

Also, by inspection (have not tested) of pcmk__probe_rsc_on_node(), it looks like setting this property to false actually disables all probes, not just probes during startup.

Event Timeline

nrwahl2 triaged this task as Wishlist priority.Sun, Sep 21, 8:04 PM
nrwahl2 created this task.
nrwahl2 created this object with edit policy "Restricted Project (Project)".