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
Nico issues BMC resets in 5 automated scenarios in machine-controller/src/handler.rs (after NIC FW update, during reprovisioning, after BMC FW upgrade, in the power-state machine, and after boot-order job failure). The bmc-mock currently treats POST Manager.Reset and ipmitool bmc reset cold as no-ops — the BMC never goes offline. As a result, Nico's retry and recovery behavior during BMC unavailability is never exercised in integration tests. Bugs in Nico's handling of the BMC offline window are invisible to the test suite.
Feature Description
As a developer testing NVIDIA Infra Controller, I want the bmc-mock to go offline for a configurable duration when a BMC reset is issued (returning 503 on all Redfish endpoints during that window), so that Nico's retry and recovery behavior across all 5 automated BMC reset scenarios is exercised in integration tests.
Describe your ideal solution
Add BmcAvailability enum (Online / Resetting { until: Instant }). Handle POST Manager.Reset and ipmitool bmc reset cold by entering the Resetting state for bmc_reset duration. All Redfish route handlers return 503 during the window. Add bmc_reset field to LifecycleTimings. Includes integration test covering all 5 automated BMC reset scenarios in machine-controller/src/handler.rs
Describe any alternatives you have considered
No response
Additional context
No response
Code of Conduct
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
Nico issues BMC resets in 5 automated scenarios in machine-controller/src/handler.rs (after NIC FW update, during reprovisioning, after BMC FW upgrade, in the power-state machine, and after boot-order job failure). The bmc-mock currently treats POST Manager.Reset and ipmitool bmc reset cold as no-ops — the BMC never goes offline. As a result, Nico's retry and recovery behavior during BMC unavailability is never exercised in integration tests. Bugs in Nico's handling of the BMC offline window are invisible to the test suite.
Feature Description
As a developer testing NVIDIA Infra Controller, I want the bmc-mock to go offline for a configurable duration when a BMC reset is issued (returning 503 on all Redfish endpoints during that window), so that Nico's retry and recovery behavior across all 5 automated BMC reset scenarios is exercised in integration tests.
Describe your ideal solution
Add BmcAvailability enum (Online / Resetting { until: Instant }). Handle POST Manager.Reset and ipmitool bmc reset cold by entering the Resetting state for bmc_reset duration. All Redfish route handlers return 503 during the window. Add bmc_reset field to LifecycleTimings. Includes integration test covering all 5 automated BMC reset scenarios in machine-controller/src/handler.rs
Describe any alternatives you have considered
No response
Additional context
No response
Code of Conduct