Skip to content

Fix case-sensitive fleet and run spec intersection - #4215

Merged
r4victor merged 4 commits into
masterfrom
issue_4214_fleet_run_intersect_bugs
Aug 26, 2026
Merged

Fix case-sensitive fleet and run spec intersection#4215
r4victor merged 4 commits into
masterfrom
issue_4214_fleet_run_intersect_bugs

Conversation

@r4victor

@r4victor r4victor commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

A fleet spec and a run spec were intersected case-sensitively, so a fleet declaring gpu: mi300x and a run requesting gpu: MI300X produced an empty GPU name list that matches nothing. The run then got no backend offers at all - only offers from instances that already existed in the fleet - while dstack offer, which ignores fleets, kept returning them.

  • Intersect GPU names, regions, availability zones, and instance types case-insensitively when combining fleet and run specs, keeping the spelling from the fleet spec.
  • Combine compute_capability with max rather than min, since it is a lower bound and the stricter of the two must win.
  • Compare availability zones case-insensitively when filtering backend offers and existing instances, as regions and instance types already were.

Fixes #4214.

AI assistance: written with Claude Code.

@r4victor
r4victor merged commit 27d1780 into master Aug 26, 2026
27 checks passed
@r4victor
r4victor deleted the issue_4214_fleet_run_intersect_bugs branch August 26, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Fleet and run GPU names are combined case-sensitively, dropping all backend offers

1 participant