SUSE Support

Here When You Need Us

Pacemaker - Azure Fence Agent "fence_azure_arm" failed to start after Python 3.11 interpreter was installed

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

Environment

Following OS running in Microsoft Azure Cloud

SUSE Linux Enterprise Server for SAP Applica­tions 15 SP4

SUSE Linux Enterprise Server for SAP Applica­tions 15 SP5
SUSE Linux Enterprise Server for SAP Applica­tions 15 SP6
SUSE Linux Enterprise High Availability 15 SP4
SUSE Linux Enterprise High Availability 15 SP5
SUSE Linux Enterprise High Availability 15 SP6

Situation

For an Azure SLE 15 SP4+ based instance the Python 3.11 interpreter was installed as described in this SUSE blog:

https://www.suse.com/c/incompatible-changes-ahead-for-public-cloud-sdks/

Afterwards the Azure Fence Agent (AFA) failed to start in a Pacemaker cluster and the following error is shown in the /var/log/messages file:  
2024-07-24T11:15:25.550247+00:00 x00dhnp01l1f4 fence_azure_arm: Azure Resource Manager Python SDK not found or not accessible
2024-07-24T11:15:25.550389+00:00 x00dhnp01l1f4 fence_azure_arm: Please use '-h' for usage
2024-07-24T11:15:25.560338+00:00 x00dhnp01l1f4 pacemaker-fenced[8853]:  warning: fence_azure_arm[29901] stderr: [ 2024-07-24 11:15:25,549 ERROR: Azure Resource Manager Python SDK not found or not accessible ]
2024-07-24T11:15:25.560423+00:00 x00dhnp01l1f4 pacemaker-fenced[8853]:  warning: fence_azure_arm[29901] stderr: [  ]
2024-07-24T11:15:25.560474+00:00 x00dhnp01l1f4 pacemaker-fenced[8853]:  warning: fence_azure_arm[29901] stderr: [ 2024-07-24 11:15:25,549 ERROR: Please use '-h' for usage ]
2024-07-24T11:15:25.560504+00:00 x00dhnp01l1f4 pacemaker-fenced[8853]:  warning: fence_azure_arm[29901] stderr: [  ]

Resolution

With the new fence_azure_arm agent being available, the following procedure has to be used to enable its functionality:
  1. Install latest patches and reboot the instance
  2. Verify the installed Python version
  3. Install the fence-agents-azure-arm package.
  4. Basic tests
  5. Cleanup the Pacemaker cluster resource

Example:

1. Install latest patches if required execute this command twice and reboot the instance:

x00dhnp01l0f4:~ # zypper -n patch
x00dhnp01l0f4:~ # zypper -n patch
x00dhnp01l0f4:~ # reboot

2. Verify the installed Python version:

x00dhnp01l0f4:~ # python3 --version
Python 3.6.15
x00dhnp01l0f4:~ # python3.11 --version
Python 3.11.9

3. Install the required fence-agents-azure-arm package:

x00dhnp01l0f4:~ # zypper in fence-agents-azure-arm

4. Basic tests:

   Azure - managed identity (MSI)

x00dhnp01l0f4:~ # fence_azure_arm --msi --action=list --subscriptionId=<subid> --resourceGroup=<rgname>
DEV-WEEU-SAP01-X00-x00dhnp01l0f4,
DEV-WEEU-SAP01-X00-x00dhnp01l1f4,

x00dhnp01l0f4:~ # fence_azure_arm --msi --action=status --subscriptionId=<subid> --resourceGroup=<rgname> --plug=DEV-WEEU-SAP01-X00-x00dhnp01l0f4
Status: ON

   Azure - service principal (SPN)

x00dhnp01l0f4:~ # fence_azure_arm --action=list --subscriptionId=<subid> --resourceGroup=<rgname> --tenantId=<tenantid> --username=<username> --password=<password>
DEV-WEEU-SAP01-X00-x00dhnp01l0f4,
DEV-WEEU-SAP01-X00-x00dhnp01l1f4,

x00dhnp01l0f4:~ # fence_azure_arm --action=status --subscriptionId=<subid> --resourceGroup=<rgname> --tenantId=<tenantid> --username=<username> --password=<password> --plug=DEV-WEEU-SAP01-X00-x00dhnp01l0f4
Status: ON

5. Cleanup the cluster resource:

x00dhnp01l0f4:~ # crm resource cleanup rsc_st_azure


Important notes:

The updated fence-agents package does not include the specific Azure Fence Agent binary (/usr/sbin/fence_azure_arm) anymore.

For Microsoft Azure the new package fence-agents-azure-arm needs to be installed. 

The new fence-agents-azure-arm package needs the Public Cloud Module to be activated, this is needed to provide the required Python 3.11 dependencies.

For SUSE Linux Enterprise Server 15 SP4+ the fence-agents-azure-arm package is available after activating the SUSE Linux Enterprise High Availability Extension. 

SLE 12 SP5 related TID: https://www.suse.com/support/kb/doc/?id=000021532

Cause

After installing the Python 3.11 interpreter the Azure Fence Agent (AFA) failed in a Pacemaker cluster as it is not fully compatible with Python 3.11 and an upstream patch was missing.
 

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:000021504
  • Creation Date: 24-Jul-2024
  • Modified Date:21-Aug-2024
    • SUSE Linux Enterprise Server
    • 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

tick icon

SUSE Support Forums

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

tick icon

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.

tick icon

Open an Incident

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