DBCDK / morph

NixOS deployment tool
MIT License
811 stars 62 forks source link

Support push in the background #49

Open adamtulinius opened 5 years ago

adamtulinius commented 5 years ago

When updating multiple hosts, it would be neat if morph could keep pushing data to the remaining hosts in the background, while waiting for the current host to switch configuration/reboot/&c.

I'm not really sure how to handle this in the UI, since we're currently just attaching stdin/stdout of the nix-process to the current stdin/stdout, which isn't possible in the background. I don't think hiding the progress is a problem, but if the main thread catches up with the push one, we should somehow attach stdin/stdout at that point (or show the progress in some other manner).

adamtulinius commented 5 years ago

Maybe we should just grab the bull by the horns, and go directly for full parallel host management; pushing, switching, &c, all in parallel.

DavHau commented 4 years ago

Are there any plans regarding this? Morph doesn't seem to be a suitable tool for managing many hosts, since its single threaded approach makes it very slow.

Since the current issue might only be part of the overall concurrency issue, I opened a new issue here: https://github.com/DBCDK/morph/issues/128