2014-11-25 55 views
0

我們有一個社區食譜(A),其中包含在屬性(att = A :: inc)中指定的配方到默認配方中,以便食譜用戶可以通過覆蓋菜譜屬性。廚師食譜依賴和配方包含

我們有一本食譜(B),它取決於覆蓋社區食譜中屬性的社區食譜。如果我們覆蓋存儲包含在默認配方(att = B :: inc)中的配方名稱的屬性,則該屬性被覆蓋,但由於社區食譜(A)不依賴於我們的食譜,所以廚師 - 客戶端運行失敗B)這是預期的,我們不想改變社區食譜的元數據(A)。

爲了解決這個問題,我們有第三本烹飪書(C),它取決於社區食譜(A)和我們的書本(B),它在屬性值att = B :: inc在其默認配方中。這使得配方B :: inc可以被社區食譜A包含。讓我知道這種方法是否存在問題。

+0

哪個社區您使用的食譜? – 2014-11-26 09:33:18

+0

Dave,請參閱[kafka-cookbook](https://github.com/mthssdrbrg/kafka-cookbook),您可以在我的[增強](https://github.com/)中閱讀有關該方法的詳細信息mthssdrbrg /卡夫卡食譜/問題/ 58)。 – 2014-12-05 11:55:44

回答

-1

這會工作的很好,但你不需要第三本食譜。你可以在烹飪書B中創建一個沒有任何操作的食譜。然後將該配方添加到節點的運行列表中。這將導致食譜B加載到節點上。您可以選擇在該配方內設置節點屬性,而不是直接在節點屬性中設置節點屬性。然後,通過將所述配方放入運行列表中,您可以完成這兩個任務。所以,無論是:

# recipe B::dummy.rb 
# do nothing 

OR

# recipe B::useme.rb 
node['some']['attribute'] = 'B::dothis.rb' 
+0

謝謝Tejay。這是否意味着通過包含來自食譜B的任何食譜來設置食譜A在食譜A中的任何食譜之前的屬性,該方法將正常工作? – 2014-12-01 21:43:16

+0

它應該,而且順序實際上並不重要。來自所有食譜的屬性文件在任何食譜的食譜之前執行。 – 2014-12-02 15:00:59