Description
Checklist
- I have verified this is the correct repository for opening this issue.
- I have verified no other issues exist related to my request.
Is Your Feature Request Related To A Problem? Please describe.
Recent versions of CCM have introduced a feature to automatically create a deployment to "Upgrade Outdated Software." On the Software page, there is a button labeled "Actions for Software" at the top right. Clicking on this button opens a menu, and selecting "Upgrade Outdated Software" creates a deployment with a step for each outdated software. While this feature is a great idea and much appreciated, its implementation needs improvement.
In real-world environments, multiple-step deployments are often unusable because many computers are frequently unreachable. With the Execution timeout defaulting to 14,400 seconds (4 hours) and the Machine contact timeout set to 0, the first step involving an unreachable computer will delay the deployment by 4 hours. If there are 52 outdated software items, completing the deployment would take 208 hours, which is more than a week! Although the global execution timeout is set at 14,400 seconds to prevent this, it means that the "Upgrade Outdated Software" feature is effectively unusable, as only the first step will be performed.
Describe The Solution. Why is it needed?
The primary request is to ensure that the execution of subsequent steps is not blocked. For example, if step 1 targets computer1, computer2, and computer3, once step 1 completes for computer1, it should immediately proceed to step 2 without waiting for all computers in step 1 to finish. CCM should handle computers like swimlanes. While computer3 may be stuck in step 1 until the machine contact timeout or execution timeout is reached, computer1 and computer2 should be able to move through the steps sequentially up to step 52, or whatever the final step in the deployment is.
It would be ideal also to be able to set the default machine contact timeout or execution timeout for all steps. The proposed defaults (0 and 14,400) are not fit for purpose for a real life environment. We always use 10 for machine contact timeout and 600 for execution timeout, while we calculate the global execution timeout from the formula ((number of steps * 600) plus 660). Problem is, there is no way for us to change the default, so we have to do it manually. With the deployments automatically created by the "Upgrade Outdated Software" feature updating these is completely unrealistic, as there are generally tens of steps to update.
Last but not least it would be great if it was possible to cancel the steps individually. At the moment we can only cancel the deployment, which will cancel the current step and all subsequent steps:
Additional Context
Currently on CCM v0.14.0
Related Issues
No response
┆Issue is synchronized with this Gitlab issue by Unito