как выполнить задачу на основе роли узла в шеф-поваре - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь выполнить рецепт, который проверяет среду и роль шеф-повара:

Пример рецепта:

if (node.chef_environment == "dev" && node.role?('api'))

    bash "Restarting service" do
      code <<-EOF
            #Codeblock
      EOF
    end
end

if (node.chef_environment == "dev" && node.role?('web'))

    bash "Restarting service" do
      code <<-EOF
            #Codeblock
      EOF
    end
end

Но во время выполнения мой блок кода не работает.

Я пробовал условие "node [" role "]. Include? (" Api ")" @coderanger, но не работает. Вот следующие журналы отладки:
2018-05-04T08: 50: 26 + 00: 00] ОТЛАДКА: Загрузка ресурсов поваренной книги service_file из /etc/chef/chef-cache/cache/cookbooks/service_file/resources/default.rb
[2018-05-04T08: 50: 26 + 00: 00] DEBUG: загруженное содержимое /etc/chef/chef-cache/cache/cookbooks/service_file/resources/default.rb в файл service_file (пользовательский файл service_file из поваренной книги service_file) )
[2018-05-04T08: 50: 26 + 00: 00] ОТЛАДКА: Загрузка рецепта service_file :: service_restart с помощью include_recipe
[2018-05-04T08: 50: 26 + 00: 00] ОТЛАДКА: нашел рецепт service_restart_plugin в поваренной книге service_file
Конвергенция 0 ресурсов
[2018-05-04T08: 50: 26 + 00: 00] DEBUG: сходящийся узел ip-xx.xx.xx.xx
[2018-05-04T08: 50: 26 + 00: 00] ПРЕДУПРЕЖДЕНИЕ. Пропуск последнего сохранения узла, поскольку задан override_runlist
[2018-05-04T08: 50: 26 + 00: 00] ИНФОРМАЦИЯ: Выполнение шеф-повара завершено за 0,161187151 секунду
[2018-05-04T08: 50: 26 + 00: 00] ИНФОРМАЦИЯ: Пропуск удаления неиспользуемых файлов из кэша

Запуск обработчиков:
[2018-05-04T08: 50: 26 + 00: 00] ИНФОРМАЦИЯ: Запуск обработчиков отчетов
Выполнение обработчиков завершено

...