Fix: patching multiple hosts at once could stall indefinitely once a host's upgrade included a kernel package - dracut/update-initramfs can run for minutes with no output, and every host's blocking SSH I/O shared Python's default thread pool, so a couple of slow kernel upgrades could starve unrelated hosts of a worker thread even after those hosts had already finished. Dedicated thread pool for SSH I/O now sized well above any realistic concurrent-host count.
Raised the upgrade command's idle-output timeout from 300s to 1800s so a legitimately slow, silent kernel upgrade no longer gets killed as a false-positive timeout.