Bug 1810577

Summary: [RFE] Add new MD RAID resource agent (i.e. successor to upstream 'Raid1' agent)
Product: Red Hat Enterprise Linux 8 Reporter: Heinz Mauelshagen <heinzm>
Component: resource-agentsAssignee: Oyvind Albrigtsen <oalbrigt>
Status: POST --- QA Contact: cluster-qe <cluster-qe>
Severity: medium Docs Contact: Steven J. Levine <slevine>
Priority: medium    
Version: 8.3CC: agk, alolivei, cfeist, cluster-maint, cmarthal, fdinitto, jbrassow, khuynh, knickel, kwalker, lmiksik, mgandhi, oalbrigt, rbednar, rhandlin, sbradley, slevine, teigland, xni
Target Milestone: rcKeywords: FutureFeature, Triaged
Target Release: 8.9   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2166683 (view as bug list) 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: 1741644, 1810561    
Bug Blocks: 2166683    

Description Heinz Mauelshagen 2020-03-05 14:29:58 UTC
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)

Comment 1 Heinz Mauelshagen 2020-03-11 12:02:01 UTC
We are developing the agent -> reassigned.

Comment 2 Heinz Mauelshagen 2020-03-13 16:31:32 UTC
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

Comment 3 Heinz Mauelshagen 2020-04-08 12:09:24 UTC
Resource agent in final internal pre-upstream review by Oyvind Albrigtsen et. al. on the cluster team.
Delaying switiching bz status to POST until the pull upstream requests..

Comment 5 Oyvind Albrigtsen 2020-04-15 14:44:14 UTC
https://github.com/ClusterLabs/resource-agents/pull/1481

Comment 7 Oyvind Albrigtsen 2020-04-22 12:46:58 UTC
Agent merged upstream.

Comment 15 Heinz Mauelshagen 2020-10-26 16:20:28 UTC
As we support clustered MD RAID1 and RAID10 in RHEL8, the mdraid resource agent is mandatory for managing such arrays.