Поиск Knife возвращает устаревшие данные, пока не запустится chef-client. Можно ли этого избежать?

Пример: devjmxpx03 / 4 - это уже существующие узлы с примененной к ним ролью jmx-proxy-service-tmbveg1. После применения роли к новому узлу (devjmxpx05) новый узел не сразу становится доступным для поиска.

[~/chef/roles/jmx-proxy-service]$ knife search roles:jmx-proxy-service-tmbveg1 -i
2 items found

devjmxpx03
devjmxpx04

Как только chef-client запускается на devjmxpx05, он, как и ожидалось, появляется в результатах поиска.

Есть ли способ обойти такое поведение, чтобы узел отображался при поиске ролей, как только роль будет применена? Возможно, какие-то дополнительные параметры поиска?

Мы запускаем Chef server v 11.0.8.


person Travis Bear    schedule 08.12.2016    source источник


Ответы (1)


При поиске есть разница между role и roles. Это описано в документации по поиску. Просто имейте в виду, что использование roles будет выглядеть в развернутом run_list, role не будет (это также описано в документе).

Так что вы, вероятно, захотите использовать role, если он находится в списке выполнения верхнего уровня. Я думаю, что это работало так же в 11.x.

person Szymon Szypulski    schedule 09.12.2016
comment
При поиске используется индекс solr по атрибуту узла, который не будет обновляться, если запуск не завершит IIRC. - person Tensibai; 09.12.2016
comment
То же самое сказано в 11.0 doc , поэтому он должен работать, если это роль верхнего уровня (в течение нескольких минут после обновления, время для индексации изменения) - person Tensibai; 09.12.2016