我新添加的 Windows Puppet 节点似乎都无法工作,尽管都没有给出错误。我的 Linux 节点工作正常。我在我的 nodes.pp 中尝试了下面这行,并且 puppet kick 运行没有错误,但没有执行任何操作(同一 nodes.pp 中的其他 Linux 框执行了它们应该执行的操作)。存在 C:\test
。
node 'my-winserver.mydomain.org' {
file { 'C:\test\Puppet_Works':
ensure => present
}
我尝试通过从“开始”菜单中的 Puppet 目录打开“使用命令提示符打开 Puppet”选项来执行此操作,然后尝试执行以下操作:
puppet apply -e "file { 'C:\PuppetFile': ensure => present}"
再次,它默默地失败了,没有错误,只是什么也没做。该框显示在 Puppet Master 中cert list --all
。您会在该 Windows 框的 PuppetMaster 日志中看到大量 GET 和 PUT。 Puppet 2.7(Win 客户端 2.7.23)主操作系统 RHEL 5 服务器,Win 客户端操作系统服务器 2003、2008
答案1
就像 Felix 提到的那样,查看发生了什么的最佳方法是添加--debug --verbose --trace
到运行的末尾。如果没有这些信息,很难知道发生了什么。
更新: ensure => file
或ensure=> directory
不ensure => present
我认为一个可能的因素是您正在使用较旧版本的 puppet,该版本早期支持 Windows。您将遇到的许多问题已在较新版本中得到修复。
自 2.7.x 以来,对 Windows 的支持已得到根本改善。您确实应该考虑在 Windows 上使用 Puppet 3.4.x+。
以下是 Windows 中已解决的问题:
- http://bit.ly/puppet_windows_closed_old_tracker(旧 Redmine 问题追踪器)
- http://bit.ly/puppet_windows_closed(新的 Jira 问题追踪器)