Skip to content

fix(vm): harden guest sandbox startup - #4539

Merged
alangou merged 4 commits into
mainfrom
fix/130-vm-launch/alangou
Oct 15, 2026
Merged

alangou merged 4 commits into
mainfrom
fix/130-vm-launch/alangou

Conversation

@alangou

@alangou alangou commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Harden VM guest startup so the packaged sandbox keeps its expected executable identity during initialization.

Related Issue

Tracked in the maintainer workflow.

Changes

  • Simplify the VM guest sandbox startup path
  • Add regression coverage for the expected launch contract

Testing

  • Checks appropriate to the affected code and behavior pass
  • Unit tests added/updated
  • E2E tests added/updated (the local run reached VM launch, then host access to /dev/kvm was denied)

Validation performed:

  • cargo fmt --all -- --check
  • cargo clippy -p openshell-driver-vm --all-targets -- -D warnings
  • cargo test -p openshell-driver-vm
  • VM bundle build and integrity checks

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (not applicable)

Signed-off-by: Adrien Langou <alangou@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Oct 14, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@alangou alangou added test:e2e Requires end-to-end coverage gator:in-review Gator is reviewing or awaiting PR review feedback labels Oct 14, 2026
@github-actions

Copy link
Copy Markdown

Label test:e2e applied, but pull-request/4539 does not exist yet. A maintainer needs to comment /ok to test cda251026bd4f05b2367d59e09d33fcfdd367383 to mirror this PR. Once the mirror exists, re-apply the label or re-run Branch E2E Checks from the Actions tab.

Comment thread crates/openshell-driver-vm/src/rootfs.rs
Comment thread crates/openshell-driver-vm/scripts/openshell-vm-sandbox-init.sh Outdated
Comment thread crates/openshell-driver-vm/scripts/openshell-vm-sandbox-init.sh Outdated
Signed-off-by: Adrien Langou <alangou@nvidia.com>
@alangou

alangou commented Oct 14, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test d5c483d

@alangou alangou left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gator-agent

PR Review Status

The independent code review found no blocking findings. Directly executing the packaged, statically linked guest sandbox preserves its executable identity; the bundle build already rejects a sandbox that requires an ELF interpreter.

Thanks @elezar for asking about the script-content tests and the sandbox-versus-supervisor startup path. I checked the new packaging-boundary explanation, the bundle's static-link checks, and both guest launch modes: the guest starts openshell-sandbox for capability-free launch or qualification, while the host supervisor is packaged separately. The bootstrap-variable nit is non-blocking.

Blocking findings: None.
Carried findings: None.

The current head has been mirrored with /ok to test. Branch Checks and Branch E2E Checks are queued, Helm Lint is running, and Trivy Changes passed. Gator will inspect their results next cycle; maintainer approval remains outstanding.

Gator metadata
  • Validation: Focused VM startup bug fix and regression coverage; author has verified repository admin authority.
  • Docs: Not needed for this internal executable-identity fix; no new user commands, configuration, or workflow.
  • Checks: DCO and Trivy Changes passed; Branch Checks and Helm Lint queued/running on the current head.
  • E2E: test:e2e retained; Branch E2E Checks queued on the current-head mirror.
  • Head SHA: d5c483d1f8fb014d671f595d01684df9cdd4e9c1
  • Base SHA: 6e69360d0e1536d891f4abfbb60c1d90e50188c9
  • Merge base SHA: 6e69360d0e1536d891f4abfbb60c1d90e50188c9
  • Patch ID: 27fb69fc8c31fdeb184ba0dbffd1f6e06f0d38f0
  • Gator payload: 12
  • Review mode: initial
  • Previous reviewed SHA: none
  • Review budget exhausted: no
  • Maintainer decision required: no
  • Next state: gator:watch-pipeline

@alangou alangou added gator:watch-pipeline Gator is monitoring PR CI/CD status and removed gator:in-review Gator is reviewing or awaiting PR review feedback labels Oct 14, 2026
Signed-off-by: Adrien Langou <alangou@nvidia.com>
@alangou alangou added gator:blocked Gator is blocked by process or repository gates and removed gator:watch-pipeline Gator is monitoring PR CI/CD status labels Oct 14, 2026
Signed-off-by: Adrien Langou <alangou@nvidia.com>
@alangou

alangou commented Oct 14, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test cfc81e5

@alangou alangou left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gator-agent

PR Review Status

The independent follow-up review found no blocking findings in the startup delta. Thanks @alangou for explaining that both guest paths launched the sandbox and that the bootstrap runtime is always available. I checked the removed fallback against bootstrap staging and mount preparation, and confirmed the extra variable was removed as @elezar suggested.

The latest head is now mirrored with /ok to test. Branch Checks, Helm Lint, and Branch E2E Checks are running; Gator will inspect their results next cycle. Maintainer approval remains outstanding.

Blocking findings: None.
Carried findings: None.

Gator metadata
  • Validation: Focused VM startup fix; author has verified repository admin authority.
  • Docs: Not needed for this internal startup change; no new user command, configuration, or workflow.
  • Checks: DCO and Trivy Changes passed; current-head Branch Checks and Helm Lint running.
  • E2E: test:e2e retained; current-head Branch E2E Checks running.
  • Head SHA: cfc81e567f8303cd8b5e62596190ba9c4bbd6e13
  • Base SHA: 6e69360d0e1536d891f4abfbb60c1d90e50188c9
  • Merge base SHA: 6e69360d0e1536d891f4abfbb60c1d90e50188c9
  • Patch ID: 82ba256adf13c5e4f15cb79653143f05af18179a
  • Gator payload: 12
  • Review mode: follow_up
  • Previous reviewed SHA: d5c483d1f8fb014d671f595d01684df9cdd4e9c1
  • Review budget exhausted: no
  • Maintainer decision required: no
  • Next state: gator:watch-pipeline

@alangou alangou added gator:watch-pipeline Gator is monitoring PR CI/CD status gator:approval-needed Gator completed review; maintainer approval needed and removed gator:blocked Gator is blocked by process or repository gates gator:watch-pipeline Gator is monitoring PR CI/CD status labels Oct 14, 2026
@alangou alangou added gator:merge-ready and removed gator:approval-needed Gator completed review; maintainer approval needed labels Oct 14, 2026
@alangou
alangou added this pull request to the merge queue Oct 15, 2026
Merged via the queue into main with commit ef718a4 Oct 15, 2026
125 of 133 checks passed
@alangou
alangou deleted the fix/130-vm-launch/alangou branch October 15, 2026 11:57
@alangou

alangou commented Oct 15, 2026

Copy link
Copy Markdown
Contributor Author

gator-agent

Monitoring Complete

Monitoring is complete because this PR has merged. The last Gator state was gator:merge-ready, and maintainer approval was present.

I removed the active gator:* label because there is nothing left for Gator to monitor on this PR.

Gator metadata
  • Head SHA: cfc81e567f8303cd8b5e62596190ba9c4bbd6e13
  • Gator payload: 12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:e2e Requires end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants