Hi all,
When running guix deploy with a list of machines, the command will fail
if any of the machines are unreachable. I use Guix deploy from a central
machine to update the devices on my LAN, including laptops, which aren't
guaranteed to be on. I'm also not terribly worried about keeping every
single device updated in perfect synchronicity.
I think it would be useful to have a CLI flag that would continue the
deployment even if we fail to connect to one of the machines.
At present this can be worked around by commenting out entries on the
list, but this requires
a) Already knowing what machine is offline
b) Remembering to uncomment it later when the machine goes back online
c) Generally feels "ugly" in a way that most Guix commands don't.
d) Makes version control a pain
The default behavior should stay as is, I imagine, since one of the main
uses of guix deploy is deploying an interconnected cluster of machines
that probably would not appreciate being partially upgraded.
Another option worth considered is adding a `'can-connection-fail?'
(default: #f)` to either `machine` or `machine-ssh-configuration`.
(Probably machine since it would also allow for digitalocean
deployments.) This would let me mix a list of "core machines" that I
definitely want upgraded in a deployment (NAS, etc), while still having
secondary machines that I'm not particularly concerned about upgrading.
When running a deployment, there are effectively 3 options for how I
could want the deployment to go for machines X, Y, and Z:
a) X, Y, and Z must all be deployed together <--- Supported
b) X must be deployed, but Y and/or Z can fail <---
can-connection-fail? setting
c) X, Y, and/or Z can fail <---
--keep-going-but-for-machines-I-don't-know-what-to-call-this
Anyone have thoughts on this?
Thanks,
Richard Sent