在 Chef 搜索中将 NOT 与其他查询结合没有返回任何结果?

在 Chef 搜索中将 NOT 与其他查询结合没有返回任何结果?

我在使用 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'

没运气。我该如何搜索缺少特定角色或处于特定环境中的实例?我是否只能进行两次单独的搜索并合并结果?

相关内容