Type: New Feature
Affects Version/s: None
Fix Version/s: None
It would be nice if the client retried several times over say a 30-second period when it can't connect to the master.
Use case 1:
Restart the puppetmaster while a client is busy processing a catalog. At present, the client will fail to fetch any files with puppet:/// source URLs, leading to many error messages on the client.
Use case 2:
Run puppetmasterd and a puppetd client on the same host. Have a manifest with "notify => Service[puppetmasterd]" after upgrading the package that contains puppet itself, or upgrading ruby, or some other dependency. The client will upgrade the puppet package, and restart puppetmasterd. Then the client will try to send a report to the master, and fail, like this:
notice: Package[puppet]/ensure: ensure changed '0.25.5,REV=2010.06.17.13.13' to '0.25.5,REV=2010.08.03.09.06'
info: Package[puppet]: Scheduling refresh of Service[puppetmasterd]
notice: Service[puppetmasterd]: Triggering 'refresh' from 1 dependencies
err: Reporting failed: Connection refused - connect(2)
notice: Finished catalog run in 202.94 seconds