2
我有一個從廚師搜索返回的節點列表,它將用於創建配置文件。這些節點需要訂購,因爲如何從廚師搜索中排序節點?
- 該軟件的配置文件是需要這些節點是爲了
- 廚師並不總是返回節點以相同的順序,因此該文件將每次被改寫即使配置保持不變,廚師仍可以運行。
我有一個從廚師搜索返回的節點列表,它將用於創建配置文件。這些節點需要訂購,因爲如何從廚師搜索中排序節點?
要創建的屬性來分類的節點列表,你會做這樣的事情,它通過其域名對節點排序:
nodes = search(:node, "fqdn:*")
nodes.sort_by!{ |n| n[:fqdn] }
只返回這些屬性的列表,這可能與擴展:
nodes.map!{ |n| n[:fqdn] }
在較新版本的廚師,:filter_result
可用於僅提取將要使用的節點屬性:
nodes = search(:node, "fqdn:*", filter_result: { fqdn: [:fqdn] })
nodes.map! { |node| node[:fqdn] }
nodes.sort!
使用filter_result會比nodes.map更好,因爲它可以節省帶寬。 –
#2是一個非常常見的廚師反模式,可以導致大量不必要的服務啓動。 –