[英]Running a command once after a group of packages is installed
我有一個現有的木偶清單,該清單安裝了一堆php5軟件包,並且僅在安裝后重啟apache。 簡化的清單類似於
package { 'apache-php':
name => $modules,
ensure => installed
}
exec {'enable-mod-php':
command => $enable_cmd,
refreshonly => true
}
Package['apache-php'] ~> Exec['enable-mod-php'] ~> Service['apache']
在系統升級目錄運行開始后,出現以下錯誤消息:
錯誤:無法應用目錄:Package [apache-php]上的參數名稱失敗:名稱必須是/etc/puppet/modules/apache/manifests/php.pp:22處的不是數組的字符串
我發現我在使用未記錄的功能/錯誤: Puppet 3.4.0名稱作為package中的數組 。
但是,在升級之后,我很難找到如何重做設置的方法。 我該如何重寫此清單,以便它與更新的木偶版本一起使用?
而不是在示例中為包定義使用任意標題。 (例如apache-php
)並使用name
參數,您可以執行以下操作:
$modules = ['foo','bar','baz']
package { $modules:
ensure => present
notify => Exec['enable-mod-php']
}
exec {'enable-mod-php':
command => $enable_cmd,
refreshonly => true,
notify => Service['apache']
}
service { 'apache':
# your apache params
}
我沒有看過軟件包提供程序的代碼,但是可以驗證以上內容是否有效。 還應該注意的是鏈接箭都很好,但根據木偶風格指南 , metaparameters
是首選。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.