Skip to content

feat(mat): Transitional power/readiness FSM states #4497

Description

@jabdulvahid

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

New Feature

How would you describe the priority of this feature request

Medium

Please provide a clear description of problem this feature solves

Today the FSM jumps directly from a timer firing to the machine being fully up. Real hardware has observable intermediate states — the BMC comes online before the OS is ready, the server is in BIOS POST before it is reachable via SSH, and power-off is not instantaneous. Controllers and workflows that depend on these intermediate states (e.g. issuing a Redfish command after BMC is up but before OS is ready) cannot be tested with MAT's current binary ready/not-ready model.

Feature Description

As a developer testing NVIDIA Infra Controller workflows that interact with partially-ready hardware (e.g. issuing Redfish commands after BMC is up but before the OS is ready), I want MAT to expose intermediate FSM states (PoweringOn, BmcOnline, PoweringOff) with configurable durations from the LifecycleTimings profile, so that controller behavior during partial-readiness windows can be exercised in integration tests.

Describe your ideal solution

PoweringOn, BmcOnline, PoweringOff intermediate states to the FSM. Durations come from LifecycleTimings fields already defined in Issue 1. Explicitly scoped as a follow-up to the main epic — does not block Issues 1–7.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions