Bug 2166683

Summary: [RFE] Add new MD RAID resource agent (i.e. successor to upstream 'Raid1' agent) (RHEL9)
Product: Red Hat Enterprise Linux 9 Reporter: Oyvind Albrigtsen <oalbrigt>
Component: resource-agentsAssignee: Oyvind Albrigtsen <oalbrigt>
Status: ASSIGNED --- QA Contact: cluster-qe <cluster-qe>
Severity: medium Docs Contact:
Priority: medium    
Version: 9.2CC: agk, alolivei, cfeist, cluster-maint, cmarthal, fdinitto, heinzm, jbrassow, khuynh, kwalker, lmiksik, mgandhi, oalbrigt, rbednar, rhandlin, sbradley, slevine, teigland, xni
Target Milestone: rcKeywords: FutureFeature, Triaged
Target Release: 9.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 1810577 Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1810577, 1741644, 1810561    
Bug Blocks:    

Description Oyvind Albrigtsen 2023-02-02 16:08:25 UTC
+++ This bug was initially created as a clone of Bug #1810577 +++

Description of problem:
The upstream resource-agents package contains a functionally limited 'Raid1' resource agent relative to supporting MD Clustered RAID1/10.  This is the feature bz to track the development of a 'Raid1' cloned pacemaker resource agent with cluster enhancements.  For instance, 'Raid1' has no notion of an MD array being clustered or not, thus can't reject creation of a respective resource properly or automatically adjust to it.

Version-Release number of selected component (if applicable):
All

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:
See bz dependency for initial use/test case examples (subject to be copied and enhanced in this bz later)

--- Additional comment from Heinz Mauelshagen on 2020-03-13 17:31:32 CET ---

Including test cases from closed 1810561 here.

Test cases:
- active-passive
  - create MD resources for all levels (0/1/4/5/6/10) with force_clones=false
  - check they get started properly
  - put (single host) filesystems (xfs, ext4, gfs2) on top and load with I/O
  - define ordering constraints for ^
  - move them to other node manually
  - disable/enable them
  - add/remove legs to/from raid1
  - fail/fence a node and check if they get started correctly
    on another online node
  - fail access to MD array leg(s) on its active node
    and analyse MD/resource/filesystem behaviour
  - reboot whole cluster and check for resource properly started
  - update the resource option force_clones to true
  - clone the resource (should fail on single host MD arrays but it doesn't)
  - test for data corruption  (even with gfs2 on top)
  - remove all resources in/out of order and check for proper removal

- active-active
  - create clustered MD resources for levels 1 and 10
  - check they get started properly
  - clone them
  - check they get started properly on all other online nodes
  - add/remove legs to/from RAID1
  - try reshaping RAID10
  - disable/enable them
  - fail a node and check if they get started correctly on another node
  - fail access to MD array leg(s) on any/multiple nodes
    and analyse MD/resource/filesystem behaviour
  - remove all resources in/out of order and check for proper removal

--- Additional comment from Oyvind Albrigtsen on 2020-04-15 16:44:14 CEST ---

https://github.com/ClusterLabs/resource-agents/pull/1481