0.18.43
CLI autocompletion
The dstack CLI now supports shell autocompletion for bash and zsh. It suggests completions for subcommands:
✗ dstack s
server -- Start a server
stats -- Show run stats
stop -- Stop a runand dynamic completions for resource names:
✗ dstack logs m
mighty-chicken-1 mighty-crab-1 my-dev --
To set up the CLI autocompletion for your shell, follow the Installation guide.
max_duration set to off by default
The max_duration parameter that controls how long a run is allowed to run before stopping automatically is now set to off by default for all run configuration types. This means that dstack won't stop runs automatically unless max_duration is specified explicitly.
Previously, the max_duration defaults were 72h for tasks, 6h for dev environments, and off for services. This led to unintended runs termination and caused confusion for users unaware of max_duration. The new default makes max_duration opt-in and, thus, predictable.
If you relied on the previous max_duration defaults, ensure you've added max_duration to your run configurations.
GCP Logging for run logs
The dstack server requires storing run logs externally when for multi-replica server deployments. Previously, the only supported external storage was AWS CloudWatch, which limited production server deployments to AWS. Now the dstack server adds support for GCP Logging to store run logs. Follow the Server deployment guide for more information.
Custom IAM instance profile for AWS
The AWS backend config gets the new iam_instance_profile parameter that allows specifying IAM instance profile that will be associated with provisioned EC2 instances. You can also specify the IAM role name for roles created via the AWS console as AWS automatically creates an instance profile and gives it the same name as the role:
projects:
- name: main
backends:
- type: aws
iam_instance_profile: dstack-test-role
creds:
type: defaultThis can be used to access AWS resources from runs without passing credentials explicitly.
Oracle Cloud spot instances
The oci backend can now provision interruptible spot instances, providing more cost-effective GPUs for workloads that can recover from interruptions.
> dstack apply --gpu 1.. --spot -b oci
# BACKEND REGION INSTANCE RESOURCES SPOT PRICE
1 oci eu-frankfurt-1 VM.GPU2.1 24xCPU, 72GB, 1xP100 (16GB), 50.0GB (disk) yes $0.6375
2 oci eu-frankfurt-1 VM.GPU3.1 12xCPU, 90GB, 1xV100 (16GB), 50.0GB (disk) yes $1.475
3 oci eu-frankfurt-1 VM.GPU3.2 24xCPU, 180GB, 2xV100 (16GB), 50.0GB (disk) yes $2.95Breaking changes
- Dropped support for
python: 3.8in run configuration. - Set
max_durationtooffby default for all run configuration types.
What's Changed
- Replace pagination with lazy loading in dstack UI by @olgenn in #2309
- Dynamic CLI completion by @solovyevt in #2285
- Remove excessive project_id check for GCP by @r4victor in #2312
- [Docs] GPU blocks and proxy jump blog post (WIP) by @peterschmidt85 in #2307
- [Docs] Add
blocksdescription to Concepts/Fleets by @un-def in #2308 - Replace pagination with lazy loading on Fleet list by @olgenn in #2320
- Improve GCP creds validation by @r4victor in #2322
- [UI]: Fix job details for multi-job runs by @jvstme in #2321
- Fix instance filtering by backend to use base backend by @r4victor in #2324
- [Docs]: Fix inactivity duration blog post by @jvstme in #2327
- Fix CLI instance status for instances with blocks by @jvstme in #2332
- Partially fixes openapi spec by @haringsrob in #2330
- [Bug]: UI does not show logs of distributed tasks and replicated services by @olgenn in #2334
- [Feature]: Replace pagination with lazy loading in Instances list by @olgenn in #2335
- [Feature]: Replace pagination with lazy loading in volume list by @olgenn in #2336
- [Bug]: Finished jobs included in run price by @olgenn in #2338
- Fix
DSTACK_GPUS_PER_NODE|DSTACK_GPUS_NUMwhen blocks are used by @un-def in #2333 - Support storing run logs using GCP Logging by @r4victor in #2340
- Support OCI spot instances by @jvstme in #2337
- [Feature]: Replace pagination with lazy loading in models list by @olgenn in #2351
- [UI] Remember filter settings in local storage by @olgenn in #2352
- [Internal]: Minor tweaks in packer docs and CI by @jvstme in #2356
- Use unique names for backend resources by @r4victor in #2350
- Set max_duration to off by default for all run configurations by @r4victor in #2357
- Print message on dstack attach exit by @r4victor in #2358
- Forbid
python: 3.8in run configurations by @jvstme in #2354 - Fix Fabric Manager in AWS/GCP/Azure/OCI OS images by @jvstme in #2355
- Install DCGM Exporter on dstack-built OS images by @un-def in #2360
- Fix volume detachment for runs started before 0.18.41 by @r4victor in #2362
- Increase Lambda provisioning timeout and refactor by @jvstme in #2353
- Bump default OS image version by @jvstme in #2363
- Support iam_instance_profile for AWS by @r4victor in #2365
New Contributors
- @haringsrob made their first contribution in #2330
Full Changelog: 0.18.42...0.18.43