2012-11-27 24 views

回答

4

你可以使用刀轻松完成这一点(刀是你的朋友!)。

让所有的节点列表:

knife node list 

要获得在特定的环境所有节点的列表:

knife node list --environment <ENVIRONMENT> 

在手的节点列表,

knife node show <NODE_ID> 

刀节点显示,将显示:那么你可以使用显示一个节点的详细信息

Node Name: 
Environment: 
FQDN:   
IP:   
Run List:  
Roles:  
Recipes:  
Platform:  
Tags: 

食谱:线是已被施加到节点食谱的列表。

使用刀搜索您可以搜索符合特定条件的一组节点。使用它,你可以找到适用或不适用特定配方的节点。

0

如果你指配方里面,你可以使用search,例如

ruby_nodes = search(:node, "recipes:ruby_build") 

为了实现你的实际问题,你可以这样做:

['192.168.1.2'].include?(ruby_nodes.map{|node| node[:ipaddress]}) 
4

我怀疑你”重新寻找这样的东西:

knife search node "recipes:<recipe_name>" 

这将适用于显式r un列表以及扩展(隐式)运行列表。

有上刀搜索更详细的文档在这里:

http://docs.opscode.com/knife_search.html

相关问题