我在使用 Chef 搜索时遇到了一些非常奇怪的问题。我想找到无法正确启动的实例,我使用两种方法来检测这种情况:默认环境中的实例_default
,以及缺少我应用的角色的实例全部托管实例。role[base]
目前我有一个失败的实例,它不在role[base]
:
$ knife search "NOT role:base"
1 items found
所以肯定有一个节点符合我的某个标准。但如果我尝试查找符合条件的实例任何一个我的标准,它不起作用 - 我没有得到任何结果:
$ knife search "environment:_default OR NOT role:base"
0 items found
$ knife search "(environment:_default OR NOT role:base)"
0 items found
$ knife search "(environment:_default) OR (NOT role:base)"
0 items found
好的,手册上说AND
和 的结合可能存在问题NOT
,那么 可能也存在问题OR
?
$ knife search "(environment:_default OR -role:base)"
0 items found
不。也许是命令?
$ knife search "(NOT role:base OR environment:_default)"
ERROR: knife search failed: invalid search query: '(NOT role:base OR environment:_default)'
$ knife search "NOT role:base OR environment:_default"
ERROR: knife search failed: invalid search query: 'NOT role:base OR environment:_default'
没运气。我该如何搜索缺少特定角色或处于特定环境中的实例?我是否只能进行两次单独的搜索并合并结果?