2016-04-27 11 views
1
exec { "Installing application by extracting archive file ${app_package_archive} in ${install_dir}": 
    cwd => "${install_dir}", 
    path => ['/usr/bin','/bin','/usr/sbin','/sbin'], 
    command => "tar xf ${app_package_archive}", 
    user => 'root', 
    creates => "${install_dir}/${app_package_dir}", 
    require => File["${install_dir}/${app_package_archive}"], 
    logoutput => true 
} 

Ich habe diesen Puppet-Code-Block. Dieser Codeblock extrahiert die Tara-Datei des Anwendungspakets. Ich möchte, dass jedes Mal, wenn ich ein neues Anwendungspaket beim Extrahieren von Puppet habe, den vorhandenen Anwendungsordner überschreiben wird. Dieser Codeblock funktioniert einwandfrei, wenn kein alter Anwendungsordner vorhanden ist. Aber wenn es da ist, wird es nicht einmal ausgeführt. Jede Hilfe wird sehr geschätzt werden.Puppet exec nicht ausgeführt

Antwort

2

Werfen Sie einen Blick auf die documentation for exec. Sie verwenden das Schlüsselwort creates:

Eine Datei, nach der vor dem Ausführen des Befehls gesucht werden soll. Der Befehl wird nur ausgeführt, wenn die Datei nicht existiert.

Wenn Sie Ihre exec Ressource wollen jedes Mal ausführen, entfernen Sie einfach creates aus der Ressourcendefinition.

+0

Danke das funktioniert –

Verwandte Themen