我在检查某些节点数据的配方中有一个条件:
if node[:etc][:group].has_key?('someuser') and node[:etc][:group][:someuser][:gid] == 12345
# do something...
else
# do something else...
end
我曾经knife node edit hostname.mydomain.com
将此数据添加到我的节点对象中,如下所示
$ knife node show hostname.mydomain.com -m
Node Name: hostname.mydomain.com
Environment: ...
FQDN: hostname.mydomain.com
IP: ...
Run List: ...
Roles: ...
Recipes: ...
Platform: ...
Tags: ...
Attributes:..
etc:
group:
someuser:
gid: 12345
members:
tags: ...
但是,else
正在执行该子句而不是该if
子句。我检查了这是在节点上运行的配方的版本(查看下载到节点的配方)。我以为我已经正确设置了我的节点来执行该if
子句,那么为什么该else
子句正在执行?谢谢。