Skip to content

client (Win) and scheduler: don't use Vbox if Docker is present#6895

Merged
AenBleidd merged 2 commits intomasterfrom
dpa_vbox
Feb 27, 2026
Merged

client (Win) and scheduler: don't use Vbox if Docker is present#6895
AenBleidd merged 2 commits intomasterfrom
dpa_vbox

Conversation

@davidpanderson
Copy link
Contributor

@davidpanderson davidpanderson commented Feb 26, 2026

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.

  • Migration
    • If you maintain a custom scheduler that uses VBox, add a check for "unusable" in virtualbox_version and reject VBox tasks before version parsing.

Written for commit 43c8fc3. Summary will update on new commits.

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.
Copilot AI review requested due to automatic review settings February 26, 2026 23:43
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 3 files

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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_version contains 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.

Comment on lines +894 to +896
if (strstr(sreq.host.virtualbox_version, "unusable")) {
add_no_work_message("VirtualBox is not usable");
return false;
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
Comment on lines +459 to +462
if (strstr(sreq.host.virtualbox_version, "unusable")) {
add_no_work_message("VirtualBox is not usable");
return false;
}
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
@github-project-automation github-project-automation bot moved this to Backlog in Server Feb 27, 2026
@AenBleidd AenBleidd added this to the Client/Manager 8.2.9 milestone Feb 27, 2026
@github-project-automation github-project-automation bot moved this to In progress in Client/Manager Feb 27, 2026
@AenBleidd AenBleidd merged commit 8bd4ceb into master Feb 27, 2026
429 checks passed
@AenBleidd AenBleidd deleted the dpa_vbox branch February 27, 2026 01:16
@github-project-automation github-project-automation bot moved this from Backlog to Done in Server Feb 27, 2026
@github-project-automation github-project-automation bot moved this from In progress to Merged in Client/Manager Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Merged
Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants