我看到一个关于此的错误,一年前被接受然后关闭:http : //projects.puppetlabs.com/issues/3670 但我使用的是 puppet 2.7.14 并且遇到了同样的问题。
我正在尝试使用“puppet solo”(即只在每个要配置的服务器上运行 puppet apply),因为我在这个项目中只有 2 或 3 个服务器,添加另一个服务器作为 puppetmaster 将完全矫枉过正。除非我弄错了,否则将节点手动应用到服务器的最佳方法是:
puppet master --compile=mynode > catalog.json
puppet apply --catalog catalog.json
但是该puppet master
命令会向 stdout 输出一些警告和通知,并与所需的 json 内容混合在一起。它使用彩色输出,所以我不能直接通过管道egrep -v '^warning:'
编辑:我想使用 grep 没什么大不了的——因为 puppet 2.7 漂亮地打印了实际内容并且警告永远不会以空格开头,通过管道输出egrep '^( |{|})'
作品
所以我的问题基本上是:
- 有没有比这更好的方法来应用人偶节点而不使用人偶大师?我真的无法在网上找到任何关于在没有 puppetmaster 的情况下使用 puppet 的好的参考资料,尽管对于一个小项目来说这似乎是一件非常合理的事情。
- 是否有我缺少的设置或标志,它将
puppet master
不再是一个混蛋并将其错误发送到 stderr 而不是 stdout? - 或者我真的必须关闭颜色记录,然后 grep 排除警告:和通知:行?