官术网_书友最值得收藏!

  • Puppet 2.7 Cookbook
  • John Arundel
  • 224字
  • 2021-04-02 18:20:03

Logging command output

"Computer says no."—Little Britain

Detailed feedback on problems can be helpful. When you use exec resources to run commands on the node, it's not always easy to find out why they haven't worked. Puppet will give you an error message if a command returns a non-zero exit status. The error will be similar to the following:

err: /Stage[main]//Node[cookbook]/Exec[this-will-fail]/returns: change from notrun to 0 failed: /bin/ls file-that-doesnt-exist returned 2 instead of one of [0] at /etc/puppet/manifests/nodes.pp:10

Often we would like to see the actual output from the command that failed, rather than just the numerical exit status. You can do this with the logoutput parameter.

How to do it…

Define an exec resource with the logoutput parameter as follows:

exec { "this-will-fail":
    command   => "/bin/ls file-that-doesnt-exist",
    logoutput => on_failure,
}

How it works…

Now, if the command fails, Puppet will also print its output:

notice: /Stage[main]//Node[cookbook]/Exec[this-will-fail]/returns: /bin/ls: cannot access file-that-doesnt-exist: No such file or directory err: /Stage[main]//Node[cookbook]/Exec[this-will-fail]/returns: change from notrun to 0 failed: /bin/ls file-that-doesnt-exist returned 2 instead of one of [0] at /etc/puppet/manifests/nodes.pp:11

There's more…

You can set this to be the default for all exec resources by defining the following:

Exec {
    logoutput => on_failure,
}

If you want to see the command output whether it succeeds or fails, use the following:

logoutput => true,
主站蜘蛛池模板: 宁化县| 潜山县| 宁化县| 武鸣县| 衡山县| 江陵县| 砀山县| 曲周县| 康定县| 六安市| 渭源县| 阳山县| 镶黄旗| 榆林市| 咸丰县| 鹤庆县| 蕲春县| 锦州市| 中方县| 新竹市| 缙云县| 泊头市| 安化县| 奇台县| 长兴县| 蓝山县| 永顺县| 新邵县| 云阳县| 彰武县| 营山县| 渭南市| 霍城县| 梧州市| 西平县| 简阳市| 马山县| 绥芬河市| 汝州市| 巴东县| 许昌县|