Update API specifications with fern api update - #3
Open
github-actions[bot] wants to merge 1 commit into
Open
github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
krish-nvidia
pushed a commit
that referenced
this pull request
Aug 27, 2026
…factory#5338) This for epic #3…796, issue 4 After Manager.Reset the mock BMC now goes dark: every request answers 503 Service Unavailable for the machine's resolved LifecycleTimings::bmc_reset window (90-120s platform defaults), then lazily comes back online on the first request after expiry - like a real BMC, silently, by answering again. The server's power state is deliberately untouched. - new bmc-mock availability module: Online/Resetting state, no timers, lazy recovery; poisoned-mutex recovery instead of panicking - gate at the very top of the middleware router: a rebooting BMC answers nothing - before auth, before injection, before routing - MachineRouterOptions.bmc_reset_duration opts in; None and Duration::ZERO keep the previous no-op behavior byte-for-byte so existing tests see no side effect - machine_state_machine wires the resolved bmc_reset timing (the epic's field is now consumed); power shelf and switch simulators pass None - 503 (not a transport error) is intentional: all mocks share one authority-multiplexed TLS listener with pooled keep-alive connections, and nico's probe/error paths collapse both shapes into the same retry decision (see comment at the middleware gate) - Redfish-only trigger: IPMI "mc reset cold" is not modeled in ipmi_sim - tests: 5 availability unit tests, end-to-end reset-503-recover router test asserting zero power commands, zero-duration regression guard ## Related issues ## Type of Change - [x] **Add** - New feature or capability - [ ] **Change** - Changes in existing functionality - [ ] **Fix** - Bug fixes - [ ] **Remove** - Removed features or deprecated functionality - [ ] **Internal** - Internal changes (refactoring, tests, docs, etc.) ## Breaking Changes - [ ] **This PR contains breaking changes** ## Testing - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [x] Manual testing performed - [ ] No testing required (docs, internal refactor, etc.) ## Additional Notes ### Default-behavior note: Existing configs now get a realistic BMC offline window on Manager.Reset (platform defaults, e.g. 120 s host / 60 s DPU on GB200 NVL) — most visibly during pre-ingestion's InitialBmcReset, adding a few minutes of transient, self-healing exploration errors per ingestion cycle. This is intentional (realistic-by-default, per feature owner); anything expecting a no-op BMC reset should be fixed rather than masked. Opt-out for special rigs: bmc_reset = "0s" in timing_overrides — contract-tested to reproduce legacy behavior exactly. Testing: unit + router tests (window entry, 503-then-lazy-recovery, power-state preservation, zero-disable). Validated end-to-end in a live single-VM nico dev site at both accelerated (12 s/6 s) and full-length (120 s/60 s) windows: pre-ingestion triggered all six mock BMCs' windows, nico rode out the blackouts, and ingestion completed to Ready untouched. Trigger is Redfish Manager.Reset only (IPMI mc reset isn't modeled in ipmi_sim). --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update API specifications by running fern api update.