morph
morph copied to clipboard
Transient network errors are poorly handled
If an SSH connection to a deployment target dies, Morph appears to hang indefinitely, neither retrying nor failing with an error.
I recently left a deploy running and came back hours later only to find:
Pushing paths to storage002:
* ...-nixos-system-storage002-19.09pre-git
* ...-nixos-system-storage002-19.09pre-git.drv
[1/104/594 copied (192.0/685.2 MiB)] copying path '...-linux-4.19.79' to 'ssh://storage002'Timeout, server w.x.y.z not responding.
The server was fine but my network hiccuped at some point.
Instead of hanging forever, morph should either actually fail (allowing a morph-invoking driver to implement retry logic) or perform retries itself.