I've created a ticket in Redmine to track this work:
http://projects.puppetlabs.com/issues/5703

On Fri, Dec 17, 2010 at 10:36 AM, Morgan Haskel <[email protected]>wrote:

> Hi all,
>
> I've recently started using postrun_command.  It seems very useful, but I'd
> really like to be able to optionally print the output from the postrun
> command so the users can see any relevant messages.  I patched 2.6.4 to get
> this working with the new options print_prerun_output and
> print_postrun_output (both defaulting to false).
>
> My patch is included below.
>
> ~Morgan
>
>
> diff --git a/configurer.rb b/configurer.rb
> index 31d31c2..194acc1 100644
> --- a/configurer.rb
> +++ b/configurer.rb
> @@ -41,11 +41,11 @@ class Puppet::Configurer
>    end
>
>    def execute_postrun_command
> -    execute_from_setting(:postrun_command)
> +    execute_from_setting(:postrun_command, Puppet[:print_postrun_output])
>    end
>
>    def execute_prerun_command
> -    execute_from_setting(:prerun_command)
> +    execute_from_setting(:prerun_command, Puppet[:print_prerun_output])
>    end
>
>    # Initialize and load storage
> @@ -200,11 +200,14 @@ class Puppet::Configurer
>      timeout
>    end
>
> -  def execute_from_setting(setting)
> +  def execute_from_setting(setting, print_output = false)
>      return if (command = Puppet[setting]) == ""
>
>      begin
> -      Puppet::Util.execute([command])
> +      output = Puppet::Util.execute([command])
> +      if print_output then
> +        Puppet.info(output)
> +      end
>      rescue => detail
>        raise CommandHookError, "Could not run command from #{setting}:
> #{detail}"
>      end
> diff --git a/defaults.rb b/defaults.rb
> index 4521a59..e0d2cda 100644
> --- a/defaults.rb
> +++ b/defaults.rb
> @@ -168,6 +168,12 @@ module Puppet
>      :postrun_command => ["", "A command to run after every agent run.  If
> this command returns a non-zero
>        return code, the entire Puppet run will be considered to have
> failed, even though it might have
>        performed work during the normal run."],
> +    :print_prerun_output => [false,
> +      "Boolean; whether to print output from the prerun_command at the
> 'info' level."
> +    ],
> +    :print_postrun_output => [false,
> +      "Boolean; whether to print output from the postrun_command at the
> 'info' level."
> +    ],
>      :freeze_main => [false, "Freezes the 'main' class, disallowing any
> code to be added to it.  This
>        essentially means that you can't have any code outside of a node,
> class, or definition other
>        than in the site manifest."]
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<puppet-dev%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/puppet-dev?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to