TLDR後Exec的鏈命令:木偶 - 不能只執行一次的命令通知
我無法配置木偶「執行」的命令鏈命令只運行一次。
詳情:
我想利用流浪漢,木偶模塊需要安裝虛擬機安裝技術管理平臺,並加載到它的一些樣本數據。 我使用https://forge.puppetlabs.com/johanek/redmine,它工作得很好 - Redmine已安裝並可以正常工作。
我的目標:
現在我想用REST API樣本數據加載到管理平臺:
- 創建1個測試項目
- 導入2個問題到這個項目
我想要運行2個簡單的「執行」,一個又一個,只有一次,但我無法實現這一點,因此這個問題。
我目前的工作:
我試圖訂閱的最新步驟之一管理平臺安裝
訂閱=> [執行[ 'rails_migrations']
和然後導入數據,但第一步「create-project1」總是通知第二步「導入問題」,因此它會創建重複的數據。 而且如果幾次運行流浪者,「導入問題」會造成這些問題的重複。 這裏是我的代碼:
exec {'create-project1':
subscribe => [Exec['rails_migrations']],
path => ['/usr/bin', '/usr/sbin', '/bin'],
creates => "$redmine_install_dir/.data_loaded",
command => "curl WHICH_CREATES_PROJECT && touch $redmine_install_dir/.data_loaded",
notify => [Exec['import-issues']],
} ->
exec {'import-issues':
path => ['/usr/bin', '/usr/sbin', '/bin'],
command => "curl WHICH_IMPORTS_ISSUES",
refreshonly => true,
}
問:
如何配置這些Exec的命令,在鏈和只運行一次?我也在考慮在不久的將來將這條鏈延伸到5條命令,所以請牢記這一點。
我測試這個解決方案 - 它阻止'command'執行,但'notify'仍然觸發刷新到下一個事件。真正的問題是,這個'通知'可以停止/不定期通知下一個'exec'嗎?將來,當我有例如10位連鎖高管,我可能需要爲他們添加'onlyif'? – ljader