puppetlabs/bolt

Streaming apply output

Opened this issue · 0 comments

Use Case

When running puppet agent -t, we get live feedback about events and changes so we can monitor long-running jobs. bolt apply / bolt apply --stream only shows a Puppet-like report after the run is complete. A plan with an apply block produces no output at all, and with --stream, results in printing the raw ApplyResult object after the run, which is not very user-friendly.

Describe the Solution You Would Like

bolt apply and plan apply blocks should both have the same output behavior. They should output a Puppet-like report after the run, or live if --stream is set.

Describe Alternatives You've Considered

As an alternative, I'm left identifying long-running portions of my Puppet code and trying to separate them into different apply blocks such that I can put some output statements in-between for monitoring progress. This defeats the purpose of Puppet, which should allow for a complete configuration in one catalog application.

Additional Context

Examples of long running jobs for which I want live feedback: big package installations, large Vcsrepo resources on slow hosts, kernel builds.