2014-05-12 47 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能夠得到評估。 –

回答