longhorn-manager icon indicating copy to clipboard operation
longhorn-manager copied to clipboard

feat(rebuild): implement per-volume and global QoS control for replic…

Open hookak opened this issue 6 months ago • 6 comments
trafficstars

…a rebuilding (v2 engine)

  • Adds in EngineMonitor to apply QoS during rebuilding
  • Supports per-volume and global setting fallback
  • Adds to to track actual QoS applied
  • Updates CRD, types, and applyconfig for the new fields

Which issue(s) this PR fixes:

Issue https://github.com/longhorn/longhorn/issues/10770

What this PR does / why we need it:

  • Adds support for applying replica rebuilding QoS on v2 (SPDK) engine replicas
  • Introduces a global setting v2-data-engine-rebuilding-mbytes-per-second to control default bandwidth limit
  • Adds a per-volume override field rebuildingMbytesPerSecond in VolumeSpec
  • Ensures actual QoS application is tracked via AppliedRebuildingMbps in Engine.Status.RebuildStatus
  • Updates CRD schema and generated applyconfiguration files

Special notes for your reviewer:

  • If both global and per-volume values are 0, no QoS will be applied (unlimited)
  • Rebuild QoS is only supported for DataEngine: v2 volumes

Additional documentation or context

hookak avatar Apr 30 '25 09:04 hookak