SUSE Support

Here When You Need Us

Recent changes to crmsh package can result in unsupported configuration of SAPStartSrv resource Agent in a SAP NetWeaver HA cluster

This document (000021423) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 15 SP4
SUSE Linux Enterprise Server 15 SP5
SUSE Linux Enterprise Server for SAP Applications 15 SP4
SUSE Linux Enterprise Server for SAP Applications 15 SP5
SUSE Linux Enterprise High Availability Extension (HAE) 15 SP4
SUSE Linux Enterprise High Availability Extension (HAE) 15 SP5

Situation

The behavior of the "crm configure primitive..." command changed in SLE 15 SP4 in crmsh package version 4.4.0+20220708.6ed6b56f-150400.3.3.1 and the new behavior also exists in all versions of the crmsh package that are available for SLE 15 SP5. Prior to that SP4 version, the "crm configure primitive..." command would create a resource primitive using only the operations and attributes specified on the command line. The newer behavior will add default operation parameters for the start, stop and monitor operations even if no values were specified on the command line. 

Prior to the change, the following command (using SAP Instance name HA1 as an example):

crm configure primitive rsc_SAPStartSrv_HA1 ocf:suse:SAPStartSrv params InstanceName=HA1

Would result in the following primitive resource definition in the cluster:

primitive rsc_SAPStartSrv_HA1 ocf:suse:SAPStartSrv \
        params InstanceName=HA1


But since the change in behavior, the same command above will now result in the following primiitve definition:

primitive rsc_SAPStartSrv_HA1 ocf:suse:SAPStartSrv \
        params InstanceName=HA1 \
        op monitor timeout=20s interval=120s \
        op start timeout=60s interval=0s \
        op stop timeout=60s interval=0


The start and stop operations are inconsequential, but the monitor operation definition should not be there and is unsupported by SUSE for the SAPStartSrv resource agent. In fact, the man page ocf_suse_SAPStartSrv(7) states:

       monitor
           The SAPStartSrv resource must by intention not define a monitor operation.  This is, because the failing
           sapstartsrv must never force a SAPInstance restart.  That would happen  because  the two resources
           reside in one resource group.


SUSE's Best Practices Guides for creating and configuring SAP NetWeaver HA clusters do not use the "crm configure primitive..." command to create the resource primitive definitions. Instead they recommend creating a text file with the exact syntax needed for the resource definitions and then running "crm configure load update <text-file-name>", which results in the exact primitive definition that is in the text file being loaded into the cluster configuration, without adding operations that were not defined in the text file. 

It has come to SUSE's attention that some customers have been using the "crm primitive configure..." command to create their cluster primitive resource definitions, and at least in the case of the SAPStartSrv resource, that will now result in a monitor being defined for that resource, which leaves the cluster in an unsupported state from SUSE Support's point of view.

Resolution

If you have been creating cluster primitive resource definitions using the "crm configure primitive..." command to configure SAP NetWeaver HA clusters while running on SLES 15 SP5 or SLES 15 SP4 with crmsh version 4.4.0+20220708.6ed6b56f-150400.3.3.1 or higher, then check the configuration of the SAPStartSrv resource primitives, and if there is a monitor operation defined, remove the monitor operation. SUSE recommends also removing the start and stop operations as well, but they are not as critical as the monitor operation.

For the example configuration below:

primitive rsc_SAPStartSrv_HA1 ocf:suse:SAPStartSrv \
        params InstanceName=HA1 \
        op monitor timeout=20s interval=120s \
        op start timeout=60s interval=0s \
        op stop timeout=60s interval=0


Run the command below to get the names of the SAPStartSrv resources defined in the cluster:

crm configure show type:primitive | grep SAPStartSrv | awk '{print $2}'

This should return two resource names, one for the SAPStartSrv resource associated with the ASCS SAP Instance and one for the SAPStartSrv resource associated with the ERS SAP Instance.

Next, run the command below once for each of the resource names returned from the command above (the editing interface is the same as the vi/vim text editor):

crm configure edit <resource-name>

And manually remove the monitor, stop and start lines, and also remove the trailing backslash (\) character at the end of the "params InstanceName=HA1 \" line, so that it looks like this:

primitive rsc_SAPStartSrv_HA1 ocf:suse:SAPStartSrv \
        params InstanceName=HA1


Then save the changes and exit.

Cause

Changes introduced in crmsh version 4.4.0+20220708.6ed6b56f-150400.3.3.1 resulted in a change in behavior of the "crm configure primitive..." command.

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:000021423
  • Creation Date: 10-Apr-2024
  • Modified Date:18-Apr-2024
    • SUSE Linux Enterprise High Availability Extension
    • SUSE Linux Enterprise Server for SAP Applications

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.