Deslop wedged-VF detection: dedupe sentinel report guard, trim redundant tests - #465
Closed
yummybomb wants to merge 1 commit into
Closed
Deslop wedged-VF detection: dedupe sentinel report guard, trim redundant tests#465yummybomb wants to merge 1 commit into
yummybomb wants to merge 1 commit into
Conversation
Contributor
Author
|
folding these changes directly into #435 instead |
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.
Cleanup pass on #435, stacked on
hypeship/vgpu-wedge-quarantine. No behavior changes to the detection path; net -130 lines, mostly tests.Production code
vgpu_sentinel.go:handleFailure/handleSuccessduplicated the confirm-assignment preamble (confirm → warn on error → skip on change). Folded the logging intoconfirmAssignment, which now returns a bool and tags its log lines with anactionattribute. Logging-only difference: the success path now also logs at info when it skips a changed assignment (previously silent).gpu_watch.go: moved theguestServer.GetGPUInitStatusRPC method out from between twogpuInitReportermethods so the reporter methods are contiguous. Pure move.process_identity.go/storage.go: trimmed two comments (one explained the diff rather than the code, one enumerated its callers).Tests
vgpu_sentinel_test.go(-177/+... net ~-120):reportFailurere-implemented the health store's per-assignment dedup, andReportsFailureOncethen asserted that fake's own behavior. Dedup is the store's contract and is covered inlib/devices; the fake is now a plain recorder and the test (renamedReportsFailure) keeps the UNKNOWN-not-reported and report-fields coverage, absorbing the NVRM log assertions from the deletedLogsNVRMMessageOnQuarantine.PollsTargetsConcurrently— it exercisederrgroup.SetLimit, not sentinel logic.RepairsHealthStoreOncePerPollproved once-per-poll with 64 targets; 2 targets prove the same thing.ConfirmsAssignmentBeforeReportingcovering all four state×assignment combinations (the failed×changed case is new).RetriesFailedTallyClear.vf_health_test.go: the no-op-success test spun 64 goroutines, but nothing is contended — the assertion (no persist retry on a failed store) holds with one call. Kept its unique repair assertion (exactly one persist, two dir syncs).gpu_watch_test.go: folded success-is-terminal intoTestGPUInitReporterStateand droppedProbeGPUInitSkipsWithoutNvidiaSMI(asserted only an empty log buffer on a trivial early return).Deliberately not changed
vgpuSentinelStoredowncast inNewVGPUSentinelController— same pattern asNewHealthCheckController, so they match package idiom (keptTestNewVGPUSentinelControllerRejectsUnsupportedManagerwith them).create.gosettingGPUProfileoutsidesetStoredVGPUDevice— deliberate:clearStoredVGPUDevicekeeps the profile for the next start.Testing
All pass locally (embedded VMM/agent binaries stubbed for compilation, same constraint as the parent PR).