我有一个问题,我希望有人可能有答案.基本上我正在做的是尝试确保我总是使用一个固定的,稍微旧版本的phpunit,我把它放在我模块的文件资源中.
清单:
file
{
"/usr/bin/phpunit":
ensure => file,
owner => 'root',
group => 'root',
mode => 0755,
source => "puppet:///modules/php/phpunit"
}
Run Code Online (Sandbox Code Playgroud)
准备:我下载当前('错误')的phpunit版本并将其放在/ usr/bin中.
所以第一次运行的木偶成功了:
Notice: Compiled catalog for <hostname> in environment production in 3.06 seconds
Notice: /Stage[main]/Php/File[/usr/bin/phpunit]/content: content changed '{md5}9f61f732829f4f9e3d31e56613f1a93a' to '{md}38789acbf53196e20e9b89e065cbed94'
Notice: /Stage[main]/Httpd/Service[httpd]: Triggered 'refresh' from 1 events
Notice: Finished catalog run in 15.86 seconds
Run Code Online (Sandbox Code Playgroud)
然后我下载当前(仍然'错误')的phpunit版本并再次将它放在/ usr/bin中.
这次木偶运行失败了.
Notice: Compiled catalog for <hostname> in environment production in 2.96 seconds
Error: Could not back up /usr/bin/phpunit: Got passed new contents for sum {md5}9f61f732829f4f9e3d31e56613f1a93a
Error: Could not back up /usr/bin/phpunit: Got passed new contents for sum {md5}9f61f732829f4f9e3d31e56613f1a93a
Error: /Stage[main]/Php/File[/usr/bin/phpunit]/content: change from {md5}9f61f732829f4f9e3d31e56613f1a93a to {md5}38789acbf53196e20e9b89e065cbed94 failed: Could not back up /usr/bin/phpunit: Got passed new contents for sum {md5}9f61f732829f4f9e3d31e56613f1a93a
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?如果我从我的filebucket中删除文件(/ var/lib/puppet/clientbucket/9/f/6/1/f/7/3/2/9f61f732829f4f9e3d31e56613f1a93a /),它将再次运行...用于下一次运行,但是不是那之后的那个.
我究竟做错了什么?
我很感激任何意见和提前感谢.
除了升级之外没有其他解决方案,因为某些版本的 puppet 中存在错误,其中包含 UTF8 和二进制字符的文件被错误处理,并导致错误消息。
https://tickets.puppetlabs.com/browse/PUP-1038
我用作解决方法的极其复杂的解决方案是在文件资源中包含一个 .tar 文件,该文件通知 exec 解压并将实际的可执行文件放置在正确的目录中,确保后者的时间戳比前者更新。
它远非理想,但它适用于像我这样的情况,将木偶升级到最新版本不是一个有吸引力的选择。
| 归档时间: |
|
| 查看次数: |
4039 次 |
| 最近记录: |