2014-05-12 45 views
2

为什么“整洁”资源不能在新条款中删除文件?我有以下内容:puppet:为什么整洁资源不能正常工作

package {'apache2': 
    ensure => present, 
    before => [ 
    File["/etc/apache2/apache2.conf"], 
    File["/etc/apache2/envvars"] 
    ], 
}-> 
#Remove the conf files in the conf.d directory except the charset. 
tidy { 'tidy_apache_conf': 
    path => '/etc/apache2/conf.d/', 
    recurse => 1, 
    backup => true, 
    matches => [ 
    'localized-error-pages', 
    'other-vhosts-access-log', 
    'security' 
], 
} 

设置时,不会删除matches属性中指定的文件。但是,通过指定“文件”资源,我可以看到所需的结果。

$unwanted_apache_conf = [ 
    '/etc/apache2/conf.d/localized-error-pages', 
    '/etc/apache2/conf.d/other-vhosts-access-log', 
    '/etc/apache2/conf.d/security' 
] 

package {'apache2': 
    ensure => present, 
    before => [ 
    File["/etc/apache2/apache2.conf"], 
    File["/etc/apache2/envvars"] 
    ], 
}-> 
file { $unwanted_apache_conf: 
    ensure => absent 
} 

为什么不是整洁的资源删除文件?整洁的资源应该为每个匹配的文件生成一个文件资源。我是否在整洁资源中缺少一个属性,或者完全忽略了这个概念?有什么方法可以查看整洁资源生成的文件资源是什么样子的?感谢您的任何意见。

+0

为了在引擎盖下窥视,请尝试使用'--verbose','--debug'和'--evaltrace'开关。 –

+0

...也就是说,请这样做,并提供输出。 –

+0

看看这个:我有相同的用例(安装后删除一个文件),我从Tidy收到通知,我试图删除的文件不存在。在得到这些通知之前,由于我的测序操作员和元参数,我希望Tidy能够得到评估。 –

回答