Skip to content

feat: Tolerate unrelated LeakDetector schema mismatches in health #5554

Description

@jayzhudev

Is this a new feature, an enhancement, or a change to existing functionality?

Enhancement

How would you describe the priority of this feature request

Medium

Please provide a clear description of problem this feature solves

A captured BMC response may report ReactionDelaySeconds as 0.0, while the generated nv_redfish::LeakDetector model correctly requires an integer. Health does not use this property, but deserialization fails before the collector can process DetectorState and Status.State. Leak-detector health collection therefore fails for the complete response.

Feature Description

Deserialize leak-detector responses into a collector-local payload containing only the fields required for health reporting:

  • @odata.id
  • @odata.etag
  • DetectorState
  • Status.State
  • UserLabel

Reuse nv-redfish types for these fields and keep the generated LeakDetector model unchanged. Continue rejecting invalid values in fields used by health.

Tradeoff

The local payload becomes the collector's explicit wire contract. A future change that consumes another Redfish property must add that property to the local payload and extend the collector tests. This maintenance is limited to fields that affect health behavior and avoids making unrelated generated properties runtime dependencies.

Describe your ideal solution

No response

Describe any alternatives you have considered

No response

Additional context

No response

Code of Conduct

  • I agree to follow NVIDIA Infra Controller's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

featureFeature (deprecated - use issue type, but it's needed for reporting now)rack health

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions