在puppetserver版本上使用puppet-xmlfile模块时:2.2.1与带有Puppet 4.3.2的Windows 2012 R2节点在尝试执行木偶运行时收到以下错误:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: no parameter named 'ensure' at
/etc/puppetlabs/code/environments/my_environment/manifests/default.pp:12
on File[C:/tmp/] at /etc/puppetlabs/code/environments/my_environment/manifests/default.pp:12 on node xxx
然而,在重新启动puppetserver后,它在第一次运行时成功运行。每次后续运行都会失败。
木偶清单:
$staging_windir = 'C:/tmp/'
file { $staging_windir:
ensure => directory,
}
xmlfile { "C:/Path To Existing XML File/config.xml":
ensure => present,
use_existing_file => true,
}
xmlfile_modification { "test" :
file => "C:/Path To Existing XML File/config.xml",
changes => 'set /Someconfig/State "Enabled"',
}
使用此repo中的puppet-xmlfile模块的分支“fix_relative_require”:https://github.com/capablue/puppet-xmlfile/tree/fix_relative_require
上面的代码足以重新创建它,它会产生此问题顶部列出的错误。
我看不出为什么内置的Puppet文件类型突然失去它的ensure
参数的原因。当我从清单中删除xmlfile类型时,File ['C:/ tmp /']再次正常工作。任何想法都非常赞赏。