Problem
nodes.target is ignored when performing fleet in-place update. Respecting nodes.target will allow to:
- Pre-provision more instances into an existing fleet.
- Terminate excessive idle fleet instances.
Solution
Respect nodes.target during fleet in-place update.
- If
nodes.target is greater than the current number of instances, provision new ones to reach nodes.target.
- If
nodes.target is less than the current number of instances, terminate some of the idle ones to get as close as possible to nodes.target. Do not terminate busy instances.
- If
nodes.target is equal to the current number of instances or unspecified, do nothing.
Workaround
- For pre-provisioning — increase
nodes.min, apply, revert nodes.min, apply.
- For terminating —
dstack fleet delete -i ...
Would you like to help us implement this feature by sending a PR?
Yes
Problem
nodes.targetis ignored when performing fleet in-place update. Respectingnodes.targetwill allow to:Solution
Respect
nodes.targetduring fleet in-place update.nodes.targetis greater than the current number of instances, provision new ones to reachnodes.target.nodes.targetis less than the current number of instances, terminate some of the idle ones to get as close as possible tonodes.target. Do not terminate busy instances.nodes.targetis equal to the current number of instances or unspecified, do nothing.Workaround
nodes.min, apply, revertnodes.min, apply.dstack fleet delete -i ...Would you like to help us implement this feature by sending a PR?
Yes