簡體   English   中英

如何從人偶清單中調用人偶提供者方法?

[英]How to call a puppet provider method from puppet manifest?

我正在使用來自偽造偽造的ibm_installation_manager模塊,這有點基礎,因為IBM在做冪等的時候編寫了Installation Manager。 參考: https : //forge.puppet.com/puppetlabs/ibm_installation_manager

因此,它不能很好地適應升級-因此該模塊將不會檢測是否需要升級,停止現有進程,進行升級然后再次啟動進程。 它只會檢測是否需要升級,然后嘗試安裝所需的版本,並且該版本是否構成了不錯的升級,但是由於運行實例而可能會失敗。

因此,我需要實現一些“停止過程”升級前功能。

在這一點上,我需要提一下,我是紅寶石的新手,也是木偶的新手。

模塊使用的提供程序(imcl.rb)有一個exist方法。 對於我來說,檢測升級是否將要發生(並停止實例)的理想方法是使我的木偶清單能夠以某種方式調用exist方法。 這可能嗎?

或者您將如何解決這個問題? 類似於imcl.exists(ibm_pkg [“ my_imcl_pkg_resource”])

對於我來說,檢測升級是否將要發生(並停止實例)的理想方法是使我的木偶清單能夠以某種方式調用exist方法。 這可能嗎?

不,這是不可能的,至少沒有任何有用的方式。 您的清單描述了如何建立描述機器目標狀態的資源目錄 在主服務器/代理設置中,這發生在主服務器上。 然后,目錄用作單獨步驟的輸入,在此步驟中,目錄被傳輸到目標計算機並在那里應用 在第二步中,提供商參與其中。

如果您希望目錄的內容受目標計算機的當前狀態影響,那么Puppet機制就是以事實的形式將所需的狀態詳細信息傳達給目錄構建器。 添加您自己的事實相對簡單。 實際上,至少有兩種截然不同的非排他性機制 ,分別以“外部事實”和“習慣事實”為名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM