Skip to content

Conversation

nicholasyang2022
Copy link
Collaborator

@nicholasyang2022 nicholasyang2022 commented Sep 24, 2025

This pull request introduces a new check to the "migration" module to detect
unsupported, cluster-controlled filesystem setups for SAP ASCS/ERS.
The check identifies problematic Filesystem-based ENSA2 setups by
inspecting the resource configuration.

It detects configurations where:

  • A SAPInstance resource with IS_ERS=true is present.
  • A Filesystem resource is in the same group as the SAPInstance.
  • The Filesystem resource is implicitly ordered to start before the SAPInstance.

The check relies on the implicit ordering of resources within a group
and does not consider explicit rsc_order constraints, assuming users
will rely on the default group behavior.

This check should identify NetWeaver and S/4HANA ENSA2 Filesystem setup. It does
not identify ENSA1 simple-mount, nor NetWeaver.


> sudo crm cluster health sles16
[sudo] password for root: 
------ corosync @ localhost ------
[INFO] Checking dependency version...
[INFO] Checking service status...
[INFO] Checking used corosync features...
[WARN] Corosync transport "udpu" will be deprecated in favor of "knet" in corosync 3.
------ cib ------
[INFO] Checking used resource agents...
[FAIL] Cluster-controlled filesystem setup for SAP ENSA2 is not supported in SLES 16. Please migrate to simple-mount setup.
       * Filesystem resource "fs_ers" is ordered to start before SAPInstance ERS resource "ers_instance" in group "ers_group".

****** summary ******
[FAIL] The pacemaker cluster stack can not migrate to SLES 16. Please fix all the "FAIL" problems above before migrating to SLES 16.

How to Test in Emulated Setup

  1. Change the code, modifying the detection target from ocf:suse:SAPInstance to ocf:heartbeat:Dummy.
  2. Configure cluster resources
    1. crm configure primitive fs_ers ocf:heartbeat:Filesystem params device=tmpfs directory="/mnt/dummy" fstype=tmpfs
    2. crm configure primitive ers_instance ocf:heartbeat:Dummy params InstanceName=ERS_DUMMY IS_ERS=true
    3. crm configure group ers_group fs_ers ers_instance
  3. crm cluster health sles16

@nicholasyang2022 nicholasyang2022 force-pushed the sapsol-495-20250924 branch 2 times, most recently from d5a8b2f to 3245bfb Compare September 24, 2025 04:52
Copy link

codecov bot commented Sep 24, 2025

Codecov Report

❌ Patch coverage is 88.46154% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.74%. Comparing base (52a1e2b) to head (3e40380).

Files with missing lines Patch % Lines
crmsh/migration.py 88.46% 3 Missing ⚠️
Additional details and impacted files
Flag Coverage Δ
integration 54.28% <19.23%> (-0.04%) ⬇️
unit 49.29% <80.76%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
crmsh/migration.py 81.38% <88.46%> (+0.74%) ⬆️

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@nicholasyang2022 nicholasyang2022 force-pushed the sapsol-495-20250924 branch 4 times, most recently from e7d4bae to d70ed7f Compare September 26, 2025 08:03
… (jsc#SAPSOL-495)

This commit introduces a new check to the "migration" module to detect
unsupported, cluster-controlled filesystem setups for SAP ASCS/ERS.
The check identifies problematic Filesystem-based ENSA2 setups by
inspecting the resource configuration.

It detects configurations where:
- A `SAPInstance` resource with `IS_ERS=true` is present.
- A `Filesystem` resource is in the same group as the `SAPInstance`.
- The `Filesystem` resource is implicitly ordered to start before the `SAPInstance`.

The check relies on the implicit ordering of resources within a group
and does not consider explicit `rsc_order` constraints, assuming users
will rely on the default group behavior.

This check should identify NetWeaver and S/4HANA ENSA2 Filesystem setup. It does
not identify ENSA1 simple-mount, nor NetWeaver.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant