From 3e5cdd7947966744d15fd8679dda1a038e4a0421 Mon Sep 17 00:00:00 2001 From: Hemanth Damecharla <71097261+hdamecharla@users.noreply.github.com> Date: Mon, 3 Nov 2025 23:02:28 +0530 Subject: [PATCH 1/3] Update disk performance thresholds for HANA checks (#150) --- src/roles/configuration_checks/tasks/files/hana.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/roles/configuration_checks/tasks/files/hana.yml b/src/roles/configuration_checks/tasks/files/hana.yml index 243a1a8e..dc412ce7 100644 --- a/src/roles/configuration_checks/tasks/files/hana.yml +++ b/src/roles/configuration_checks/tasks/files/hana.yml @@ -1289,7 +1289,7 @@ checks: - id: "DB-HANA-0050" name: "Disk performance for /hana/data (MBPS)" - description: "The disk performance for /hana/data should be >= 64 MByte/s" + description: "The disk performance for /hana/data should be >= 400 MByte/s" category: *sap_check severity: *high workload: *sap @@ -1307,7 +1307,7 @@ checks: mount_point: "/hana/data" validator_type: *range validator_args: - min: "64" + min: "400" report: *check references: sap: "2972496" @@ -1315,7 +1315,7 @@ checks: - id: "DB-HANA-0051" name: "Disk performance for /hana/log (MBPS)" - description: "The disk performance for /hana/log should be >= 64 MByte/s" + description: "The disk performance for /hana/log should be >= 250 MByte/s" category: *sap_check severity: *high workload: *sap @@ -1333,7 +1333,7 @@ checks: mount_point: "/hana/log" validator_type: *range validator_args: - min: "64" + min: "250" report: *check references: sap: "2972496" From 8ad527600655f5e430c34c0f0b24fe609ab6a65e Mon Sep 17 00:00:00 2001 From: Devansh Jain <86314060+devanshjainms@users.noreply.github.com> Date: Mon, 3 Nov 2025 10:43:08 -0800 Subject: [PATCH 2/3] Add framework version tracking and update reports (#149) --- VERSION | 1 + docs/CHANGELOG.md | 13 +++++++++++++ src/modules/render_html_report.py | 11 +++++++++++ src/roles/misc/tasks/render-html-report.yml | 6 ++++++ src/templates/config_checks_report.html | 2 +- src/templates/report.html | 2 +- tests/modules/render_html_report_test.py | 3 +++ 7 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 VERSION diff --git a/VERSION b/VERSION new file mode 100644 index 00000000..afaf360d --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.0.0 \ No newline at end of file diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 6361e43e..79d3cfda 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,3 +1,16 @@ # Changelog All notable changes to this project will be documented in this file. + + +## 1.0.0 +Release Date: 11-04-2025 + +1. High Availability Functional Tests: + - Added comprehensive functional tests for High Availability (HA) configurations for SAP HANA Database with scale-up architecture. + - Added functional tests for HA configurations for SAP Central Services (ASCS) with Primary and Secondary nodes for ENSA1 and ENSA2 system types. + - Support for running HA functional tests for systems with new HANA topology - SAP HANA SR-angi. + - Offline Validation for HA configurations for SAP HANA Database and Central Services. +2. Configuration Checks (preview release): + - Initial implementation of configuration checks for SAP systems. + - Support for validating SAP systems with HANA and IBM Db2 databases. diff --git a/src/modules/render_html_report.py b/src/modules/render_html_report.py index 7a6ffdb7..6b837f39 100644 --- a/src/modules/render_html_report.py +++ b/src/modules/render_html_report.py @@ -53,6 +53,11 @@ - Reports will be created in {workspace_directory}/quality_assurance/ type: str required: true + framework_version: + description: + - Version of the SAP Automation QA framework + type: str + required: false author: - Microsoft Corporation notes: @@ -71,6 +76,7 @@ test_group_name: "hana_cluster_validation" report_template: "{{ lookup('file', 'templates/report_template.html') }}" workspace_directory: "/var/log/sap-automation-qa" + framework_version: "1.0.0" register: report_result - name: Show path to generated report @@ -115,6 +121,7 @@ def __init__( workspace_directory: str, test_case_results: List[Dict[str, Any]] = [], system_info: Dict[str, Any] = {}, + framework_version: str = "unknown", ): super().__init__() self.test_group_invocation_id = test_group_invocation_id @@ -128,6 +135,7 @@ def __init__( ) self.test_case_results = test_case_results or [] self.system_info = system_info or {} + self.framework_version = framework_version def read_log_file(self) -> List[Dict[str, Any]]: """ @@ -184,6 +192,7 @@ def render_report(self, test_case_results: List[Dict[str, Any]]) -> None: "%m/%d/%Y, %I:%M:%S %p" ), "system_info": self.system_info, + "framework_version": self.framework_version, } ) ) @@ -205,6 +214,7 @@ def run_module() -> None: workspace_directory=dict(type="str", required=True), test_case_results=dict(type="list", required=False), system_info=dict(type="dict", required=False), + framework_version=dict(type="str", required=False), ) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) @@ -216,6 +226,7 @@ def run_module() -> None: workspace_directory=module.params["workspace_directory"], test_case_results=module.params.get("test_case_results", []), system_info=module.params.get("system_info", {}), + framework_version=module.params.get("framework_version", "unknown"), ) test_case_results = ( diff --git a/src/roles/misc/tasks/render-html-report.yml b/src/roles/misc/tasks/render-html-report.yml index 1e30fb64..4476311a 100644 --- a/src/roles/misc/tasks/render-html-report.yml +++ b/src/roles/misc/tasks/render-html-report.yml @@ -14,6 +14,11 @@ ansible.builtin.set_fact: html_report_template: "{{ lookup('file', html_template_name | default('./templates/report.html')) }}" + - name: "Get framework version" + no_log: true + ansible.builtin.set_fact: + framework_version: "{{ lookup('file', '../../../../VERSION') | default('unknown') }}" + - name: "Read the log file and create a HTML report" render_html_report: test_group_invocation_id: "{{ test_group_invocation_id }}" @@ -22,4 +27,5 @@ workspace_directory: "{{ _workspace_directory }}" test_case_results: "{{ all_results | default([]) }}" system_info: "{{ system_info | default({}) }}" + framework_version: "{{ framework_version | default('unknown') }}" register: report_file_path diff --git a/src/templates/config_checks_report.html b/src/templates/config_checks_report.html index f8d0c1f1..74b4ac9c 100644 --- a/src/templates/config_checks_report.html +++ b/src/templates/config_checks_report.html @@ -1391,7 +1391,7 @@