Blog Post

Running SAP Applications on the Microsoft Platform
4 MIN READ

Evolving SAP Testing on Azure: What’s New in the SAP Testing Automation Framework

DevanshJain's avatar
DevanshJain
Icon for Microsoft rankMicrosoft
Nov 04, 2025

The SAP Testing Automation Framework (STAF) enhances SAP operations by providing a systematic and repeatable way to validate system resilience through automated high availability functional test cases and configuration checks. STAF works both as a standalone solution and as an integrated component of the SAP Deployment Automation Framework (SDAF), supporting SLES and RHEL across a wide range of HA and storage configurations.

We're announcing the general availability (GA) of the SAP Testing Automation Framework (STAF), an open-source orchestration tool that automates validation of SAP deployments on Microsoft Azure. 

With this release, High Availability (HA) function testing is now available for SAP HANA scale-up databases and SAP Central Services (ASCS/ERS) running in two-node Pacemaker clusters. In addition, we're introducing Configuration Checks (in preview) that helps in validating SAP system configurations against Azure best practices across infrastructure, storage, OS parameters, and cluster resources.

How STAF Works? 

STAF uses a hub-and-spoke architecture where a centralized management server orchestrates validation across your SAP landscape using ansible. The framework code resides on a management server that connects remotely to SAP systems via SSH. System-specific details (hostnames, credentials, topology) are stored in configuration files on the management server or in source-controlled configuration repository (in case of SDAF). This separation means no agents or framework components need to be installed on SAP virtual machines. 

Setting up workspace configurations is a one-time activity. Once defined, the same configuration can be used repeatedly for pre-go-live validation, change verification, or periodic compliance audits without reconfiguration. 

High Availability Functional Testing 

High Availability functional testing executes controlled failure scenarios to verify that Pacemaker clusters, HANA System Replication, and SAP Central Services respond correctly when failures occur. Each test follows a pattern: capture baseline state, inject failure, monitor cluster reaction, validate failover, and restore to stable state. 

Failure Scenarios Included 

  • HANA Database: The functional test cases include Indexserver kill, network isolation, node crashes, storage freezes (in case of ANF filesystem), SBD fencing events etc. These test cases are part of the guidance outlined in the official document.  
  • SAP Central Services: The function test cases include ASCS/ERS process termination, message server failures, network isolation, and planned resource migration etc. These test cases are part of the guidance outlined in the official document.  

Key Metrics Captured 

For every test, the framework records: 

  • Failure detection time: Duration from failure injection to Pacemaker detecting the issue through resource agent monitor operations. 
  • Fencing duration: Time from failure detection to successful node isolation. 
  • Failover completion time: End-to-end duration from failure injection to full-service availability on the secondary node. For HANA, this includes takeover decision, log replay, and indexserver startup. For ASCS/ERS, it includes enqueue table replication and service restart. 

Reports include pass/fail status, detailed timelines with millisecond-level precision, diagnostic logs for troubleshooting failed scenarios, and execution logs for troubleshooting framework failures. 

Offline Validation of High Availability Configuration

Offline validation in STAF enables assessment of SAP HANA and Central Services high availability cluster configurations without requiring a live SSH connection to production systems. By comparing exported cluster information base (CIB) XML files from each node with best practices, STAF delivers non-intrusive validation, making it ideal for environments with restricted connectivity. To learn more about setup and usage, check out the documentation here.

Configuration Checks (Preview) 

Configuration checks provide read-only validation of SAP system settings against documented Azure best practices and SAP Notes. The framework executes Azure infrastructure validations using Azure CLI from the management server, while OS and SAP-level checks use SSH connections to target systems. Integrating data from the management server and SAP virtual machine inspections enable comprehensive validation of the infrastructure deployed to run SAP systems. 

STAF automates validation of SAP infrastructure on Azure by checking VM, storage, and network configurations using Azure CLI, and ensures compliance with best practices for HANA and Azure Files/ANF. It also verifies OS/kernel parameters, SAP profile settings, high availability cluster configurations, and database-specific settings for both HANA and Db2, providing a comprehensive compliance check across all critical system layers. 

 

Findings are categorized as Passed, Failed, Critical, Warning, or Informational with reference links to SAP Notes and Azure documentation for remediation. 

Getting Started with STAF 

STAF is fully open source, available on GitHub, providing complete transparency into test logic, Ansible playbooks, and Python modules. The repository includes comprehensive setup documentation, sample workspace configurations. 

Setup Options 

  • For standalone SAP systems, follow the Setup Guide to configure a management server with the framework code and workspace definitions. 
  • For environments already using SAP Deployment Automation Framework (SDAF), STAF integrates seamlessly into existing pipelines via the SDAF Integration Guide. 

The framework supports SLES and RHEL distributions across multiple HA configurations: HANA scale-up, SAP Central Services with ENSA1/ENSA2, Azure Fence Agent or SBD-based fencing, and supports storage options including Azure Managed Disks, Azure Files, and Azure NetApp Files. For SLES environments, both SAPHanaSR and SAPHanaSR-angi topologies are supported.

Community and Contributions 

Contributions are welcome. Whether it's reporting issues, suggesting new test scenarios, or submitting pull requests, community feedback helps improve the framework for all SAP on Azure users. Visit the GitHub repository to explore the code, review existing issues, or open new ones. For questions or discussions, engage through GitHub Issues. 

 
Start validating SAP systems today and ensure clusters are ready when it matters most. 

 

Updated Oct 30, 2025
Version 1.0
No CommentsBe the first to comment