ServiceRestarter.run returns an integer, while poolcounter.client.Client.run will only report an
error if the callback raises an exception.
This results in the fact that, when running the restart script with --max-concurrency set, the script will exit with a 0 exit code even when failing to properly restart the service.
This is particularly bad if we're running the script automatically from say systemd, as we aren't able to detect programmatically any kind of failure, and almost caused an outage when one of the lvs servers had a faulty cable and had depooled a good chunk of servers it couldn't reach.