Я пытаюсь «очистить» свой рецепт Chef для установки агента Zabbix, я знаю, что их там миллион, но это мой тестовый пример для моего понимания. У меня есть инструкции Chef, разделенные на класс и отдельные методы для каждого шага, который необходимо выполнить. Я поместил класс в файл рецепта. Итак, когда я выполняю рецепт, ссылка на него на GitHub, Я получаю эту ошибку:
NoMethodError
-------------
undefined method `execute' for #<Class:0x000000030e42c0>::Recipe_Zabbix_Agent_Unix
Я ни в коем случае не гуру Ruby, поэтому я подумал про себя, держу пари, что этот класс «отделяет» себя от наследования Chef, поэтому мне нужно, чтобы класс наследовал библиотеки Chef, используя <
вещь. Тем не менее, я все еще получаю эту ошибку, указанную выше. Что я упускаю или не понимаю, когда пытаюсь это сделать? Я видел, как люди пишут библиотеку, которая в основном представляет собой просто скрипт Ruby, затем рецепт включает скрипт и выполняет там функции, но я хотел, чтобы он содержался только в рецепте для моего простого понимания. Возможно ли это или это единственный вариант, который я рассматриваю для маршрута библиотеки? Я также запускаю это на Chef 10.24.
execute = Chef::Resource::Execute.new(command)
- person sethvargo   schedule 01.03.2014execute.run
или что-то подобное ?? - person vikingsteve   schedule 23.08.2016