Logging command output
When you use the exec
resources to run commands on the node, Puppet will give you an error message such as the following if a command returns a non-zero exit status:
Notice: /Stage[main]/Main/Exec[/bin/cat /tmp/missing]/returns: /bin/cat: /tmp/missing: No such file or directory Error: /bin/cat /tmp/missing returned 1 instead of one of [0] Error: /Stage[main]/Main/Exec[/bin/cat /tmp/missing]/returns: change from notrun to 0 failed: /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 to figure 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...