Logging command output
When you use the exec
resources to run commands on the node, Puppet will give you an error message like the following if a command returns a non-zero exit status:
Notice: /Stage[main]//Node[cookbook]/Exec[this-will-fail]/returns: /bin/cat: /tmp/missing: No such file or directory Error: /bin/cat /tmp/missing returned 1 instead of one of [0]
As you can see, Puppet not only reports that the command failed, but shows its output:
/bin/cat: /tmp/missing: No such file or directory
This is useful for figuring out why the command didn't work, but sometimes the command actually succeeds (in that it returns a zero exit status) but still doesn't do what we wanted. In that case, how can you see the command output? You can use the
logoutput
attribute.
How to do itβ¦
Follow these steps in order to log command output:
Define an
exec
resource with thelogoutput
parameter as shown in the following code snippet:exec { 'misbehaving-command': command => '/bin/cat /etc/hostname', ...