You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Support --fleet in dstack offer
Keep plain dstack offer global when no fleets are specified, but respect explicitly selected fleets. For a single --fleet, return the same per-fleet offers that would be considered if that fleet were the chosen candidate during apply planning. For multiple --fleet values, collect offers for each selected fleet and merge them instead of picking one best fleet.
* Simplify fleet offer helpers
Inline the temporary dstack offer dispatcher helper, rename the remaining fleet offer helper to match its behavior, and document the single-fleet vs multi-fleet semantics in docstrings.
* Avoid asyncio.run in offer CLI test
The new offer CLI test helper used asyncio.run(), which clears the current event loop on Python 3.9/3.10 and made a later test_event_loop assertion fail in GitHub Actions. Use a private event loop in the helper instead so the test stays isolated.
* Document asyncio isolation in offer CLI test
Add a short comment explaining why the helper uses a private event loop instead of asyncio.run(): the latter clears the current loop on Python 3.9/3.10 and can break later tests in the same worker.
* Tighten Python version note in offer CLI test
The isolated-loop comment should not claim the same Queue construction failure on Python 3.10. Python 3.9 still constructs Queue via get_event_loop(), while 3.10 removed the loop parameter and defers loop binding until use.
* Deduplicate identical backend offers across fleets
* Document fleet-scoped dstack offer behavior
* Clarify uncapped multi-fleet offer behavior
* Clarify max_offers_per_fleet TODO
---------
Co-authored-by: Andrey Cheptsov <andrey.cheptsov@github.com>
Copy file name to clipboardExpand all lines: docs/docs/reference/cli/dstack/offer.md
+20-4Lines changed: 20 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,6 @@ Displays available offers (hardware configurations) from configured backends or
4
4
5
5
The output shows backend, region, instance type, resources, spot availability, and pricing.
6
6
7
-
!!! info "Experimental"
8
-
`dstack offer` command is currently an experimental feature. Backward compatibility is not guaranteed across releases.
9
-
10
7
## Usage
11
8
12
9
This command accepts most of the same arguments as [`dstack apply`](apply.md).
@@ -20,9 +17,28 @@ $ dstack offer --help
20
17
21
18
</div>
22
19
20
+
## Fleet offers
21
+
22
+
By default, `dstack offer` ignores fleet configurations and shows all available offers that match the request.
23
+
24
+
Use `--fleet` to inspect offers available through specific fleets. With one `--fleet`,
25
+
`dstack offer` shows offers available through that fleet. With multiple `--fleet`, it
26
+
combines offers available through the selected fleets.
27
+
28
+
<divclass="termy">
29
+
30
+
```shell
31
+
$ dstack offer --gpu H100 --fleet my-fleet
32
+
```
33
+
34
+
</div>
35
+
36
+
The same fleet filtering applies to `--group-by` output, e.g. `--group-by gpu,backend`
37
+
or `--group-by gpu,backend,region`.
38
+
23
39
## Examples
24
40
25
-
### Filtering offers
41
+
### Filtering offers { #list-gpu-offers }
26
42
27
43
The `--gpu` flag accepts the same specification format as the `gpu` property in [`dev environment`](../../../concepts/dev-environments.md), [`task`](../../../concepts/tasks.md),
28
44
[`service`](../../../concepts/services.md), and [`fleet`](../../../concepts/fleets.md) configurations.
Offers represent available instance configurations available for provisioning across backends. `dstack offer` lists offers regardless of configured fleets.
462
+
Offers represent available instance configurations available for provisioning across backends. By default, `dstack offer` ignores fleet configurations and shows all available offers that match the request. Use `--fleet` to inspect offers available through specific fleets.
With one `--fleet`, `dstack offer` shows offers available through that fleet. With multiple `--fleet`, it combines offers available through the selected fleets. Identical backend offers are shown once, while matching existing instances stay separate.
488
+
481
489
**Max offers:** By default, `dstack offer` returns first N offers (output also includes the total number). Use `--max-offers N` to increase the limit.
482
490
**Grouping:** Prefer `--group-by gpu` (other supported values: `gpu,backend`, `gpu,backend,region`) for aggregated output across all offers, not `--max-offers`.
0 commit comments