我有一个从厨师搜索返回的节点列表,它将用于创建配置文件。需要订购这些节点,因为
答案 0 :(得分:6)
要创建按属性排序的节点列表,您可以执行以下操作:按节点名称对节点进行排序:
nodes = search(:node, "fqdn:*")
nodes.sort_by!{ |n| n[:fqdn] }
要返回仅包含这些属性的列表,可以使用以下内容进行扩展:
nodes.map!{ |n| n[:fqdn] }
在更新版本的Chef上,:filter_result
可用于仅获取将要使用的节点属性:
nodes = search(:node, "fqdn:*", filter_result: { fqdn: [:fqdn] })
nodes.map! { |node| node[:fqdn] }
nodes.sort!