Repository navigation
feat(gateway): check VM host tools during config preflight - #4037
Conversation
Check required local VM tools through config preflight and share executable resolution with VM image operations. Report selected paths and actionable errors without creating gateway or sandbox state. Bound probe output and execution time, and clean up probe descendants on interruption. Preserve pure static validation and skip local tool checks for remote driver endpoints and unrelated drivers. Fixes #3951 Related to #3955 Signed-off-by: Shiju <shiju@nvidia.com>
Combine identical filesystem-tool error arms and normalize rendered diagnostics in command tests so terminal wrapping preserves assertions. Describe driver TLS validation without depending on removed guest fields. Signed-off-by: Shiju <shiju@nvidia.com>
Keep temporary paths quoted and escaped through the TOML serializer instead of relying on Rust Debug formatting. Signed-off-by: Shiju <shiju@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
🌿 Preview your docs: https://nvidia-preview-pr-4037.docs.buildwithfern.com/openshell |
|
Label |
drew
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
The linked operator workflow in #3951 makes this PR project-valid, and the initial code review found no blocking defects or non-blocking suggestions. The VM behavior change requires test:e2e, but the label-help workflow says the existing current-head E2E run must be manually rerun before Gator can begin pipeline monitoring.
Action required: A maintainer must open workflow run 36913527891 and choose Re-run all jobs; Gator will confirm that the required E2E workflow is queued before advancing.
Blocking findings:
- No blocking findings remain
Carried findings:
- None
Non-blocking suggestions:
- None
Gator metadata
- Validation: Implements the focused, documented VM preflight workflow in linked issue #3951; the author has repository write authority.
- Docs: Fern gateway configuration docs, the gateway man page, and VM troubleshooting guidance are updated.
- Checks: Branch Checks, Helm Lint, and Trivy are green on the current head; required E2E dispatch is not yet confirmed.
- E2E:
test:e2eapplied; label-help requires Re-run all jobs for run 36913527891. - Head SHA:
8bd564bf637e1bc9250289258cd10be40354cb69 - Base SHA:
021400be8af471f8669369e679de3e18cf0bd672 - Merge base SHA:
912a077bd641272016fb8b2fd58209f6c7c6f194 - Patch ID:
8d00987f215f4d7c2f317cdcf8740eee90e49bbe - Gator payload:
10 - Review mode:
initial - Previous reviewed SHA: none
- Review budget exhausted: no
- Maintainer decision required: no
- Next state:
gator:blocked - Blocked reason:
test_dispatch_required
Monitoring CompleteMonitoring is complete because this PR has merged. Final status: Maintainer approval was present, the required Branch Checks, Helm Lint, Trivy, E2E, and DCO gates were green, and no Gator review findings remained. I removed the active Gator metadata
|
Summary
openshell-gateway config preflightchecks host filesystem tools for an explicitly selected local VM driver, so an unusable e2fsprogs installation fails before provisioning. The command reports selected paths and versions or a corrective error without creating runtime state.Related Issue
Fixes #3951. Part of #3955.
Changes
openshell-core, preserving the independent VM driver binary. Resolvemke2fsormkfs.ext4,debugfs, ande2fsckfrom the gateway's environment and existing package prefixes, and retain a selected tool's execution failure.PATHvalues. Package installation remains with the operator; this change adds no package dependency or service environment changes.Testing
Branch Checks passed for signed head
8bd564bf637e: all 23 jobs succeeded. Rust lint, tests, and build modes passed on macOS aarch64, Linux aarch64, and Linux x86_64. The gateway feature checks and SDK jobs also passed.mise run pre-commitpasses.Runtime verification passed for signed head
8bd564bf637e: Branch E2E Checks, attempt 2. Docker, Podman, Kubernetes, managed VM, external VM and integration suites executed successfully. GPU and the separately labelled Kubernetes HA and credential-driver suites were skipped. These runs establish Linux VM coverage; fresh physical-Mac qualification remains pending.Checklist
feat(gateway): validate VM filesystem tools during preflight.