Назад | Перейти на главную страницу

Объединение NOT с другими запросами в поиске Chef не дает результатов?

У меня очень странные проблемы с поиском 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'

Не повезло. Как я могу найти экземпляры, в которых отсутствует определенная роль или которые находятся в определенной среде? Я застрял в том, чтобы выполнять два отдельных поиска и объединять результаты?