-
Notifications
You must be signed in to change notification settings - Fork 13
Add SAP Configuration Checks to STAF #129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add SAP Configuration Checks to STAF #129
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds SAP Configuration Checks functionality to the SAP Testing Automation Framework (STAF), introducing a new test type for validating SAP deployments on Azure through comprehensive configuration validation.
- Introduces a new "ConfigurationChecks" test type alongside existing "SAPFunctionalTests"
- Adds extensive configuration validation checks for VM, SAP, OS, package, and high availability components
- Implements a modular check system with support for command-based, Azure-based, and module-based collectors
Reviewed Changes
Copilot reviewed 33 out of 34 changed files in this pull request and generated 21 comments.
Show a summary per file
File | Description |
---|---|
vars.yaml | Updates variable naming convention and adds ConfigurationChecks option |
src/vars/input-api.yaml | Adds configuration test type mapping for different check categories |
src/templates/config_checks_report.html | New comprehensive HTML report template for configuration checks |
src/roles/misc/tasks/render-html-report.yml | Updates to support configuration checks template and system info |
src/roles/configuration_checks/* | New role implementing the configuration checks framework |
src/playbook_00_configuration_checks.yml | New playbook orchestrating configuration validation workflow |
src/modules/render_html_report.py | Enhanced to support configuration check results and system information |
Multiple playbooks | Variable name standardization from lowercase to uppercase |
…for improved clarity and functionality
…main configuration checks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved 👍🏾
3a75f6d
…f SAP_FUNCTIONAL_TEST_TYPE
…checks in setup guide
… availability tests
…string and list commands
d4d727c
into
Azure:development-oct-2025
This pull request introduces support for configuration checks as a new type of SAP functional test, along with improvements and refactoring across several modules to enhance error handling, extensibility, and reporting. Major changes include the addition of new enums and dataclasses to model configuration checks, updates to documentation and scripts to support the new test type, improved error logging, and enhancements to report generation and parameter validation.
Configuration Checks Feature:
docs/HIGH_AVAILABILITY.md
) and scripts (scripts/sap_automation_qa.sh
). This includes new CLI options, validation logic, and playbook selection for configuration checks. [1] [2] [3] [4] [5] [6] [7]Core Data Model Extensions:
TestSeverity
) and dataclasses (ApplicabilityRule
,Check
,CheckResult
) insrc/module_utils/enums.py
to model configuration checks and their applicability, severity, and results. [1] [2]Error Handling and Logging Improvements:
src/module_utils/sap_automation_qa.py
by logging tracebacks and improving subprocess error messages. Added YAML parsing utility for configuration files. [1] [2] [3]Reporting and Parameter Validation Enhancements:
src/modules/render_html_report.py
to handle invalid JSON lines gracefully and include system info in generated reports. [1] [2]src/modules/get_azure_lb.py
to handle expected values as objects and provide clearer error status and details. [1] [2]Dependency and Linting Updates:
azure-mgmt-compute
torequirements.in
and updated.ansible-lint
to exclude configuration checks files from linting. [1] [2]