2017-10-11 20 views
0

Puppet腳本可以確定它是否作爲常規配置運行的一部分被調用,即Puppet代理以固定的時間間隔應用配置(例如puppet agent),或者由於one-時間動作(如puppet agent -t,puppet apply)?區分Puppet代碼中的常規調用和一次性調用

+2

你可能會需要使用一個主機和無主環境之間的不同的內在的,如'$ environment',對於代理與適用。至於代理一次與代理守護進程,很可能不會。 –

+1

還請注意,特別是「$ environment」是否有助於實現這種區分取決於目標節點和puppetmaster上的Puppet配置的詳細信息。 –

+0

@JohnBollinger在傀儡5中有這種新行爲,有時在無主的環境內在設置爲「根」而不是「生產」,但我沒有注意到觸發該行爲的是什麼。也許你已經看過相關的源代碼或者閱讀爲什麼會發生這種情況。這可能會有所幫助。 –

回答

0

我還沒有在實踐中嘗試這樣呢,但是下面可能允許前進的道路:在command line(如--test

設置也可作爲木偶master variables(如$settings::test)。

Puppet主變量$servername標識Puppet主文件爲puppet agent運行並且(可能)undefpuppet apply運行。

因此,對於一個整體的解決方案可以看作是一個配方如下:

$onetime = $settings::test or $settings::onetime or ($servername == undef) 
相關問題