Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
63a2baf
Low: schemas: Copy API schemas in preparation for changes
nrwahl2 Nov 11, 2025
e1fc8e8
API: libcrmcommon: New PCMK_XA_FENCING_ENABLED string constant
nrwahl2 Nov 11, 2025
98b19b1
API: libcrmcommon: New PCMK_XA_FENCING_TIMEOUT_MS string constant
nrwahl2 Nov 11, 2025
8ff705f
Feature: schemas: New fencing-enabled attribute in crm_mon schema
nrwahl2 Nov 11, 2025
3d420fd
Feature: various: New fencing-enabled in crm_mon/pcmk_status output
nrwahl2 Nov 11, 2025
0db2b6b
Test: cts-cli: Update outputs for crm_mon fencing-enabled
nrwahl2 Nov 11, 2025
5d1aab4
Feature: schemas: New fencing-timeout-ms attribute in crm_mon schema
nrwahl2 Nov 11, 2025
ab710a4
Feature: various: New fencing-timeout-ms in crm_mon/pcmk_status output
nrwahl2 Nov 11, 2025
97ec949
Test: cts-cli: Update outputs for crm_mon fencing-timeout-ms
nrwahl2 Nov 11, 2025
fec7bdd
Feature: schemas: Deprecate stonith-enabled in crm_mon output
nrwahl2 Nov 11, 2025
dcd079a
Feature: schemas: Deprecate stonith-timeout-ms in crm_mon output
nrwahl2 Nov 11, 2025
21c0edf
API: libcrmcommon: Deprecate PCMK_XA_STONITH_ENABLED
nrwahl2 Nov 11, 2025
1e61657
API: libcrmcommon: Deprecate PCMK_XA_STONITH_TIMEOUT_MS
nrwahl2 Nov 11, 2025
32b5aab
Low: agents: Use case-insensitive property matching in controld RA
nrwahl2 Nov 11, 2025
730c825
Feature: agents: New allow_fencing_disabled param for controld RA
nrwahl2 Nov 10, 2025
b242912
Feature: agents: Deprecate allow_stonith_disabled param for controld RA
nrwahl2 Nov 10, 2025
65361e0
Test: cts-cli, cts-scheduler: stonith-enabled -> fencing-enabled
nrwahl2 Nov 11, 2025
3cce4a2
Refactor: cts-lab: stonith-enabled -> fencing-enabled
nrwahl2 Nov 11, 2025
842272e
Refactor: cts-scheduler: Drop cluster-ipc-limit use
nrwahl2 Nov 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 27 additions & 11 deletions agents/ocf/controld.in
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,11 @@

# Explicitly list all environment variables used, to make static analysis happy
: ${OCF_RESKEY_CRM_meta_globally_unique:="false"}
: ${OCF_RESKEY_allow_stonith_disabled:="false"}
: ${OCF_RESKEY_sctp:="false"}

# @COMPAT Drop first line when we drop allow_stonith_disabled support
: ${OCF_RESKEY_allow_fencing_disabled:=$OCF_RESKEY_allow_stonith_disabled}
: ${OCF_RESKEY_allow_fencing_disabled:="false"}

: ${OCF_RESOURCE_INSTANCE:=""}

case "$OCF_RESOURCE_INSTANCE" in
Expand Down Expand Up @@ -76,17 +79,24 @@ The daemon to start - supports dlm_controld
<content type="string" default="dlm_controld" />
</parameter>

<parameter name="allow_stonith_disabled">
<parameter name="allow_fencing_disabled">
<longdesc lang="en">
Allow DLM start-up even if STONITH/fencing is disabled in the cluster.
Allow DLM start-up even if fencing is disabled in the cluster.

Setting this option to true will cause cluster malfunction and hangs on
fail-over for DLM clients that require fencing (such as GFS2, OCFS2, and
cLVM2).

This option is advanced use only.
</longdesc>
<shortdesc lang="en">Allow start-up even without STONITH/fencing</shortdesc>
<shortdesc lang="en">Allow start-up even without fencing</shortdesc>
<content type="string" default="false" />
</parameter>

<parameter name="allow_stonith_disabled">
<deprecated><replaced-with name="allow_fencing_disabled"/></deprecated>
<longdesc lang="en">Deprecated</longdesc>
<shortdesc lang="en">Deprecated</shortdesc>
<content type="string" default="false" />
</parameter>

Expand Down Expand Up @@ -165,15 +175,21 @@ controld_start() {
fi
fi

if ! ocf_is_true "$OCF_RESKEY_allow_stonith_disabled" && \
! ocf_is_true "$(crm_attribute --type=crm_config --name=stonith-enabled --query --quiet --default=true)"; then
ocf_log err "The cluster property stonith-enabled may not be deactivated to use the DLM"
cluster_options="$(crm_mon --output-as=xml --exclude=all --include=options \
| xmllint --xpath '//cluster_options' -)"
fencing_enabled="$(echo "$cluster_options" \
| xmllint --xpath 'string(/*/@fencing-enabled)' -)"
no_quorum_policy="$(echo "$cluster_options" \
| xmllint --xpath 'string(/*/@no-quorum-policy)' -)"

if ! ocf_is_true "$fencing_enabled" \
&& ! ocf_is_true "$OCF_RESKEY_allow_fencing_disabled"; then

ocf_log err "The cluster property fencing-enabled may not be deactivated to use the DLM"
return $OCF_ERR_CONFIGURED
fi

# If no-quorum-policy not set, or not set as freeze, give a warning
crm_attribute --type=crm_config --name=no-quorum-policy --query|grep value=freeze >/dev/null 2>/dev/null
if [ $? -ne 0 ]; then
if [ "$no_quorum_policy" != "freeze" ]; then
ocf_log warn "The DLM cluster best practice suggests to set the cluster property \"no-quorum-policy=freeze\""
fi

Expand Down
158 changes: 79 additions & 79 deletions cts/cli/regression.acls.exp

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions cts/cli/regression.cibadmin.exp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
<nvpair id="cib-bootstrap-options-fencing-enabled" name="fencing-enabled" value="false"/>
</cluster_property_set>
</crm_config>
<nodes>
Expand All @@ -21,7 +21,7 @@
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
<nvpair id="cib-bootstrap-options-fencing-enabled" name="fencing-enabled" value="false"/>
</cluster_property_set>
</crm_config>
<nodes>
Expand All @@ -42,7 +42,7 @@
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
<nvpair id="cib-bootstrap-options-fencing-enabled" name="fencing-enabled" value="false"/>
</cluster_property_set>
</crm_config>
<nodes>
Expand All @@ -63,7 +63,7 @@
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
<nvpair id="cib-bootstrap-options-fencing-enabled" name="fencing-enabled" value="false"/>
</cluster_property_set>
</crm_config>
<nodes>
Expand All @@ -79,12 +79,12 @@
=#=#=#= End test: Validate CIB (XML) - OK (0) =#=#=#=
* Passed: cibadmin - Validate CIB (XML)
=#=#=#= Begin test: Digest calculation =#=#=#=
02e4118f17d65a512f1f540ff30dc116
9130d6f39c2b83bd032a00e76621508c
=#=#=#= End test: Digest calculation - OK (0) =#=#=#=
* Passed: cibadmin - Digest calculation
=#=#=#= Begin test: Digest calculation (XML) =#=#=#=
<pacemaker-result api-version="X" request="cibadmin --output-as=xml -5 -p">
<md5-sum digest="02e4118f17d65a512f1f540ff30dc116"/>
<md5-sum digest="9130d6f39c2b83bd032a00e76621508c"/>
<status code="0" message="OK"/>
</pacemaker-result>
=#=#=#= End test: Digest calculation (XML) - OK (0) =#=#=#=
Expand All @@ -96,7 +96,7 @@ cibadmin: The supplied command is considered dangerous. To prevent accidental de
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
<nvpair id="cib-bootstrap-options-fencing-enabled" name="fencing-enabled" value="false"/>
</cluster_property_set>
</crm_config>
<nodes>
Expand Down Expand Up @@ -124,7 +124,7 @@ cibadmin: The supplied command is considered dangerous. To prevent accidental de
<configuration>
<crm_config>
<cluster_property_set id="cib-bootstrap-options">
<nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
<nvpair id="cib-bootstrap-options-fencing-enabled" name="fencing-enabled" value="false"/>
</cluster_property_set>
</crm_config>
<nodes>
Expand Down
Loading