2016-04-12 2 views
0

Я хотел бы получить доступ к исходному списку запуска в рецепте шеф-повара при выполнении переопределения. Есть ли доступный объект для этого? Прямо сейчас я получаю:Доступ к исходному списку запуска в рецепте

[2016-04-12T20:14:27+00:00] WARN: Run List override has been provided. 
[2016-04-12T20:14:27+00:00] WARN: Original Run List: [role[foo], role[bar]] 
[2016-04-12T20:14:27+00:00] WARN: Overridden Run List: [recipe[baz]] 

В рецепте [Баз] Я хотел бы знать, что роль [Foo] находится в списке запуска по умолчанию узла.

что-то похожее на это:

if node.original_runlist.includes?('role[foo]') 
    do_something 
else 
    do_something_else 

Спасибо!

ответ

0

Большинство атрибутов задано Ohai в начале шеф-повара.
Вы можете попытаться запустить ohai в качестве первой команды в своих поваренных книгах и получить выход, чтобы получить полный список основных атрибутов Ohai.
Но так или иначе, следующие рецепты должны быть доступны из рецептов:
node['recipes'] Список рецептов, связанных с узлом (и частью этого списка). node['roles'] Список ролей, связанных с узлом (и частью этого списка команд ).
Подробнее here

+0

vvchik, благодарю вас за ответ. Я действительно просмотрел код и обнаружил, что клиент выполняет node.primary_runlist. Это дает мне то, что я искал. – john

0

Как уже отмечалось в комментарии выше, я нашел node.primary_runlist. В случае, если кому-то интересны:

run_list = node.primary_runlist 
if run_list.includes?('role[foo]') 
    do_something 
else 
    do_something_else 
end 
Смежные вопросы