Conversation
client (Win): if Docker and Vbox both present, append 'unusable' to vbox version. Scheduler: don't use Vbox if 'unusable' present in version. Projects that use vbox should update their scheduler.
There was a problem hiding this comment.
Pull request overview
Updates Windows client host reporting and scheduler-side VirtualBox eligibility checks so that when Docker/Podman is present, VirtualBox is treated as unusable and VirtualBox jobs are not sent.
Changes:
- Scheduler: reject VirtualBox job plans when
host.virtualbox_versioncontains the marker substring"unusable". - Windows client: append an
"unusable"marker to the VirtualBox version string when Docker/Podman is detected (via WSL distro inspection).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
sched/sched_customize.cpp |
Adds an early eligibility check that blocks VirtualBox plans when version contains "unusable". |
sched/plan_class_spec.cpp |
Adds the same "unusable" gating to plan class spec VirtualBox checks before parsing version. |
client/hostinfo_win.cpp |
Attempts to append an "unusable" marker to VirtualBox version when Docker/Podman is detected on Windows. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if (strstr(sreq.host.virtualbox_version, "unusable")) { | ||
| add_no_work_message("VirtualBox is not usable"); | ||
| return false; |
There was a problem hiding this comment.
The string token "unusable" is now a cross-component contract (Windows client appends it; scheduler interprets it). To avoid accidental drift, consider defining it once (e.g., shared header constant) and using that constant here instead of repeating the raw substring literal.
| if (strstr(sreq.host.virtualbox_version, "unusable")) { | ||
| add_no_work_message("VirtualBox is not usable"); | ||
| return false; | ||
| } |
There was a problem hiding this comment.
The string token "unusable" is now a cross-component contract with the Windows client. To reduce the chance of mismatched tokens across files/components, consider using a shared constant (or at least a single scheduler-wide constant) instead of repeating the literal substring here.
client (Win): if Docker and Vbox both present,
append 'unusable' to vbox version.
Scheduler: don't use Vbox if 'unusable' present in version. Projects that use vbox should update their scheduler.
Summary by cubic
Marks VirtualBox as unusable on Windows when Docker/Podman is detected, and prevents the scheduler from sending VBox work to those hosts. Also uses safe string concatenation when tagging the version.
Written for commit 43c8fc3. Summary will update on new commits.