-
Notifications
You must be signed in to change notification settings - Fork 204
Open
Labels
Description
Problem
Although every effort is made to maintain server↔shim and server↔runner compatibility, new features require shim/runner update quite often, and compatibility by itself is not free.
If there was a way to update both shim and runner without recreating the fleet, then
- Users could use new feature right away after the the server update.
- Developers would spend less effort maintaining compatibility.
- Breaking API changes could be introduced in any release.
- Users wouldn't spend time and resources recreating fleets in order to update shim/runner, additionally risking compute resources with limited availability.
Solution
Add new API method(s) to shim to instruct it to install a specific version of shim/runner. It should be quite easy, and non-intrusive, as
- Running jobs can use the previous version of the runner even if the newer is already installed (handled by the Linux kernel).
- The shim can replace its binary and just exit
- shim service (re)start is already maintained by systemd with SSH fleets, which can be used for cloud instances as well.
- shim already restores its state on restart, no additional effort required.
Workaround
No response
Would you like to help us implement this feature by sending a PR?
Yes