Какую команду можно использовать для извлечения кулинарных книг для текущего списка выполнения через chef-client в системе * UNIX? - PullRequest
0 голосов
/ 23 октября 2019

Env:

chef-client --version
Chef: 14.3.37

Описание:

Chef-клиент был запущен с помощью следующей команды

chef-client -c <file.rb> -j <file.json> -E <env> 2>&1 > file.log

После выполнения file.log содержит следующую строкуо списке разрешенных поваренных книг для текущего запуска:

[time] INFO: Loading cookbooks [a@1.1.1, b@1.1.1, c@1.1.1, d@1.1.1, e@1.1.1]

Вопрос:

С помощью какой команды для chef-client (не knife!) я мог бы извлечь такой список поваренных книг с версиями?

PS:

Парсинг логов не очень хорошая идея, это первый.
Нет способа настроить knife - секунда.

Ответы [ 2 ]

1 голос
/ 31 октября 2019

Я бы предложил написать рецепт, который сохраняет всю необходимую информацию в некотором файле в требуемом формате, и включить этот рецепт в список выполнения. Затем каждый раз, когда запускается Chef-клиент, он обновляет файл.

Как указал г-н, расширенный список запуска можно взять из атрибутов узла ['recipes'], поэтому его очень легкоизвлечь необходимую информацию.

1 голос
/ 24 октября 2019

, если вы хотите получить доступ к расширенному рабочему списку рецептов, используйте node['recipes'].

, если вас интересуют роли узла, используйте node['roles']

, отметьте, что это узелАтрибуты, что означает, что вы можете обращаться к ним так же, как и к любому другому атрибуту узла.

...