Mat*_*tej 8 chef-infra chef-recipe
如何在Chef recipe(ruby)中获取节点搜索返回的IP地址.
dbnodes = search(:node, "role:Db")
Chef::Log.info(dbnodes.first["ipaddress"]) # nil
Run Code Online (Sandbox Code Playgroud)
几周前,这段代码从搜索API返回了第一个IP的IP.
版本:厨师:10.14.2
我猜你是Ruby的新手.如果是的话,欢迎!
Chef search()函数返回一个Chef节点数组,您将使用该first方法获取此数组的头部.要访问其他节点的IP地址,请使用常规数组运算符:
dbnodes = search(:node, "role:Db")
dbnodes.each do |node|
Chef::Log.info("#{node["name"]} has IP address #{node["ipaddress"]}")
end
Run Code Online (Sandbox Code Playgroud)
这应该为您提供所需的信息.