puppetlabs/mcollective-puppet-agent — pull request #44 by richardc (2014-11-18 15:02:39+00:00)
Title: MCOP-351 don't loop forever in the puppetrunner

It was possible to get into a situation where all the candidate
hosts remanining to run were already detected as being in a running
state. As we were only checking the state of the network once
concurrency was reached this would result in an infinite loop.

Here we restructure `runhosts` to check the state of the network
when we reach concurrency, or when we fail to schedule a host as
it already appears to be running.